These are good open-source tutorials from Stanford University in machine learning and deep learning. Basic mathematics theory and algorithms are both included (Strongly suggest to read the derivation process carefully). Codes are written using matlab.

unsupervised and deep learning :
supervised learning : (There are also links to this note in the tutorial above.)

Richard Feynman

“everything that is living can be understood in terms of the jiggling and wiggling of atoms”.

and now, we want to watch atoms jiggling and wiggling.

X-rays, electrons, fluorescence light, the advances of photon sciences, together with computational modeling, are making this happen.