Education Programs for Professionals | Careerhigh

Roadmap on Machine Learning for Beginners

MACHINE LEARNING FOR BEGINNERS

Machine Learning, the most acknowledged skill in today's tech world. We all are enthusiastic to get into this field but there are so many options and it's really difficult to choose one and to follow the same. Some people prefer the structure of courses, some like reading books at their own pace, and some want to dive right into the code. So here I will be discussing the roadmap and resources for enthusiastic learners who are completely new in this field so that they get the right guidance to start Machine Learning from scratch. Techies who have already started learning ML can also follow the roadmap for advanced learning and for getting knowledge about future scope and opportunities in this field.

Machine Learning roadmap can be divided into 5 subparts:

  1. Linear Algebra

  2. Calculus

  3. Probability  and Statistics

  4. Programming 

  5. Algorithms

(NOTE: Without the first 3, later will be of no use as Machine Learning is 65% maths, 25% Algorithms designing and 10% data preprocessing). 

Why Maths? Maths is needed to understand the machine Learning algorithms/models or to implement new ones. There is a large number of models which are already built. Even when you are using existing models you need to understand the internal working of the algorithm so that the hyperparameters can be tuned. A single model may not give the best results for all the problems. Identifying which model to use for a given problem is very important and to choose the right model, you need to understand the internal working/maths.

So, enough talk let's look into the resources:

Machine Learning Resources:

Linear Algebra (takes about 2-3 weeks): While dealing with the ML problems, you will be dealing with Scalars, Vectors, Matrices and Tensors. Also, Some topics like Eigenvalues and Eigenvectors must be known. So, here are 3 ways to master it:

First, for those who have no idea regarding what I have mentioned above(Linear Algebra), don't worry there is a great online course on Linear Algebra by MIT (This course is a complete guide for Learning Linear Algebra). But just like me or most other engineering students, you already get a glimpse of it and if you want a quick recap of it, you can go through  Linear Agebra chapter on Deep Learning Book or if you prefer video lectures over notes, then check out Youtube channel on Linear Algebra (On this channel you can find videos on topics you want to brush).

Calculus (takes 2-3 weeks): Most machine learning models are built with dataset having several features. Hence familiarity with multivariable calculus is extremely important for building a machine learning model. So, familiarity with topics like functions, derivatives, maxima, minima and gradients is must. You can learn all from this really cool playlist or you can follow these notes (not for new bees).

Probability and Statistics (takes 2-3 weeks): It is very important topic. It helps to find out what kind of analysis is required on the data. Some ML algorithms are derived from statistics. Knowledge in probabilities helps in understanding the output of algorithms. Topics you should cover:

  1. Combinatorics

  2. Probability Rules &Axioms

  3. Bayes Theorem

  4. Random Variables

  5. Variance

  6. Conditional Joint Distributions

  7. Moments Generating Function

  8. MLE & MAP

  9. Sampling Methods

  10. Prior and Posterior.

There is a great online free course on Probablity and Statistics by Stanford. This course is specially designed for Machine Learning. However, if you prefer book reading, here's one for you (again it is designed for Machine Learning Learners).

Programming (takes about 2-3 months): Till now you are already done with the hardest and essential parts. And if you belong to the coder's groups, ahead journey is smooth sailing for you. Today's most machine learning algorithms are implemented in python or R. I prefer python over R as python is a general purpose language with vast amount of frameworks. Topics which are highly useful in implementing ML models are:

  1. Functions

  2. Object-oriented Programming

  3. Scope of Variable

  4. Loops

  5. Conditional Statements

  6. Operators

There are plenty of courses for you, but the courses I found most engaging is Python Tutorials for Beginners (I find this content quite exhaustive even for complete beginners). But if you are looking for some course which can trace your progress report, here's one for you: Complete Python Bootcamp by Udemy

But remember despite this, you should refer to python documentation.

Learning Syntax Only won't help, Practice as much as you can as practice is the only way to excel in this field. Coding Platforms like Codechef, hackerrank, etc have plenty of problems from beginners to Expert level.

Data Structure & Algorithms (non-ml): Though this part will not help you directly rather it enhances your thinking and logic designing which is helpful in designing new ML algorithms and in understanding concepts like:

  1. Time Complexity

  2. Space Complexity

  3. Sorting and Searching

  4. Shortest Path between two Points

  5. Problem Solving approaches like Greedy, Dynamic, etc.

For Data structure follow mycodeschool playlist on Youtube.

You can implement the teachings in python by following Nptel videos.

For  Algorithms part, you can go through Algorithms playlist on Youtube (This is a really cool playlist on youtube, covering almost all topics) and for advanced algorithms you can refer : Algorithms 1 and Algorithms 2  playlists by Stanford Algorithms (I would suggest you to go through both the playlists).

Machine Learning (Algorithms and Implementation) (about 5-6 months): Now here comes the most awaited part, so let's start to get into actual ML. Machine Learning course by Coursera is highly recommended worldwide for ML learners (Most fundamental and comprehensive course anyone ever came across).

On completing this course you will be familiar with:

  1. Decision Trees

  2. Naive Bayes

  3. Linear Regression

  4. Logistic Regression

  5. Support Vector Machines

  6. KNN

  7. Ensembling

  8. Unsupervised Learning

  9. Gradient Descent

Disclaimer: This course is taught in Octave/Matlab which might lower your interest, you can implement the course teachings using  numpy, pandas and matplotlib or seaborn (python libraries).

After completion of Andrew Ng's course, you need to know how to implement these Algorithms (in Python) which can be done by taking Udemy's Machine learning A-Z course . The best part I found about the course is "Problem Solving on each Algorithm type" with complimentary two real-world kaggle problems.

Knowing one framework (Scikit-Learn in the above course) is not enough for any ML Engineer to work in this field. Familiarity with other frameworks gives you a headstart over others. However, out of all frameworks I find tensorflow ahead of all others (due to high demand in Industries and compatibility with other languages) and no one can teach you better than Tensorflow developers  (Google free crash course for everyone).

Now, you are done with all the learning part, the only part you are left with is practice and practice, and no one can beat Kaggle for practising ML models and implementing it. Solve 5-10 problems which you can add to your resume and try to compete in Kaggle competitions and add some achievements in this field.

Machine Learning Project Ideas

For some cool projects and new ideas in this field, you can follow: 

  1.  GitHub NirantK project ideas

  2. Sentdex

  3. Siraj Raval videos

What's next?

You can either go for jobs, become an entrepreneur or go for higher studies & research.

Machine Learning Job Opportunities:

Machine Learning is expanding in every field. No wonder you can find it almost everywhere. As more and more businesses are leaning towards algorithms, machine learning jobs are increasing at a very high pace. Almost every company is keen on increasing its workforce in this field. ML professionals get very high packages and a rewarding career. Now I am going to shed some light on the most in-demand machine learning jobs:

Machine Learning Engineer: It is the initial role for any Machine Learning jobs. Ability to develope highly-scalable distributed systems and address different business challenges by implementing machine learning algorithms are two major job responsibilities of machine learning engineers.

Data Scientist: According to the Harvard Business Review, Data Scientist is the sexiest job in 21 century.The role primarily involves gathering data from different touchpoints, analyzing and interpreting it, drawing insights and inferences, and coming up with forward-looking solutions for business concerns.

Data Analyst: A strong background in statistics, probability and programming is required to excel in this field. Roles and responsibilities of Data analyst involve data mining, algorithm design, data pruning and code debugging.

Business Intelligence Developer: For this role apart from Machine Learning skills you will also require a strong business background.

Apart from the above, machine learning jobs include positions like Data Warehouse Engineer, Software Architect, Designer in Human-Centred Machine Learning, Computational Linguist etc.

So, which Companies hire for these positions?

Google: A familiar name in the tech world, hardly anyone is left who has not used any of the Google products. From google search to google assistant, one way or another are based on machine learning algorithms and there are lots of positions available at Google Careers page.

Amazon: From Alexa to kindle, all are using machine learning techniques. You can apply for it at Amazon jobs.

Facebook: Every user of Facebook is influenced by ML without realizing it. Things like personalized news feed, friend tagging suggestions, group recommendations, mutual friend analysis etc are done through machine learning.

Other than these, companies like Uber, ola, Flipkart, Zomato, IBM, Microsoft are now some big fishes in this field. You can also check out jobs at Linkedin. If you are interested in joining the role in some emerging startup you can check it out here.

Entrepreneurship:

Machine Learning is the bold new frontier in businesses and entrepreneurship. All signs point to an even bolder future for the technology. Applications for Machine Learning in businesses are nearly boundless, and new use cases emerge on a weekly basis. Some of them are:

Marketing: Machine Learning has boosted this sector to a new height. According to a report by Harvard, sifting through chat logs for words and phrases reports an increment in the success rate of recommender systems by 54%. Moreover, ML based chat bots and voice bots  support have completely transformed customer experience. It helps businesses to provide automated customizable support to their customers and in the process reduces man power requirements. Startups like AllinCall, GoHero.ai are already making big out of it.

Health: One of the main benefits of Machine Learning is its innate ability to find anomalies in visual data which can be used to detect diseases based on symptoms with higher accuracy. Nowadays many medicines are being prepared with high precision using Machine Learning. Startups like Beato, Ten3T are some of the emerging newbies in this field.

CyberSecurity: Application of machine learning in endpoint detection of IT network threats is rapidly growing cybersecurity market arena today. Real-time analysis of data from endpoint events across the global crowdsourcing communities, allowing detection and prevention of attacks based on patented behavioural pattern recognition technology, have paved the path for machine Learning in this field. Startups like CrowdStrike are already differentiating themselves from others in this field.

Machine Learning is not limited to this only but also it is establishing its roots in other sectors too like Fintech, Education and many more.

Machine Learning Future Scope (Higher Studies and Research):

Today, with a high demand for ML skills, many post-graduate programs, diplomas and research programs have been introduced all over the world which promises a successful career in this field. Some of the diploma courses  which are highly anticipated by many people are:

PG program in Machine Learning and AI from IIIT-B by UpGrad: This course focuses on statistics essentials such as using statistics to describe data and infer insights, building machine learning models using supervised, unsupervised learning, natural language processing, neural networks, deep learning, graphical models, reinforcement learning etc. In addition to these, students get a chance to work on cutting-edge projects such as predicting customer churn in the telecom industry, building a chatbot engine, disease prediction using medical imaging, among several others. You can check it out by clicking here.

Foundations of Machine Learning and AI from IIIT-H by TalentSprint: The program is delivered using five different components — classroom lectures, where they learn concepts; labs which are done on the cloud; mentors; industry workshops and hackathons. As a part of industry workshop, senior technical heads from top tech companies share their experience and insights on using and implementing AI. Some of them are Ranga Pothula (President, HYSEA; VP and Centre Head Infor), Dr Anbumani Subramanian (Lead Architect, Intel Corporation), Dr Shailesh Kumar (Vice President and Distinguished Scientist, Ola), Mithun Das Gupta (Principal Applied Researcher, Microsoft), Sundar Srinivasan (General Manager, Microsoft AI and Research), and others. The curriculum is designed keeping in mind working professionals. You can find more details by clicking here.

Post Graduate Program in Machine Learning and AI by Great Learning: This 12-month blended program builds a solid foundation by covering areas like computer vision, NLP and intelligent virtual agents, among others. This comprehensive program covers a range of topics from traditional supervised and unsupervised learning methods to ensembles. It focuses more on labs, projects and Capstone project building, a robust e-portfolio of work. It has 9 hands-on projects, GPU based lab environment to build deep learning models, guidance from industry experts through workshop session, among others. You can check it out at Greatlearning.

Also, you can check out the post-graduate and Doctorate programs in some renowned institutes of India like IISc Bangalore, IIT Bombay, IIT Delhi, IIT Madras, ISI Kolkata where you can select the programs in Machine Learning and Statistics, you can check the enrollment procedure at their home site with just a simple google search with name of Institute, you can find some of the renowned professors in this field to complete your research under them at Analytics India.

In a nutshell Machine Learning is the new electricity in today's world, it is not limited to what you have learned, rather it's about Development, Improvisation and Application.

I wish you all the best, keep learning and keep Exploring.

By,

Vibhor Bhatnagar