You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/1-Introduction/1-intro-to-ML/README.md

72 lines
8.2 KiB

# Introduction to Machine Learning
[![ML, AI, Deep Learning - What's the difference?](https://img.youtube.com/vi/lTd9RSxS9ZE/0.jpg)](https://youtu.be/lTd9RSxS9ZE "ML, AI, Deep Learning - What's the difference?")
> 🎥 Click the image above for a video discussing the difference between Machine Learning, AI, and Deep Learning.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/1/)
### Introduction
Welcome to this course on classical machine learning for beginners! Whether you're completely new to this topic, or an experienced ML practitioner looking to brush up on an area, we're happy to have you join us! We want to create a friendly launching spot for your ML learning and would be happy to evaluate, respond to, and incorporate your [feedback](https://github.com/microsoft/ML-For-Beginners/discussions).
[![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML")
> 🎥 Click the image above for a video: MIT's John Guttag introduces Machine Learning
### Getting started with Machine Learning
Before starting with this curriculum, you need to have your computer set up and ready to run notebooks locally.
- Learn more about how to set up your machine in this [set of videos](https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6).
- It's also recommended to have a basic understanding of [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-15963-cxa), a programming language useful for data scientists that we use in this course.
- We also use JavaScript a few times in this course when building web apps, so you will need to have [node](https://nodejs.org) and [npm](https://www.npmjs.com/) installed, as well as [Visual Studio Code](https://code.visualstudio.com/) available for both Python and JavaScript development.
- Since you found us here on [GitHub](https://github.com), you might already have an account, but if not, create one and then fork this curriculum to use on your own. (Feel free to give us a star, too :))
- Familiarize yourself with [Scikit-Learn]([https://scikit-learn.org/stable/user_guide.html), a set of ML libraries that we reference in these lessons.
### What is Machine Learning?
The term 'Machine Learning' is one of the most popular and frequently used terms of today. There is a nontrivial possibility that you have heard this term at least once if you have some sort of familiarity with technology, no matter what domain you work in. The mechanics of Machine Learning, however, are a mystery to most people. For a Machine Learning beginner, the subject can sometimes feel overwhelming. Therefore, it is important to understand what Machine Learning actually is, and to learn about it step by step, through practical examples.
![ml hype curve](images/hype.png)
> Google Trends shows the recent 'hype curve' of the term 'machine learning'
We live in a universe full of unusual and interesting mysteries. Great scientists such as Stephen Hawking, Albert Einstein, and many more have devoted their lives in search of meaningful information that uncovers the mysteries of the world around us. This is the human condition of learning: a human child learns new things and uncovers the structure of their world year by year as they grow to adulthood.
A child's brain and senses perceive the facts of their surroundings and gradually learn the hidden patterns of life which help the child to craft logical rules to identify learned patterns. The learning process of the human brain makes humans the most sophisticated living creature of this world. Learning continuously by discovering hidden patterns and then innovating on those patterns enables us to make ourselves better and better throughout our lifetime. This learning capacity and evolving capability is related to a concept called [brain plasticity](https://www.simplypsychology.org/brain-plasticity.html). Superficially, we can draw some motivational similarities between the learning process of the human brain and the concepts of machine learning.
The [human brain](https://www.livescience.com/29365-human-brain.html) perceives things from the real world, processes the perceived information, makes rational decisions, and performs certain actions based on circumstances. This is what we called behaving intelligently. When we program a facsimile of the intelligent behavioral process to a machine, it is called Artificial Intelligence (AI). Although the terms can be confused, Machine Learning (ML) is an important subset of Artificial Intelligence. **ML is concerned with using specialized algorithms fetching meaningful information and finding hidden patterns from perceived data to corroborate the rational decision-making process**.
## What you will learn in this course
In this curriculum, we are going to cover only the core concepts of Machine Learning that a beginner must know. We cover what we call 'Classical Machine Learning', avoiding the complexities of neural networks, 'Deep Learning' - many-layered model-building - and AI, which we will discuss in a different curriculum. But to understand broader concepts of Artificial Intelligence or Deep Learning, a strong fundamental knowledge of Machine Learning is indispensable, and so we would like to offer it here.
![AI, ML, Deep Learning, Data Science](images/ai-ml-ds.png)
> A diagram showing the relationships between AI, ML, Deep Learning, and Data Science. Infographic by [Jen Looper](https://twitter.com/jenlooper) inspired by [this graphic](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
The major motivation behind leveraging Machine Learning is to create automated systems that can learn hidden patterns from data to infer intelligent decisions which seem to be loosely inspired by how the human brain learns certain things based on the data it perceives from the outside world.
✅ Think for a minute why a business would want to try to use Machine Learning strategies vs. creating a hard-coded rules-based engine.
Applications of Machine Learning are now almost everywhere, and are as ubiquitous as the data that is flowing around our societies, generated by our smart phones, connected devices, and other systems. Considering the immense potential of state-of-the-art Machine Learning algorithms, researchers have been exploring their capability to solve multi-dimensional and multi-disciplinary real-life problems with great positive outcomes. In this curriculum, you will learn the basics of Regression, Classification, Clustering, Natural Language Processing, Time Series, and Reinforcement Learning, as well as real-world applications, the history of ML, ML and Fairness, and how to use your model in a web app.
Eventually, you can use your learning to help predict the likelihood of disease from a patient's medical history or reports, to leverage weather data to predict weather events, to understand the sentiment of a text, or to detect fake news to stop the spread of propaganda. Finance, economics, earth science, space exploration, biomedical engineering, cognitive science, and even fields in the humanities have adapted Machine Learning to solve the arduous, data-processing heavy problems of their domain.
Machine Learning automates the process of pattern-discovery by finding meaningful insights from real-world or generated data. It has proven itself to be highly valuable in business, health, and financial applications, among others. In the near future, understanding the basics of Machine Learning is going to be a must for people from any domain due to its widespread adoption.
## 🚀 Challenge
Sketch, on paper or using an online app like [Excalidraw](https://excalidraw.com/), your understanding of the differences between AI, ML, Deep Learning, and Data Science. Add some ideas of problems that each of these techniques are good at solving.
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/2/)
## Review & Self Study
To learn more about how you can work with ML algorithms in the cloud, follow this [Learning Path](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-15963-cxa).
## Assignment
[Get up and running](assignment.md)