2.1 监督学习的概念
监督学习本质是一种模仿学习,其框架可以用图2.1表示。
图2.1 监督学习
在这个框架里,输入为X,输出为Y。我们的目标是学习一个目标函数f,使得
f(X)≈Y
注意到这里用了约等于号,因为有时候精确的等式是很难获得的,而且有的时候输出Y也不一定总是对的,所以能够在绝大部分情况下做到两者近似相等便十分不错。X,Y,f这三个元素构成了监督学习的核心框架。
在此框架中,输入X和输出Y可以是任何内容,比如图片、数字、声音、文字,等等。但对于具体问题,X和Y的格式通常是固定的。例如,我们可以考虑最经典的基于MNIST标准数据集的手写数字识别问题,如图2.2所示。
图2.2 MNIST数字图片示例
在这个问题中,每个X是一个28×28像素的图片,例如。Y是{0,1,…,9}中的某个数字,表示这个图片里面包含的数字是什么。而f则是一个将读入图片中数字进行识别的函数。在理想情况下,f应当有如下的表现:
注意到,f的输入是由像素组成的图片,属于R28×28,而输出的则是一个数字,属于{0,1,…,9}。
另一个例子是经典的基于Imagenet数据集(1)的图片分类问题。
在这个问题中,每个输入为一张大小为224×224×3的RGB的彩色图片,表示有红、黄、蓝三个颜色通道,每个通道分别是224×224个像素点。输出则是一个类别编号(1~1000),分别表示猫、狗,等等,比如猫的类别编号是3,狗的类别编号是589。而f则是一个能对读入图片中的物体进行识别的函数。与前面的例子一样,一个理想的f应当有如下的表现:
上述的框架不仅可以用于图片的识别,也可以应用在其他场景。一个例子是电影的评价。这时,输入x可以是影评,输出y可以是判断影评是正面还是负面,而一个理想的f应该有如下的表现:
f(“这部电影太有意思了”)=正面
f(“不要去看这个电影,纯粹浪费时间”)=负面
上述的例子均为分类问题(classification),即将输入x判别为某种类别,例如A类、B类、C类,等等。对于这样的问题,类别的总个数是有限的,也是事先固定的。但机器学习还有另一类问题,叫做回归问题(regression),指的是把输入x映射到某一个连续的空间(例如实数轴)中。例如,如果x表示人,可以将他/她根据性别分成两类,这就是一个分类问题。但也可以根据他们的年收入做成一个回归问题,因为年收入是一个连续的数(当然,如果把年收入粗糙地分为1万元以下、1万~5万元、5万~10万元、10万元以上,那么这个问题就是一个分类问题了)。分类问题与回归问题是监督学习框架中最重要的两类问题。第3章中会介绍如何使用线性方法处理这两类问题。