10 years exp in Java.How to approach learning machine learning



I have 10 years experience in Java.I want to learn and work Machine learning.
How to approach learning Machine learning?.What are the Maths to study before and how long this would take?


The mathematics involved depends on the level at which the subject is taught. For Ng’s Coursera course, even conceptual ideas of matrices, (partial) differentiation and basic stats would be enough. However, if you were to follow along with his actual class videos (or any university-level course aimed at CS students), you would do well with a thorough grounding in linear algebra, single- and multi-variable calculus (as applicable for engineers :wink: ) and basic statistics. For instance, in the Stanford class some of the homework problems require you to prove identities involving matrices.



A few things too add to what @anon has already mentioned:

  1. Since you have a lot of experience in Java, stay on it. You can use Mahout library to do machine learning in Java ecosystem itself. Once you know the concepts well, you can always pick up other languages (if need be).

  2. Focus on doing projects and getting your hands dirty. Instead of relying on a lot of MOOCs, which spend time upfront explaining the science behind each algorithm, you can always implement it first using Google’s help and understand the functioning in parallel.

  3. Focus on understanding the concept and what is happening at the back end. You don’t need to really understand the theoratical maths in great detail to start with. Once you can implement algorithms and have a fair understanding of their working, you can always read about the detailed mathematics behind them at a later point.

Typically, getting up to speed with your experience should only take a few months. Understanding the maths behind can (and will probably) take longer.

Hope this helps.



Hi Kunal,
Thanks a lot for your explanation.I would like to know which of the following courses works best for me as I am interested in Machine learning and I am a beginner.
For nanodegree instead of paying I am planning to take the free courses on offer.



Hi @sivaramom

the edx course has a good reputation and gives a very good overview of the various methods. Good balance between the fundamental and then application.
An other one I advise but more one math side if the coursera bu Andrew NG … if you are no afraid of derivatives and wants to get some concepts in details this is the one.
Learn well :slightly_smiling: