周志华《机器学习》读书笔记(一)

本书前几章讲的都是基本术语,最硬核的数学部分不多,因此比较简单。算法


机器学习的主要内容,是从数据产生模型,再由模型作出相应的判断和预测机器学习

好比已经知道某房屋所在街区的其余房屋的价格,经过给这些面积,价格等各异的其余房屋的数据进行分析,产生模型,利用此模型来预测本房屋的市场价格。函数


一. 基本术语性能

对一批西瓜,咱们可以观察了解到色泽、根蒂、敲声等特征。好比如今获得的数据以下所示:学习

(色泽=青绿;根蒂=蜷缩;敲声=浊响)
(色泽=墨绿;根蒂=稍蜷;敲声=沉闷)
(色泽=浅白;根蒂=硬挺;敲声=清脆)

对于这样的一组数据,咱们有以下概念:测试

数据集:这组数据的集合spa

示例/样本:数据集中,每条记录都是关于一个事件or一个对象(这里是一个西瓜)的描述,所以这里的每条记录都被称为“示例or样本”code

属性:反应事件or对象在某方面的属性or性质的事项,就是属性。这个例子中,色泽、根蒂、敲声,三者都是“属性”orm

属性值:属性上的取值,即为“属性值”,这个例子里,“青绿”、“乌黑”等都是属性值xml

属性空间/样本空间/输入空间:属性张成的空间。大白话而言,就是,一个属性,就是一根坐标轴,就是一个维度。在这个例子中,因为每一个西瓜都有色泽、根蒂、敲声这三个属性。所以对每一个西瓜而言,它均可以在这个三维的属性空间里,找到本身的位置。

特征向量:因为空间中的每一个点,对应一个坐标向量。相应的,一个示例,也被称做一个“特征向量”

维数:对于某一个属性空间而言,维数其实就是属性的数量。该例中,维数为3维,可是若是咱们再加入纹理、触感两个性质,维数就成5维了,这十分显然。

标记:关于示例的结果的信息。好比

(色泽=青绿;根蒂=蜷缩;敲声=浊响)


这个示例,咱们根本无法知道这是“好瓜”or“坏瓜”。这种时候,咱们能够加上示例结果的信息

(色泽=青绿;根蒂=蜷缩;敲声=浊响),好瓜)

在这里,"好瓜"就是这个示例的标记

标记空间、输出空间——全部标记的集合。

样例:一个示例拥有了标记,咱们就称它为“样例”

学习/训练:从数据里学得模型的过程

训练样本/训练示例:训练过程中的每一个样本

训练集:训练样本组成的集合

测试:用模型进行预测的过程

测试样本/预测示例:被预测的样本

监督学习:训练数据有标记信息

无监督学习:训练数据无标记信息


二. 假设空间——从“概括”与“演绎”提及

概括,是从特殊到通常的“泛化”过程。

演绎,是从通常到特殊的“特化”的过程。

显然,机器学习,是从训练集的有限的数据中,得出“泛化”的模型,获得最后的假设,即结果。所以,进行学习的过程,实质也就是从“全部假设组成的空间中”(这就是假设空间定义)进行搜索,搜索目标是找到与训练集得以匹配的假设。

好瓜→(色泽=*)^(根蒂=*)^(敲声=*)(*表示通配符,此处意为可能会取任何属性值)

上面这行,即为选西瓜例子中的假设空间。

虽然目标为得到与训练集一致的假设便可,但实际状况中,因为假设空间特别大,每每会有多条假设都能知足条件。

通常的,咱们把这些知足条件的假设组成的集合称为“版本空间”。


三. 概括偏好

实际状况中,因为版本空间的问题,致使与它们对应的样本面临新样本的时候,输出结果可能千差万别。

所以,咱们的学习算法,必需要有必定的“偏好”。

通常的,机器学习算法在学习过程当中,对某种类型假设的偏好,称为“概括偏好”or“偏好

例如,若是算法喜欢更泛化的模型,它可能会选择:

好瓜→(色泽=*)^(根蒂=蜷缩)^(敲声

与此同时,若是算法喜欢更特殊的模型,它可能会选择:

好瓜→(色泽=*)^(根蒂=蜷缩)^(敲声=沉闷)


这里须要强调一点在于,上述两种算法,未必有高低之分。由于训练集和测试集的数据是不同的。咱们是不能肯定,泛化性能好一些的表现更好,仍是泛化性能差一些的表现更好的。所以,咱们接下来要论述NFL定理


四. NFL定理

NFL定理,No Free Lunch定理。具体含义指: 针对某一域的全部问题,全部算法的指望性能是相同的

对于“二分类问题”而言,有以下式子

(1.1)


其中:

(1)表明“样本空间”,为“假设空间”,这二者都是离散的

(2)为“训练数据”,故的意义是“训练集外”。这是由于算法性能,是经过衡量训练集外偏差获得的,即 off-training errorote

(3)表示当使用算法时,基于训练集,产生假设的几率。


咱们能够设"咱们但愿学习的真实函数”是f。这里咱们假设其均匀分布(请注意这里这个假设!后面会说起!)则对于某肯定的算法,对全部可能的f的偏差进行求和。(1.1)式变为:

(1.2)


而后由于乘法交换律,显然的(1.2)变为:

(1.3)

上面从左往右依次有三项。

考虑一下,最后一项,其实相似于一个指望,而因为f是一个均匀分布的。对全部的f之和,这项实质是,总的样本空间大小的一半。


(1.4)

对(1.4)而言,中间这项,因为是对训练集训练出的全部可能的h进行求和。显然这个几率必定为零(其实就是全几率公式。若是有点想不明白,就联想,对于骰子摇到6个面的几率之和,显然为1)

所以(1.4)变为:

(1.5)

注意上式中,与你具体采用何种算法是无关的!

回顾一下咱们最初给出的结论。NFL定理指: 针对某一域的全部问题,全部算法的指望性能是相同的。


细心阅读的读者,应该还记得我在前面强调过,在推导公式的时候,咱们假设,咱们但愿学习的真实函数是“均匀分布”的。然而事实是,在实际状况中。全部问题出现的机会并非相同,或者说,这些问题并非同等重要的。

也所以,NFL定理最大的意义,其实在于告诉咱们,脱离具体问题,空泛的谈论,哪种学习算法更好,是没有意义的







(第一章完)