Made your mind towards machine learning but are confused so much that where to get started. I faced the same confusion that what should be a good start? Should I learn Python, or go for R? Mathematics was always a scary part for me and I was always worried that from where should I learn math? I was also worried that how should I get a strong basis for Machine Learning. Anyways you should be congratulated that at least you have made your mind.
In this article, I will tell you some basic steps and courses you should take before starting practical machine learning.
Is Mathematics 1st step for Machine Learning?
1st Step for Machine Learning ( Basic Programming)
The very 1st step is that you should learn programming and most probably Python. If you have never written a single line of code I will recommend you is CS50 by Harvard University, the best course for beginners in programming, it will teach you from scratch till all the C Language and a lot of Python and JavaScript with basics of SQL and JSON. This very exciting course is free at edx.org and you can find it here. Read an article about cs50 here
If you want to take start directly from Python then I’ll recommend you to take MIT’s Introduction to Computer Science with Python available on edx for free. Notice that high school algebra is a prereq for this course because they will make you solve a lot of mathematical real-world problems.
If you feel that your computational logic is not good and you are not a good problem solver in programming, I’ll recommend this course by Microsoft which is all related to Computational Thinking available on edx all for free. This course is really cool and teaches a lot of computational logic and critical thinking.
If you are good enough with the basics of programming but have no knowledge of object-oriented programming, then I recommend you to learn Object-Oriented Programming. Though it is not used a lot in machine learning(basic level) but certainly it helps a lot. I will suggest this course which teaches you the basics of oop and algorithms in python. You can find this course for free at edx.org.
The next step is familiarity with data structures and algorithms. A good programmer must know some basic algorithms like a linked list, binary trees, etc. This course Microsoft will teach you
This course is available for free at edx.org.
If you want to go deep in Data Structures and Algorithms, UC San Diego’s specialization is a masterpiece. It has 6 courses and will take you from 0 to hero level in data structures and algorithms. You can click on each course and audit its material for free but if you want the certificate, its price is 50$/month, depends on you that how early you can complete it. Find this specialization in Coursera.org or click here.
2nd Step For Machine Learning
Yes, you guessed it right, the most dangerous part for most of the beginners, MATHEMATICS.
But don’t worry , it isn’t that difficult as we think of it and if you think you have good basics of high school math(vectors, matrices, calculus, probability, and stats) you can simply just take a refresher course but if you think you are not good enough then the best place for anyone to learn math is KHAN ACADEMY. The amount of content is so rich and helpful at khan academy and everything is available for free. You can find all linear algebra, probability and stats, and multivariable calculus courses there.
Another good course is Math for machine learning specialization from coursera by Imperial College London. It is a great course that teaches basics and revises concepts but does not dive too deep. Exercises and quizzes are quite challenging. It has 3 courses on it.
MIT has a great course on Statistics which teaches
It is available for free on edx.org.
If you want to learn math while coding, Microsoft has a really good course “Essential Math for Machine Learning: Python Edition”. This is an interactive course that teaches math graphically using python’s famous libraries Numpy, pandas, matplotlib which are prereq of this course. Find this course at edx.org for free.
Udacity has 3 great free courses in Statistics.
You can also learn math alongside learning practical machine learning, encountered with a thing you don’t know, just search on khan academy or YouTube has 100s of good video on that topic.
3rd Step for Machine Learning
So now you are comfortable with linear algebra, multivariable calculus and statistics so now you need to learn Python’s famous data visualization libraries which are Numpy, Pandas, Matplotlib, Scipy which helps you analyze any kind of data and manipulate it and see it graphically. Of course, there are a lot more data visualization libraries but these are the most important one. Implement your concepts of Linear Algebra and Calculus graphically and visualize them.
One of the masterpieces in this regard is Statistics with Python specialization by the University of Michigan which teaches data visualization and operations on it in detail. Of course available for free(click on each course to audit for free) on coursera.org.
Another course by the University of Michigan for beginners in data analysis is Introduction to Data Science in Python which teaches from the basics of numpy till pandas in a very good way. Available for free on coursera.org. The next part of this course is a game-changer. Named as Applied Plotting, Charting and Data Representation in Python and it teaches all the graphical visualization and its tips and techniques.
Another good course is “Python for Research” by Harvard which teaches these libraries along with some famous case studies and its final project is really exciting and teaches a lot of new things. Available for free on edx.org.
Another very comprehensive course is Python for Data Science by UC San Diego which teaches
Means this course will also teach you the basics of machine learning but more importantly, the data science libraries taught in this course. Available for free on edx.org (Don’t forget to read its prerequisites).
Step 4 Practical Machine Learning
So far you have learned linear algebra, multivariable calculus, probability and stats, and python alongside its data visualization libraries so now you are ready to jump on the most exciting part which is machine learning. 1st course can mean a lot. If it is not good he might just change the field because he simply did not like the course. So all the courses here are going to be highly qualified and before you start your 1st course in ML do some research on it.
This introductory course is not going to teach you machine learning but instead, it is going to give you an idea of what machine learning is, what is meant by machine learning terminology, what is AI strategy, its ethics. This course is going to give you an overview of what machine learning is and how it works and what is its workflow and how to build AI in your company. It gives you a good introduction and overview of AI. The course is taught by a very well known famous Machine Learning instructor Andrew Ng available for free on coursera.org.
Either you google it or see in any blog the first course everyone recommends is Machine Learning by Stanford University taught by Andrew NG and damn what a beautiful course it is. More then 2.5M students have been enrolled in this course and 200000+ students have rated it(4.9*). It teaches from very basic concepts to advanced concepts and it is a very comprehensive course for beginners. The total length of this course is 56+hours. Want to read a review of this course? Here you go. Another Review here. Here is another review of this course on Quora. Here is the list of contents in it.
The only problem (according to some people) is that it is taught in octave/Matlab but for me its no big deal, because it will clear all the basics and deep concepts of machine learning that implementing them in any other language, is not going to be any sort of problem plus Matlab is an additional skill. This course is available for free on Stanford’s official website(here) and coursera.org(here).
This course is a must-go for everyone like it is soo good that it can’t be explained.
After this course now you need to implement all the things you learned in python and go advanced beyond what you learned so specialization by deeplearning.ai on coursera by our own Andrew Ng, Kian Katanfrosh, and Younes Bensouda is also a must take. This specialization has 5 courses which are
Main skills you are going to gain are
Okay so now you have good grip on TensorFlow and machine learning and you might not like TensorFlow or you just want to test the famous contestant of TensorFlow which is PyTorch(by Facebook) so why not start this free deep learning course by Udacity offered by Facebook in collaboration with Amazon Web Services and part of Udacity’s famous deep learning Nano Degree worth 1400$.
Of course, this is just a start and there is a lot more to learn and discover but if you do these things hopefully you will get an idea of where you stand and what to do next.
Here are some recommendations.
Good Luck and have a good time learning how to make machines smarter.