1.2 基本术语
机器学习的过程与人类学习的过程十分类似,必须有大量的西瓜数据,这些数据构成训练数据集。机器从这些训练数据集中学习,这个过程类似人类的归纳推理,从而获得隐藏在数据背后的模型,然后利用这个模型对不在训练集中的新西瓜进行预测,根据预测的准确率来评判模型的优劣。一般来说,训练数据集越大,机器学习到的模型的预测性能就越好。
机器学习的本质是计算机通过数据来拟合隐藏在数据背后的模型。注意是拟合模型,不是推导模型。物理学家的研究目的是推导出确定模型,如建立自由落体公式,机器学习专家研究的目的是用数据来拟合模型,如根据自由落体不同时刻下落距离的一系列数据,建立拟合模型来预测任意时刻的下落距离。所以如果一个问题已经存在确定模型,就不需再用机器学习。
怎么确定机器真正学习到了挑选西瓜的知识呢?这只能提供一些不在训练集中出现过的新西瓜,让机器根据它们的根蒂、敲声、触感和纹理等属性来判断好坏,判断的准确率越高,就说明机器掌握挑西瓜的知识越好。
我们把每个西瓜数据称为一个样本,每个样本数据包括两部分:一部分是西瓜属性数据,也称为特征属性,如根蒂、敲声、触感和纹理等;另一部分是西瓜好坏的标签,表示为(x, y),其中x是属性数据取值,如根蒂=蜷曲、敲声=清脆、触感=硬滑、纹理=模糊等,y 是标签,表示西瓜的好坏。标签取值为离散值,是分类问题:如果离散值只取两个,则是二分类问题,如本例中西瓜标签取“好”和“坏”两个值;如果离散值取多个,则是多分类问题,如0到9的数字识别是10分类问题,而二分类问题是多分类问题的基础。标签取值为连续值,是回归问题。如果不仅要判断西瓜好坏,还要进一步判断西瓜好坏的程度(0表示最坏,1表示最好,0.35表示较坏,0.75表示较好等),就是回归问题。
机器学习得到的模型,本质上是得到从特征属性x到标签y的映射f:y=f(x, w),其中w是模型参数。在神经网络模型中,w是所有权重参数,有的映射不包含参数 w,如最近邻和朴素贝叶斯。对于二分类问题,通常令y={+1, -1};对于多分类问题,则|y|>2;对于回归问题,y∈R,其中R是实数集。本书中映射和模型两个词同义,有时混用,请读者注意。
如何评价模型好坏呢?可以让模型预测新样本,得到预测标签yˆ, yˆ=f(x, w)。本书中,如果标签上有帽子上标,则表示预测标签,无上标则表示真实标签。预测标签与真实标签进行比较,以评判预测效果,进而评价模型的好坏。注意评价模型好坏时,必须使用新样本,即没有在训练集中出现过的样本,这样才能真实评价模型的性能,模型预测新样本的能力称为泛化性能。评价一个模型泛化性能时采用的样本集称为测试集。
如果采用训练样本进行预测,则机器学习算法可以采用偷懒的办法来达到极高的准确率,甚至100%。因为算法只要死记硬背所有的训练样本,预测时使用查询方法,准确率即可达到100%,但实际上算法没有进行任何有意义的学习。这和学生学习类似,老师为了评估学生的学习效果,需要组织考试,如果把答案提前告诉学生,则学生只需死记硬背,就能考100分,但这完全不能真实反映学生的学习能力,只有考试题目学生从来没有做过,才能较为真实地评估学生学习的效果。那是不是只要试卷上的题目是学生没有做过的,就是好试卷?显然不是,题目必须是专家精心设计的,能涵盖大部分知识点、难易适中。测试集和训练集好比试卷,必须精心设计,尽量覆盖样本分布空间。