本博客是针对李宏毅教授在Youtube上上传的课程视频《ML Lecture 0-1: Introduction of Machine Learning》的学习笔记。在Github上也po了这个系列学习笔记(MachineLearningCourseNote),觉得写的不错的小伙伴欢迎来给项目点个赞哦~~
Artificial Intelligence (AI) aims to make machines as smart as human beings. But for long, people don’t know how to do this.
Until 1980s, machine learning (ML) comes into beings. Just like its name, machine learning aims to make machine learn to learn.
Q1: what is the relationship between AI and ML?
A: ML is a potential way to achieve AI.
Q2: what is the relationship between ML and deep learning (DL)?
A: DL is one of methods of ML.
Beavers are born with the instinct to move stones to build dams as long as they hear the sounds of water flows.
This can be summarized to a rule for beaver: When hear the sounds of water flows, build dam!
Compare it with Human Being’s Instinct
No, it’s not what we are chasing in the course!
True function to do perfect speech recognition is too complex, there are efforts starting from 1960s trying to write enough rules to include all mappings from voice to word, however it’s still not finished yet! So we need machine to help us find out the function From Data.
To simplify, we let machines try to find the true function using training data we give them. After that, machines would give response to new input data we give to them based on rules that they have learned from training.
Example: Image Recognition
First, we have a set of function. (This set is called Model)
Then, we have training data, they consist of some input & output pairs, respectively used as function input and function output. (This method also known as Supervised Learning)
We need a good algorithm to find the best function ( f∗ f ∗ function that has greatest goodness).
After we find the best function f∗ f ∗ , how can we make sure that a machine can recognize the cat in a picture that it has never seen before? Well, that is exactly one of the most important problem in ML, that is: can machine draw inferences?
1.Determine a function set;
2.Enable machines to measure how good a function is;
3.Give machines an algorithm that can help pick the “best” function.
Next, we give a simple introduction to conceptions included in the map.
Definition: The output of function that machine is trying to learn is a scalar.
Example: Predicting PM2.5
Two types:
- Binary Classification: output Yes or No
- Multi-class Classification: output i (i ∈ ∈ {1,2,3,..,N})
Example for binary classification: Gmail filter Spams
Example for multi-class classification: Document Classification
Different model = Different set of functions -> Different Performance of machine
Deep Learning is one of Non-linear models. When doing deep learning, it usually means that the goal function is very very complex, and therefore it can also complete complex tasks such as image recognition, playing GO!
All technics mentioned above belong to field of Supervised Learning, it usually comes with great quantities of training data. These training data are some input/output pairs of target function, and normally the output need to be manually labelled, so the function output is also called label.
Then, how to collect a large amount of labelled data?
A: Semi-supervised Learning.
Unlabelled data can also help machine learning!
(labelled/unlabelled) Data that are not directly linked with goal problem may be helpful to the goal problem.
In speech recognition: input - a voice clip, output - corresponding sentence.
In translation: input - Chinese sentence, output - English sentence.
In object detection: input - images, output - boundary of object.
Usually, many people heard of regression and classification, but seldom heard of Structured Learning, even textbooks may ignore it.
However, structured learning is a very important part of ML field!
Supervised: Have a supervisor to teach machine; (Learning from teacher)
Reinforcement: Let machine to explore and teach itself. (Learning from critics)
So Reinforcement Learning is closer to how human beings learn.
Example: Plying GO
Data you have determines what scenario your problem is in, the type of your problem defines its task, and we can use different models (methods) to solve same problems.