How to get started with AI or ML?
Here's how I would learn Artificial Intelligence/ Machine Learning if I have to start from scratch again
- How to get into the AI field?
- How can I learn Machine Learning?
- What is the best resource for Machine Learning or Deep Learning?
- How can one stay up to date with AI?
- Is this the best resource to learn Machine Learning?
- Best possible way to learn AI?
Do you have any of these or related questions in your mind? If yes, then you are in the right place✌. Take a cup of coffee and spend your next 10 minutes.
I have been learning AI for almost 14 months and I faced several pitfalls in my journey, be it resources, learning path, etc. So, I wanted to document my journey and resources that helped me to learn AI better.
In this article, I share the best possible way(views are my own) and resources I follow and recommend if I have to start learning AI/ML again🤞.
PS: Part-1 has Machine Learning Resources and Part-2 will be about Deep Learning😁
Let's start with pre-requisites...
Getting into AI/ML also needs programming knowledge similar to other fields. So, what would be the best language to start learning AI?
Python or R? Let us not get into the fight between which is the best language for AI😢. Both have their advantages and disadvantages. If you are confused in choosing a language, then read this awesome article R is for Research, Python is for Production written by Matt Dancho and pick your language accordingly. He has best-compared R and Python, depending on their use case and support.
Since I mostly follow python and here I will share the path in python itself. I would share some of the best resources to learn AI in R at the end for R lovers as well😉.
Let's get into the learning process...
We need to have at least intermediary python knowledge to debug the code and understand errors. This is how we can write great code. Learning python is easy if we have the best resources.
Of course, documentation is the best way to learn anything, but most of them have time constraints or need someone to teach. So, let's see some best tutorials to learn python.
PS: I suggest you to learn writing code both on vscode and jupyter notebook which will help you in long run. (See this video on how to install jupyter notebook on your pc).
But before that, first, we need to know how much python is necessary to start learning AI.
- Data Types
- Data Structures(Strings, Lists, Tuples, Dictionary, Sets, and their operations)
- Classes and Object-oriented programming(OOP)
- Basics of Regular Expressions( optional but useful in the long run)
- Modules and Packages
- Decorators and Generators(optional but helpful)
Apart from the above-mentioned pre-requisites, we need to have additional knowledge to continue our journey. They are-
- Date Time
- Virtual Environments in python
- Error Handling/ Exception Handling
The best resource I recommend to learn the above-mentioned python skills will be as follows
Below are the resources for those who want to learn by watching videos.
Navin Reddy's Telusko Channel has also a good playlist to learn python.
How much time is needed to learn the above-mentioned topics? I would suggest learning them practically instead of binge-watching tutorials. On average, it would take 15-18 days to ace the topics.
Mathematics for Machine Learning
Mathematics for Machine Learning😍. Yes, understanding mathematics for machine learning will help in learning it better. Let's see some resources for the same. The best of all to ace them would be
- Josh Starmer's Stat Quest Channel has the best playlist for Statistics Fundamentals
- 3blue1brown channel has best playlist for Calculus and Linear Algebra
- Khan Academy has also the best collection of videos to learn Statistics and probability for ML.
- (or) Check out this specialization on Coursera to master Mathematics for ML. Understanding mathematics is crucial from my point of view. These resources would help you to dive deep into ML and make concepts easier to grasp. You could spend 5-8 days depending on your pace to get the intuition behind them.
Machine Learning/Data Science is not just algorithms but also to get business insights from the data. That's how it helps the market and companies.
It's time to move forward. A major part of the time(>50%) you spend in Machine Learning is getting insights from data by Data Engineering and Data Analysis. So, spending as much time as possible practicing Data Analysis is important.
But What are the best ways to learn and practice? 🤔...
Well, I would suggest you go through the following resources and pick your best playlist. But, Remember acing Data Analysis requires more practice than watching lectures. I am providing some datasets as well to practice data analysis and data visualization.
Why Data Viz though? because no client would understand your code but the charts. Sounds good😉?
You need to learn pandas for data analysis and matplotlib and seaborn for data visualization. Let's look at some best places to learn and practice them.
- Corey Schafer's Pandas Playlist and Matplotlib playlist will help you get started
- Jovian.ai Data Analysis Boot Camp will help you to move forward. I would highly recommend doing all the exercises/assignments even if the Bootcamp is completed and also suggest you try the featured projects on your own to get more understanding.
- See this video on how to install jupyter notebook on your pc. (ignore if it's already installed)
- Check out this pandas documentation and keep it handy when you work on datasets. Remember Google is your friend😉.
- Bike Sharing Dataset
- CO2 Emission Dataset
- Credit Card or Spam Email Dataset
- COVID-19 cases Dataset
- Employee Attrition Dataset
- US Super Store Dataset
- Amazon Mobile or Item Reviews Dataset(for text analysis)
- IMDB Dataset(for text analysis)
- Amazon Top 50 Bestselling Books Dataset
- Telecom Users Dataset
Have some fun in finding them😜. Practice your skills on these datasets. There are many more datasets you can find on Kaggle, not just these. These were recommended to improve your skills. If you think you had enough understanding, feel free to move forward or find other datasets according to your choice.
Pro tip: Once you have worked on a dataset, I would highly suggest you look at the notebooks that won Medals on Kaggle by working on the same datasets. This would help you to learn the best approaches used by others✌.
Check the below image to know how to find the best approaches. The top notebooks after applying the below filters show you the most upvoted implementations.
I would recommend spending at least 30-45 days on Data Analysis not just learning to code but to understand data and generating insights and decisions based on what data shows us.
Congrats🎉. Now, that you have mastered Data Analysis, it's time to take a step forward to learn Machine Learning Algorithms.
I highly recommend understanding every algorithm and its mathematical intuition behind it. Some good sources to learn Machine Learning
- Obviously the first is Stanford's Machine Learning course on Coursera taught by Dr. Andrew Ng. However, it will be in Matlab. One good suggestion if you don't want to learn Matlab is to watch lectures and understand the concepts and move forward. The next resources will help you in practicing them in python. Here is the same full playlist available on youtube as well.
- IBM's ML Course on Coursera is also a good starting point to learn ML in python.
- This Coursera ML Specialization will also help you to understand ML. Pick any one of both and complete them.
PS: You can watch some youtube videos on how to get financial aid on Coursera. It's not tough though. They will accept almost every application.
- This awesome udemy course Machine Learning A-Z by the super data science team is also the best one to pick. Check this course syllabus and you can even follow the same order and learn from free YT tutorials.😁
- AI Engineering Channel( I love this channel❤) has the best resources on End to End Machine Learning. Check out these two playlists 1. End to End Machine Learning and ML Boot Camp.
- Code for Cause has an awesome playlist on Machine Learning.
Some YT channels and Blogs to help you better learn ML concepts. ML algorithms and teach you about deployment as well. be sure to check them out. Especially AI Engineering Channel will help you learning industrial ML and End to End deployment as well as ML on GCP, DIY projects, ML Ops, and everything.
- AI Engineering
- Krish Naik
- Machine Learning Mastery Blogs
- Free Code Camp ML videos
- Abhishek Thakur
- There is an upcoming jovian.ai free ML Bootcamp as well tentatively start from May 2021.
- Towards Data Science Blogs
- Blogs by Omdena
If you want to research, make sure to read the best implementations on AI and daily advancements through the resources I follow.
Woohoo🎉! That's it? Well, there are a lot more resources available but I picked some of the best ones to learn ML to avoid much confusion. That being said, I highly recommend learning hands-on and implementing projects by picking some datasets from kaggle and avoid tutorial hell as much as possible.
By the end of this journey, you will have an idea of how to move forward from here.
For R users
Here are some of the recommendations from my side if you want to learn ML in R.
- R programming on udemy by SuperDataScience Team
- Advanced Analytics in R by SuperDataScience Team.
- Data Science and ML in R by Jose Portilla.
- This udemy course Machine Learning A-Z by SuperDataScience has both Python and R implementations.
- Coursera's Data Science Specialization in R is also a good choice but the voice-over is not a human voice but it's computer-generated. Watch a video before enrolling
If you want to learn Data Science in R and need mentorship and guidance as well and need everything about ML/DS at one place, I would highly recommend Matt Dancho's Business Science Courses.
Some of the resources that will help you further
- David Langer's Blogs on SQL
- Matt Dancho's Blogs on R and Data Science
- Matt Dancho's Cheat Sheets
- Curated Resources by Brandon Rohrer. (click the links as shown in the figure for resources)
- Follow #100DaysofCode on LinkedIn or Twitter to stay consistent. You would probably learn ML if you could spend 3-4 hours a day for 100 days.
- Once you finish learning or completing tutorials, focus on building projects to help you get internships and jobs.
- Don't Stick in tutorial hell😶. you will lose a lot.
- If possible join a peer group and learn collaboratively or form your own group and add enthusiasts into it and maintain it to be active for the long term.
- Contribute to open-source ML projects to get more insights.
Things I wish to do but haven't done during my journey and I recommend doing at least some of them
- Don't be shy to post what you have done. The worst thing you would expect is No one Caring about it. Then feel it as a personal note-taking place until people start recognizing you.
- Don't be shy to ask for help. The very least they could say is "NO".
- Start Kaggling and maintain a decent Kaggle profile.
- Try to publish a research paper.
- Follow Top Kaggler's implementations and learn from them
- Follow Experts in the AI domain on Twitter and LinkedIn.
- Try to implement projects on problems around you or generate a business insight from it to stand out.
- Participate in hackathons on hacker earth, MLH, and other similar platforms.
- Document and share your knowledge through blogs.
- Don't get frustrated if it is taking a longer time than expected. I myself learning AI for 14 months and still, I am learning it. Every tech field is an ever-learning field.
With this, I hope you get some insights on where one can learn ML/AI. I will soon publish part-2 about Getting Started with Deep Learning.
Best of luck on your journey 🎉 and feel free to get in touch with me via Twitter at themadhucharan.
I am starting a series of blogs (one per week) on End to End AI and ML. Subscribe to my newsletter if you would like to get updates directly to your mail.🤞