
If anyone wants to understand fundamentals of machine learning, one of the superb resources I have found is, Stanford's "Probability for computer scientists"[1].
It goes into theoretical underpinnings of probability theory and ML, IMO better than any other course I have seen. But, this is a primarily a probability course that discusses the fundamentals of machine learning. (Yeah, Andrew Ng is legendary, but his course demands some mathematical familiarity with linear algebra topics)
There is a course reader for CS109 [2]. You can download pdf version of this. Caltech's learning from data was really good too, if someone is looking for theoretical understanding of ML topics [3].
There is also book for excellent caltech course[4].
Also, neural networks zero to hero is for understanding how neural networks are built from ground up [5].
[1] https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
[2] https://chrispiech.github.io/probabilityForComputerScientist...
[3] https://work.caltech.edu/telecourse
[4] https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
[5] https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
— The Master Algorithm by Pedro Domingos
— The Book of Why by Judea Pearl
— What Computers Still Can't Do by Hubert L. Dreyfus
— Society of Mind & The Emotion Machine by Marvin Minsky
— The Feeling Of What Happens by Antonio Damasio
— Language & Mind by Noam Chomsky
— A great mooc is also, the "Learning From Data" Telecourse from Caltech https://work.caltech.edu/telecourse
[1]: https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
[2]: https://amlbook.com/
I adore PRML, but the scope and depth is overwhelming. LfD encapsulates a number of really core principles in a simple text. The companion course is outstanding and available on EdX.
The tradeoff is that LfD doesn't cover a lot of breath in terms of looking at specific algorithms, but your other texts will do a better job there.
My second recommendation is to read the documentation for Scikit.Learn. It's amazingly instructive and a practical guide to doing ML in practice.
Now, NNs are the ones getting results at computer vision and natural language, and more. I think most people would say that other ML approaches are computational statistics. The goalpost for AI keeps moving.
If you are truly interested in the math of AI I think PAC Bayes learning is more appropriate and your book is Understanding Machine Learning [1] (not an easy read). A more gentle intro would be Learning From Data [2]. If someone recommends a book/paper it would be awesome, I'm always on the look.
[1] https://www.cs.huji.ac.il/w~shais/UnderstandingMachineLearni... [2] https://work.caltech.edu/telecourse
As somebody who didn't study CS in college, the books that most changed my career were:
* Algorithms, by Robert Sedgwick (probably not the best algorithms book, but lots of hands-on stuff)
* Learning From Data, by Yaser S. Abu-Mostafa et. al. This one has video lectures to go along with it.
* C Programming: A Modern Approach. (Definitely not the best, but also lots of hands on stuff)
Another thing I've found extremely educational is to read major incident postmortems (SEV0s and security SEV1s at FB, "huge" OMGs at Google). If you ever find yourself anywhere with planet-scale infrastructure, make sure to read these write-ups. They are treasure.