I am a beginner in machine learning and I already have a good linear algebra/calculus background.

I am interested in being able to eventually understand and implement convolutional neural networks, feature-based classifiers, and boosting algorithms. Where should I start, and what steps should I take to reach my goal?

Thanks in advance.


closed as primarily opinion-based by Juho, David Richerby, xskxzr, Evil, Discrete lizard Jun 29 at 19:25

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ Just jump in and fill gaps in your background knowledge when you find them. If you try to learn all the prerequisites first, you'll just end up in a never-ending rabbit-hole of learning the prerequisites to the prerequisites to the prerequisites to the prerequisites. $\endgroup$ – David Richerby Jun 25 at 13:58

First I'll say, because you didn't mention it, that you also need a strong probability and statistics background.

A good place to start with CNNs is (in my opinion) the highly praised Stanford course:

If you are looking for more practical stuff (and on more than just CNNs), there are many guides for different machine learning models in Kaggle, where you can also join challenges which you can learn a lot from.

If you are interested in theory, this book might help - but might also be difficult without a strong statistical background:
(the book is free to download from there)

  • $\begingroup$ Advice taken, thank you so much! $\endgroup$ – Matthew Yang Jun 27 at 14:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.