There are a few questions in the forums about what and where to learn Machine Learning(ML). The overview of this course also suggests some information during the last week of lectures. Since a lot of people look perplexed(including myself), I am trying tocreate a list of what to know in order to get good at ML. For the purpose of this discussion, I split knowledge required into three levels
- Beginner - knowing what ML is
- Intermediate - working on ML
- Advanced - living with ML
Common causes for learning ML
- Beginner - just curious, my boss/friend/GF/somebody asked to take it
- Intermediate - supporting a course at college, getting a job
- Advanced - data scientist, research
Knowledge level required
Beginner
- Basic knowledge of algebra and probability
- Good understanding of English
If the following terms sound familiar, then you are in good shape
algebra, solving equations, matrices, determinant, 2D plotting, graphs, polynomials
Intermediate
- Solid grounding in basic algebra and linear algebra
- Basic knowledge of calculus, probability and statistics
- Basic programming knowledge
If the following terms sound familiar, then you are in good shape
eigen vectors,derivatives, binomial distribution, conditional probability, inequalities, regression, vector algebra, dot product
Advanced
Thorough knowledge in
- Linear algebra
- Statistics
- Probability
- Calculus - single and multi-variable and differential equations
- Linear and convex optimization
- Good programming knowledge with a programming language and a ML library
If the following terms sound familiar, then you are wasting your time reading this post
continuous random variables, prior and posterior distributions, hyper planes, t-distribution, hessian matrix,directed acylic graphs, Markov process, quasi convex functions, Chebyshev and Chernoff bounds, non-Euclidean space, mapreduce
Courses/Books
Beginner
Any course and any book would suffice. Andrew's course at Coursera is my preferred choice.
Intermediate
Andrew's course at Coursera and Yaser's course at Caltech. Plus a lot of programming with data. This would give a good insight into both theory and practice. Learning from Data provides a good introduction to fundamentals.
Advanced
In addition to the above,
- Andrew's course at SEE. This covers a lot of other topics
- All courses on Linear Systems and Optimization at SEE
- Pattern Recognition and Machine Learning by Christopher Bishop. Just master it.
- A lot of data analysis from varied data sources. Would take real time
I have taken the third option and my estimated to get good at it is from 3 -5 years.
More information on the above topic is welcome since I haven't described the exact areas to get good at.
-----------------------------------------------
另附上爱荷华州立大学的ml课程(全美计算机排名61)http://www.cs.iastate.edu/~cs573x/studyguide.html