How do I start learning AI as a self-learner and develop a basic program? What are the best available free resources?
A lot of approaches to learning AI tell you to rigorously cover first, typically 5–6 topics of “basics” or “prerequisites” that often include complicated graduate-level mathematics and statistics.
I do not hold that view because that is not what I did.
Look, you cannot avoid mathematics. But you can surely choose when to expose yourself to it.
As long as you’ve done high school mathematics, and don’t let anybody tell you otherwise, you’re good to go.
Not to be hypocritical but I do, most certainly, have some prerequisites that on hindsight, I wish I would have gone through myself before starting my self-learning process. There are just two that come to mind.
I share them below:
- Matrix Multiplications: Chances are, almost any material or book or online course you take up, is going to be assuming that you’re 100% clear on matrix multiplications. And though things might be easier to comprehend in the beginning, those do tend to get a little difficult to follow as you head to Artificial Neural Networks. Also, the knowledge of matrix multiplications allows you to seriously cut down on your AI program runtime by substituting loops with vectorisation. If you want to pursue ML and be successful at it, your algorithms need to scale and for that vectorisation is absolutely critical for you to know and follow. Here’s a quick read that’ll be helpful: http://cs229.stanford.edu/sectio...
- Python: There has to be a reason somewhere if all the major players are drifting to Python for every programming need. Besides it being the most intuitive and beginner-friendly language I’ve ever seen, almost any course you take on Machine Learning is sure to be taught in Python. Play around with Python’s libraries like NumPy, Pandas, SciPy. These are what you’ll be using initially. You can master the other libraries as you go. The basic idea is just to get acquainted to it. It’s going to be your best friend for a long long time. Once you’re comfortable with Python to a certain degree, go over this article that explains vectorisation: Machine Learning Explained: Vectorization and matrix operations — Enhance Data Science
Also, before we go any further, I need to tell you that you’ve made a very brave and very wise decision of going the old fashioned “self-learning” way. Because in the end, education is a business and there are thousands of coaching institutions jumping about with a pamphlet with their different versions of “The Complete AI/ML course” and the likes for an utter outrageous sum of money. It is not worth it.
That being said, I need you to right away start this gem of a course: Machine Learning | Eduonix because nothing teaches like actually doing.
I’ll be brief about what the course covers and where it will leave you.
The course is an introductory course and will introduce to you the world of AI in the best possible manner. The course requires you to complete programming exercises on MATLAB/Octave as well so some hands-on practice straight away so that you can develop basic programs and algorithms that would do worlds of good. I understand I asked you to go over Python and now dabbling with a new language might seem like redundancy but don’t worry you don’t have to go over MATLAB on you own. MATLAB or Octave, the course guides you with the syntax all through until you develop familiarity with it. And needless to say, those languages are very easy to pick up too. And hey! it’s one more language in your skillset so that’s there too.
A good practice after this course would be to go over any mathematically difficult concepts that you encountered in the course. PCA, Backpropagation, Eigen Vectors etc. It is important to understand these fundamentals moving forward.
Since these algorithms are implemented in MATLAB, I would recommend that you try to make sure you can replicate the algorithm in Python as well.
That would be great hands-on practice because the next step from now is the hottest buzz in the world which is Deep Learning.
There are a couple of ways to go about this. You can do a google search and take up any course that appeals to you but I took the subsequent specialisation (a set of courses on Coursera focused on a particular subject) by the same instructor, Andrew Ng, and was extremely happy with the content and more importantly, with how it opened my mind and added value to me. Link: Deep Learning | Coursera. This is not free, but it is worth it and there is always financial aid available that will get you free access. Financial aids are 100% approved for Coursera if you have a compelling case to make.
After completing these set of courses, I recommend that you make a Kaggle account, download any dataset that appeals to you from their list of datasets and practice data cleaning since clean and structured data is the one thing that you’ve been getting in your hands this entire time. Kaggle already provides help with preprocessing and data handling so that should come in really handy too.
Guiding you after this point is meaningless because by this time you’ve already had quite a bit of exposure to the field. You can do Kaggle competitions or take on projects.
But just keep doing and doing and doing. That’s the key to AI, and literally to achieving anything substantial and lasting: Do.