Jump Start Machine Learning
Journey of picking up machine learning from square one
Machine learning (ML) has undoubtedly gained a lot of attention in recent years. Hyped or not, ML and its advancement have and will continue to have significant implications to both individuals and industry. ML is unstoppable; it is the future that exists now.
For anyone who is interested to learn more about ML but don’t know where to start or still self-guess, I would like to help you out in this article. At the end of this post, you will either know that you want to pursue diving into ML or it’s ok just to know of what it is capable.
I became aware of ML in 2016, and back then it bugged me when I could not understand what deep learning and neural networks are in technical terms. But it didn’t stop me for dreaming of awesome applications or use cases. For example, I dream that one day I will have Jarvis, a personal assistance that Tony Stark has. Jarvis is probably the one of the ultimate forms of benevolent artificial intelligence (AI) humanity hopes to have. ML is not quite AI, though.
ML is a sub-category of AI. According to Andrew Ng, a world-renowned Stanford professor and the founder of deeplearning.ai, supervised ML generates for most of the today AI-drive economic value. Supervised ML is, in a simple term, teaching a computer to find a relationship (specifically parameters of a prescribed model) between an input A and an output B. The computer learns from a huge amount of input-output pair (A,B). In another reduced view point, ML is like a curve-fitting toolbox or an educated guess deduced from observing given patterns.
Other types of ML include unsupervised learning and reinforcement learning, and they contribute little to the economic value at the moment. They are being heavily researched and developed though. Unsupervised learning is like throwing a dataset to a machine and asking it to come up with useful information on its own. Reinforcement learning is letting a machine figure out a course of actions that maximize a certain reward or performance. Both are much more challenging that supervised learning. We are not talking about them in this post.
At the end of the day, AI and ML are both just a tool, especially in the business context.
You can provide AI services or add AI capabilities in your products. You weld it as a tool. Therefore, if you are a product manager looking for new features or a business owner looking for a new competitive edge, a correct understanding of what ML offers suffices. Diving into mathematical or programmatical frameworks would be inefficient or even experientially unpleasant. If this is your situation, this is probably the last paragraph of this post you should read (I will write another article demoing what ML offers in the future). On the other hand, if you are desperately want to gut ML open and study for whatever reason, read on; I could show you my path.
I highly recommend taking all Andrew Ng’s courses on Coursera. There are six courses in total: one on its own and five grouped into a deep-learning specialization.
The standalone course, titled Machine Learning, gives you a broad overview of both supervised and unsupervised learning. You learn fundamental ideas, and you have a change to program ML from the ground up, not relying on open-source packages. The downside is programming exercises are in Matlab, which could be costly to get a license. An alternative free programming language for the course exists but I found it buggy. Nonetheless, you should be able to get 30-day trial license for Matlab. This course should take about one month.
Then, you should continue to take the Deep Learning Specialization, focusing on deploying deep neural networks. The specialization consists of five courses:
- Neural Networks and Deep Learning
- Improving Deep Neural Networks
- Structuring Machine Learning Projects
- Convolutional Neural Networks
- Sequence Models
All of these courses can be taken for free. You need to pay if you want to work on programming exercises. I did pay because I think it’s worth my financial investment.
Course 1 to 3 are basics, making sure you have solid foundation to adopt more advanced ideas. Course 4 deals with computer vision, e.g. classifying images and recognizing faces. Course 5 takes on subjects like natural language processing (text and audio). From all of these, you will learn about neural networks, convolutional networks, residual networks, inception networks, recurrent networks, etc. Programming exercises expose you to open-source frameworks like TensorFlow and Keras using Python language. (Prior experience with Python is not required, but I highly recommend having some exposure. For that I picked up Python from this free MIT course.) It should take about one month per course. The specialization has received a high praise since its inception. Tess Ferrandez has wrote awesome notes of these courses.
Completing these courses is a good starting point for your next exploration. You can start working on your personal project and keep practicing your knowledge. You could join Kaggle community where you can find a lot of ML challenges and competitions. You can even win prizes or land a job here.
I believe that AI and ML will be ubiquitous one day in the near future. As of now, human resources on AI, ML or data science are highly sought after. Therefore, I encourage those who seek to understand them to set aside a few hours a week to learn. Plus, there is an unbelievably huge amount of free content to dive into deep learning nowadays. Not only you will gain one more relevant technical skill, you might even find satisfaction or even business opportunity from this endeavor.