Hello student
Yes you can do it
.
To have a basic mathematical background, you need to have some knowledge of the following mathematical concepts:
- Probability and statistics
- Linear algebra
- Optimization
- Multivariable calculus
- Functional analysis (not essential)
- First-order logic (not essential)
You can find some reasonable material on most of these by searching for "<topic> lecture notes" on Google. Usually, you'll find good lecture notes compiled by some professor teaching that course. The first few results should give you a good set to choose from.
Skim through these. You don't need to go through them in a lot of detail. You can come back to studying the math as and when required while learning ML.
Once you're somewhat comfortable with basic math, you can start with some online course or one of the standard books on ML. Andrew Ng's course on Coursera is a good starting point. An advanced version of the course is available on The Open Academy (Machine Learning | The Open Academy). The standard books that I have some experience with are the following:
Pattern Recognition and Machine Learning: Christopher Bishop
Machine Learning: A Probabilistic Perspective: Kevin P. Murphy
While Murphy's book is more current and is more elaborate, I find Bishop to be more accessible for beginners. You can choose one of them according to your level.
At this point, you should have a working knowledge of machine learning. Beyond this, if you're interested in a particular topic, look for specific online resources on the topic, read seminal papers in the subfield, try finding some simpler problems and implement them.
Importantly, there are a lot of algorithms/paradigms in machine learning. While you should have some understanding of these, it is equally important to have the basic intuition of machine learning - concepts of bias-variance tradeoff, overfitting, regularization, duality, etc. These concepts are often used in most or all of machine learning, in some form or the other.
Finally, it is important to implement some basic algorithms when you start doing ML, like gradient descent, AdaBoost, decision trees, etc. You should also have some experience with data preprocessing, normalization, etc. Once you have implemented a few algorithms from scratch, for other algorithms, you should use the standard implementations (like LibSVM, Weka, ScikitLearn, etc) on some toy problems, and get a good understanding of different algorithms.
Happy learning
Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile