This is one of the best explanations of an ML topic that I've read in a long time. It strikes a great balance of being approachable for non-experts and being in-depth enough to give a reader a feeling that they understand how things work.
There's the grad student from STanford who describes ML and NNs using circuits and a"forces" analogy which may be useful for CS folks. I found it illuminating.