The internet is full of courses and MOOCs in AI. Every university is rushing out to promote their online courses and you are lost in a sea of courses.
I encountered the same problem when starting to learn Machine Learning. Some of the courses dived deep into mathematics and some of them were very high level courses and did not really give any added value. This prompted me to create a small Machine learning curriculum for myself that I felt like sharing with everyone.
Machine Learning courses
Machine learning knowledge exists in the crossroads of programming, linear algebra and statistics. To get started with machine learning you have to know a little bit from each three fields. I have assembled a set of courses to build up your prequisite knowledge before diving into Machine Learning. I’m mostly focused on courses in Coursera, which I have been using a lot lately and got a subscription for it as part of Qentinels personal improvement program. I’ve included links to free alternatives as well, but focus on the Coursera side. Paying for Coursera gives you nice certificates of completion for these courses and you can show off your knowledge to prospective employers by linking these to LinkedIn.
Coursera - course package
This package is divided into three parts according to the different fields of knowledge we are going to need, linear algebra, statistics and programming. After these three parts we will dive in to the machine learning part.
All in all this package will take approximately half a year to complete in the recommended time, but if you study more than the recommended amounts per week, it can be completed even faster. I recommend to start the mathematics, programming and statistics parts at the same time so you can switch between the courses when you feel stuck at one part.
The Imperial College London offers three courses that teach you all the linear algebra applicable for machine learning.
The first course on the list is Mathematics for Machine Learning: Linear algebra by Imperial College London. This course has been tailored to get you up to speed with Linear algebra concepts that you will need, such as matrices, vectors and eigenvectors.
The next course introduces you to multivariate calculus. Multivariate calculus is at the heart of Machine learning and forms the basis for techniques such as linear regression and training of neural networks.
The third course brings Principal Component Analysis (PCA) to the table and in the end teaches you a bit of python to get started and provides a link between the programming segment and mathematics segment of this package.
Some free courses on the subject:
MIT open courseware algebra
Statistics and probability
For this part I’ve chosen one course by Duke University. This course gets you up to speed with concepts of probability and lets you dive deeper into the concepts you already explored in the fundamentals of AI course. Also the tools used here, like Jupiter notebooks are tools that you will be actually using when you get into the actual ML work. For example Amazon Sagemager and IBM Watson uses Jupiter notebooks.
At the programming section I’m actually going to step outside of Coursera for a little while. There are many great programming tutorials in the web that you can find out, but one site that I have been introducing to people who have never programmed before with decent success is codecademy. We are going to start our python programming package in codecademy and then jump back to Coursera.
The first course is the Learn python course from codecademy. Codecademy has an interactive editor built into the site which is one of its great strengths and also one of its weaknesses. You can learn basics really fast in this environment and as such its perfect for learning the basics, but after this we are going to jump back to Coursera and the machine learning context.
The next course is again a courser course by University of Michigan. This course is their prequisite course for their whole machine learning in python program, but for now we are only going to do the introduction course. If you want you can continue through the other courses that they offer, but I’m only including this course here and then jumping to Stanfords machine learning courses.
This is the actual thing you wanted to learn. After you have gone through the prequisite knowledge you have prodded around linear algebra, statistics and programming and you have even implemented some bits and pieces of machine learning, even though you might not have noticed it. In this part I will point you to a course held by Andrew Ng in Stanford university, who is one of the leading minds in machine learning and its education.
This is an introductory course to machine learning and has a slight overlap on the courses you completed previously. This overlap is mainly on the mathematics and basic programming side, so it enables you to better focus on just the machine learning part. This course is held as one of the world's best in machine learning and by completing this course you can’t go wrong. It is also free for everyone and does not need a subscription.
This course package is what I consider to be the basic package for machine learning in coursera. After the introductory course you can dive into the different specialized courses on machine learning. One great example is the Deep Learning specialization, which is a course package by deeplearning.ai, a company founded by Andrew Ng. This package is also available in Coursera.
This concludes our recommendations for learning Machine learning and AI. I'm certain that when you complete these courses you are ready for entry level positions in the ML field and you have a great basic skillset upon which to grow.
If you have completed these courses and are interested in solving practical machine learning problems in the field of software testing or if you want to discuss how to improve your software products by combining usage data with your development data and robotic testing: