1. Introduction of Machine Learning
-
背景提要:
人工智慧是目标,机器学习是实现该目标的手段,而深度学习是机器学习中的方法之一。
hand-crafted rules(人类设定规则)已经不可取了,现在进行的是machine learning
-
机器学习三步骤:
step 1:定出一个function set;
step 2:让machine可以衡量一个function的好与不好;
step 3:让machine有个好的演算法可以挑出最好的function。
-
Learning Map:
图中蓝色部分指scenario,指学习情景,通常学习情境是我们没有办法控制的,比如做Reinforcement Learning是因为我们没有data、没有办法来做Supervised Learning的情况下才去做的。如果有data,Supervised Learning当然比Reinforcement Learning要好。因此手上有什么样的data,就决定你使用什么样的scenario;
红色部分指task,即要解决的问题。要解决的问题,随着需要的function的output的不同,有输出scalar的Regression、有输出options的Classification、有输出structured object的Structured Learning…
绿色部分指Method/Model,即用来解决问题的模型(function set)。在这些task里面有不同的model,也就是说,同样的task,我们可以用不同的方法来解它,比如linear model、Non-linear model(deep Learning、SVM、decision tree、K-NN…)。
-
Supervised Learning:
Supervised Learning的过程,其中Classification的Model分为Linear Model和Non-linear Model,Non-linear Model中最出名的就是Deep Learning,除外还有SVM,decision tree,K-NN;
而Supervised Learning最大的特点在于需要输入大量的训练数据,告知我们找到的function要input和output之间什么样的关系;
其中function的output通常叫做label(要依靠人工的力量把它标注出来,要花很多的effort)。
Regression:一种machine learning的task;
Regression里面输出的是一个数值。(例子: 预测PM 2.5天气预报)
Classification:
与Regression的区别在于二者输出的类别不一样,在Regression里机器输出的是scalar,而Classification又分为两类:
Binary Classification:机器输出”yes” or “No”。( 例子:Spam filtering,其训练数据是一群已经标识出是yes或者是no的邮件)
Multi-class Classification:机器做一个选择题,从数个类别中选择正确的类别。(例子: Document Classification,其训练数据是一群已经被标识出是什么类别的文件)
不同于Supervised Learning的,可以减少data用量的方向有:
Semi-supervised Learning,有标识的数据,也有没有标识的数据;
在Semi-supervised Learning的技术里面,这些没有labeled的data,对机器学习也是有帮助的;
Transfer Learning,有标识的数据,也有无关的有标识和无标识的数据;
Transfer Learning要解决的问题是,这一堆不相干的data可以对结果带来什么样的帮助;
Unsupervised Learning,只有function的output,没有input;
Unsupervised Learning希望机器学到无师自通,看在完全没有任何label的情况下,机器到底能学到什么样的知识;
举例来说,如果我们给机器看大量的文章,机器看过大量的文章之后,它到底能够学到什么事情?它能不能学会每个词汇的意思?
学会每个词汇的意思可以理解为:我们要找一个function,然后把一个词汇丢进去,机器要输出告诉你说这个词汇是什么意思,也许他用一个向量来表示这个词汇的不同的特性,不同的attribute;
又比如,我们带机器去逛动物园,给他看大量的动物的图片,对于Unsupervised Learning来说,我们的data中只有给function的输入的大量图片,没有任何的输出标注;在这种情况下,机器怎么学会根据testing data的输入来自己生成新的图片。
Structured Learning,得到的是一个复杂的、有结构性的输出;
举例来说,在语音识别的情境下,机器的输入是一个声音信号,输出是一个句子;句子是由许多词汇拼凑而成,它是一个有结构性的object;
或者说机器翻译、人脸识别(标出不同的人的名称)。
Reinforcement Learning
与Supervised Learning比较:在Supervised Learning里,会告知正确的答案是什么,而在Reinforcement Learning里面不告知正确答案是什么,机器得到的只是一个分数,更加符合人类真实学习的情景。(Alpha Go is supervised learning + reinforcement learning.)