Getting Started with Machine Learning
Tags: machinelearning, beginners, todayisearched, python
Published: 2022-03-31 17:10:52

## Table of Contents
1. [History of Machine Learning](#history-of-machine-learning)
2. [Understanding the Prerequisites](#the-prerequisites) 
3. [Machine Learning with Python](#ml-with-python)
4. [Where to Practice](#where-to-practice)
5. [(FREE) Online Courses](#online-courses)

### What is [machine learning](https://mitsloan.mit.edu/ideas-made-to-matter/machine-learning-explained)?

![Process of Machine Learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94c4u8pgpn8pspc0okno.png) 

To better understand the differences between machine learning and deep learning, check out my previous article:
{% embed https://dev.to/tmchuynh/deep-learning-vs-machine-learning-whats-the-difference-2opf %}

### History of Machine Learning
![Timeline](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4rv6ujkl7bogbkg4h3j.png) 

The fact is, machine learning isn't new technology. In **1949**, "[The Organization of Behavior](https://molecularbrain.biomedcentral.com/articles/10.1186/s13041-020-00567-8)" was published by [Donald Hebb](http://www.scholarpedia.org/article/Donald_Olding_Hebb) introducing theories on the interaction between neurons. This was later crucial in developing machine learning. In **1950**, [Alan Turing](https://www.britannica.com/biography/Alan-Turing) invented the [Turing Test](https://www.techtarget.com/searchenterpriseai/definition/Turing-test) - an imitation game. In **1952**, [Arthur Lee Samuel](https://history.computer.org/pioneers/samuel.html) developed a computer game of checkers. In 1979, an algorithm was developed that later became the [foundation for pattern recognition](https://www.semanticscholar.org/paper/Nearest-neighbor-pattern-classification-Cover-Hart/0efb841403aa6252b39ae6975c1cc5410554ef7b) by Thomas Cover and Peter Hart. Read more about the [timeline here](https://pandio.com/blog/when-was-machine-learning-invented/).

### The Prerequisites
Having a basic understanding of the following will help you immensely with machine learning. The following is a rough "roadmap" and can be followed in your own way.

#### 1. Learn linear algebra and multivariate calculus
Both Linear Algebra and Multivariate Calculus are important in machine learning. How much you will need to understand and be able to apply will depend on your role as a data scientist. If you are more focused on application heavy ML, there are many libraries available. On the other hand, if you want to focus on R&D, then mastering both will be essential to be able to implement algorithms from scratch.

#### 2. Learn statistics
Since over 80% of your time will be spent collecting and cleaning data, there is no surprise that you will need to learn it. Key concepts include statistical significance, probability distributions, hypothesis testing, regression, etc.

#### 3. Learn Python
Python is currently the most popular language for ML. There are many Python libraries specifically useful for AI and ML such as Keras, TensorFlow, Scikit-learn, etc. If you have not started with Python, here are some articles that may interest you:


#### 4. Learn ML Concepts
- Terminologies of ML
- Types of ML
- How to practice ML

#### 5. Take part in competitions
Start combining your theoretical knowledge with practical implementation.

### ML with Python
Though there are many languages that can be used for machine learning, Python is a very popular language for machine learning applications due to its benefits. The other languages are R, C++, JavaScript, TypeScript, Java, C#, Julia, Scala, and Shell.

One of the benefits of using Python is the pre-built libraries:
- **Numpy**, **OpenCV**, Scikit (images)
- **NLKT**, Numpy, **Scikit** (text)
- **Librosa** (audio)
- **Matplotlib**, **Seaborn**, Scikit (data representation)
- **TensorFlow**, **PyTorch** (Deep Learning)
- **Scipy** (Scientific Computing)
- **Django** (web applications)
- **Pandas** (high-level data structures and analysis)

Python is known for its readability lower complexity compared to other programming languages. Unlike R, Python is a complete language and platform you can use for both research, development, and developing production systems.

### Where to Practice
There are websites such as [CloudXLab](https://cloudxlab.com/course/all/?page=1&tag=Machine%20Learning), [Google Colab](https://colab.research.google.com/?utm_source=scs-index), [Kaggle](https://www.kaggle.com/), [MachineHack](https://machinehack.com/), [OpenML](https://www.openml.org/), and [HackerEarth](https://www.hackerearth.com/practice/machine-learning/prerequisites-of-machine-learning/basic-probability-models-and-rules/tutorial/)

### Online Courses
YES! Absolutely. Here is a list of some below:
- [Build 30 Real World Data Science & Machine Learning Projects](https://www.udemy.com/course/must-know-in-machine-learning/) ($19.99)
- [How to get started with Machine Learning in about 10 minutes](https://www.freecodecamp.org/news/how-to-get-started-with-machine-learning-in-less-than-10-minutes-b5ea68462d23/)
- [fast.ai Machine Learning Courses](https://www.fast.ai/) (FREE)
- [Linear Algebra - Foundations to Frontiers](https://www.edx.org/course/linear-algebra-foundations-to-frontiers) (FREE)
- [Machine Learning with Python](https://www.freecodecamp.org/learn/machine-learning-with-python/)
- [Learn Keras: Build 4 Deep Learning Applications](https://www.udemy.com/course/learnkeras/) (FREE)
- [Machine Learning](https://www.coursera.org/learn/machine-learning) (FREE)
- [Introduction to Data Science using Python](https://www.udemy.com/course/introduction-to-data-science-using-python/) (FREE)
- [Machine Learning A-Z™: Hands-On Python & R In Data Science](https://www.udemy.com/course/machinelearning/)
- [Data Science, Machine Learning, Data Analysis, Python & R](https://www.udemy.com/course/data-science-machine-learning-data-analysis-python-r/) (FREE)
- [Deep Learning Specialization](https://www.coursera.org/specializations/deep-learning)
- [MatPlotLib with Python](https://www.udemy.com/course/matplotlib-with-python/) (FREE)
- [Deep Learning Prerequisites: The Numpy Stack in Python V2](https://www.udemy.com/course/numpy-python/) (FREE)
- [Data Science with Analogies, Algorithms and Solved Problems](https://www.udemy.com/course/data-science-with-analogies-algorithms-and-solved-problems/) (FREE)
- [Practical Machine Learning with Scikit-Learn](https://www.udemy.com/course/machine-learning-one-hour/) (FREE)
- [Python for Data Science](https://cognitiveclass.ai/courses/python-for-data-science) (FREE)

Happy coding!