Honestly, I learn from blogs, videos, and book chapters. I can tell you I go piece by piece. Obviously I’ve learned Python, Numpy and Pandas at first. I needed these tools. Then sequentially, from k-NN to Cross Validation to Convolutional Neural Networks, from simple to difficult algorithms I learn by:
*First, watching videos,
*Again, videos plus blog posts to learn the logic of the math,
*Checking implementation with Scikit-Learn/Neural Network Library,
*Delving blogs and books for better understanding of the math,
*Implementing the algorithm on pure NumPy(or pure math library, not others except may be Pandas or library to load images)
**Last one is very crucial, when you implement it, you’re at the best stage of learning.
In the meantime, if I want to learn the algorithm in a very detailed way, I go through all steps of this path. Not every algorithm require such a workload, so you do not need to process every step. I, actually, don’t need to learn every algorithm in detail. But in general, if I don’t know where to stop learning an algorithm, and if I have to learn, I do all of these * marks. Of course I do not have a note or something in this order I have to follow this, but, one of the followers from my Youtube channel asked me how I learn the algorithms. Inevitably, this is the way. If you want to understand the mathematics better, if videos are short and not very intense(as it is the case for most of the time). I have to look at Google. It bring me to the blogs. If I’m going to work on and code very complex algorithm with only math library, I’m referring to Github.