If you’re reading this, it shows that you are curious and interested in learning! Awesome — you’ve come across the right article. Here, I will share with you my journey of learning Machine Learning (no pun intended) and will share the main resources I have utilized to get a good foundation for machine learning
Machine learning is the science and art of programming computers so they can learn from data. A more general definition goes:
“[Machine Learning] is the field of study that gives computers the ability to learn without being explicitly programmed” — Arthur Samuel, 1959
This field has received a lot of attention recently, mainly due to the fast and rapid advancements in technology in the last two decades.
Applications employing these technologies are surpassing the human-level performance and beating world records and world champions in several disciplines.
And that’s just the early stages of a field that’s growing extremely fast. Machine learning algorithms are used in a wide range of fields; Tesla cars use it to drive driver-less vehicles, Google to make recommendations for the searches you do on a daily basis, YouTube does this in classifying objects in the video, Netflix to suggest the next series, the army for flying drones without pilots, hospitals use it to detect cancer, etc.
According to Indeed, Machine Learning Engineer was the most searched job on the market in 2019 with a 344% increase. Anyone with the right commitment and consistence, can learn the needed skills to properly apply Machine Learning.
Where to start?
(Refresh some math concepts)
Some basic level of math is required in order to grasp the power of machine learning algorithms. If you weren’t lucky to have good math teachers in the past, no worries! Below, I have listed videos/ exercises from three essential fields of mathematics: Linear Algebra, Probability, and Calculus. These sources helped me immensely in the beginning, and I believe they will help you too!
( Learn to Code)
Currently, the most widely used programming language to apply and develop machine learning algorithms is Python (look it up on GitHub); it is easy to learn, and even easier to read. Its syntax is similar to the english language. After Python, some other languages that are widely used are C/C++, R, GoLang, Matlab. If you’ re new to programming, start here:
- Think Python 2nd Edition (Book)
It’s very straightforward, easy to understand, plenty of exercises with solutions where you can test your knowledge. I have found the book perfect, especially for beginners who have no previous experience with programming. It is the foundation of how to think as a computer scientist.
- Zero to Hero Python BootCamp (Udemy Course)
The course is straightforward and effortless to follow. The exercises at the end of chapters are a fun challenge to test the knowledge. At the end of the course, you have a milestone project to finish, I suggest you choose the project that scares you the most — because it will be the one you’ll learn the most.
Learn Machine Learning
There’s a wide variety of courses on ML online. It is important to make sure beforehand that the courses/ instructors you have decided to follow are qualified and reliable enough to lecture. Some practical courses I’ve found helpful are listed below:
The most famous Machine Learning Course on the internet (+3.2mil students). The lecturer, Andrew Ng (also founder of Coursera, and team-lead of an AI team in Google Brain),presents the material in an bottom-up, easy-to-follow and practical way with a focus for the mathematical approach of the models.
After getting your hands dirty with Python, in this course you can implement different frameworks of machine learning. This is the most famous course in Udemy for this field; it has a bottom-up, intuitive, and practical approach by coding and training different models. Lectured by Kiril Eremenko and Hadelin de Ponteves, professionals in the field, each operating their own AI and Data Science companies.
This source uses a top-down approach for explaining deep learning (and related fields such as computer vision and natural language processing). Something that is worth mentioning is that this course tries to avoid intense math explanations, and instead focuses more on intuitive learning. Its founder, Jeremy Howard, is a founder and executive director of an advanced machine learning company.
All the above courses are lectured by professionals who have elaborate experience on the field and its applications. Whichever you choose to follow, you will not be mistaken.
Build Your Projects
Next, is the time to experiment with your own project! Every machine learning engineer has created at least 3 projects of his own before landing a job. Below is a list of websites that have many datasets that you can explore and play with.
Some extra advice for the new-comers
Exploring new fronts and seeing the extent it has flourished can sometimes feel overwhelming for new-comers; and that’s totally okay. Below, I have shared a couple of heads up and advice I wish I knew when I started my journey into machine learning.
As a developer, stackoverflow is your best friend! Most of the answers are usually found here. Make the best use out of it. The tech community is usually very responsive to questions, regardless of the platform — Stackoverflow, Github, Emails, LinkedIn, Twitter, or even Facebook (especially AI/ ML groups).
Create your network of other machine learning enthusiasts and engineers
Twitter, besides hosting epic memes, is the engineers’ favorite platform to share their work, or distribute the work of their colleagues. LinkedIn is a very suitable professional platform to connect with other professionals in the field. If you don’t have an account, open one!
Below you can find a list of Machine Learning influencers, people who share their work and insights with the World.
Read the next article
It can be enticing to join this world without much previous experience. To make this transition smoother, I have decided to make a series of articles about Machine Learning that can be read by anyone, regardless if you’re a programmer or manager. With real-world examples, simple and straightforward language, it was designed with the intent to be understood by EVERYONE. The series goes as follows:
This is something I am trying to remind myself daily. The journey of learning machine learning, like any other, has plenty of obstacles and there WILL be times that you’ll think to yourself ‘I have no idea what this is’ and it’s OKAY to have those thoughts. Just remember, nothing good came from quitting.
Be patient. The process will teach plenty of lessons to those who are patient enough to endure the feelings of discomfort.
Hope this article will help you get started with Machine Learning. If you have any questions, or want more specific or advance sources for math, programming, and machine learning - don’t hesitate to comment down below.
You can always connect with me in LinkedIn.