I am interested in taking this online course on machine learning. As it stands my math is very elementary, and I am basically learning math from scratch on khan academy. Programming-wise I have a decent amount of experience, and a good overall understanding. My question is, what math skills are required for me to be able to effectively understand and utilize machine learning?

  • I started the course as well. Its been a while since I did any Maths. There is an optional bit in the course about the linear algebra. Its fairly well explained, but the notation can be a bit confusing. You can rewind the videos though, which helps. – wobbily_col Jun 27 '14 at 12:50

That course is specifically designed to be accessible to folks without 'much' math background. Of course 'much' is a relative term. In this case it means 'knowledge of calculus is helpful but not required'. The course does use some results from differential calculus, but you can answer the quizzes and complete the programs without knowing calculus yourself. You just won't understand where some of the formula you have to implement are coming from.

You absolutely will need to be comfortable with basic linear algebra (manipulating vectors and matrices) and working with logarithmic and exponential functions.


You'll need to know Linear Algebra through Eigenvectors if you want things to be "easy". Also a good statistical background with strong emphasis on Regression, Clustering, and Baye's Theorem. Knowing something about gradients doesn't hurt either. As with any CS, graph theory is helpful as well.

Obviously the course can be taken with only the most basic prerequisites but I'd recommend a thorough understanding of the underlying material beforehand anyway.

  • Is 'gradient descent' covered under Calculus, or linear algebra? – Click Upvote Oct 13 '15 at 19:22
  • Technically both but they typically get covered as a part of Calculus or a "Math for CS" course. – World Engineer Oct 13 '15 at 20:47

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