Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as off-topic by Jim G., durron597, gnat, GlenH7, Snowman Aug 24 '15 at 23:52

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Jim G., durron597, gnat, GlenH7, Snowman
If this question can be reworded to fit the rules in the help center, please edit the question.

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
up vote 6 down vote accepted

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.

share|improve this answer

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.

share|improve this answer
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.