第一章 绪论 略
第二章 监督学习 supervise learning
监督学习,是指: 利用一组已知类别的样本作为输入,通过不断调整分类器的参数,使其达到所要求的性能的过程。也称为监督训练或有教师学习。
简单的来说,监督学习就是“通过实例学习类”,在最简单的二元分类问题中,类 无非就只有正例(positive example) 和 负例(negative example)。类学习就是寻找一种关于实例的描述,它能够涵盖所有正例,而不符合这种描述的则全部视为负例。
用书中的例子,假设我们要学习一个类C 称“家用汽车”,即判断哪些特征说明一辆车是家用汽车,简单起见我们只考虑两个因素(feature):“价格”与“发动机功率”
- 用 x1 表示价格, x2 表示发动机功率,一辆汽车可以用一个矩阵表示:
x=[x1x2]
而它所属的种类,我们称为标签(label)无非就两个:是家用汽车,或者不是。我们如下表示:
l(xi)=⎧⎩⎨ 1, 0,xi 属于家用汽车(正例)xi 不属于家用汽车(负例)
则对于一个汽车数据集 X,假设一共包括m辆车的信息,我们可以这样表示:
因为每个实例只有两个特征项,用平面坐标把数据点全部表示出来,结果如下(很无耻的用了书上的截图)
通过对数据的分析,得到的、关于真实的家用汽车描述如下:
画图表示为:
这个阴影矩形(也就是表示所有家用汽车的两个特征的参数范围)C的准确表示由p1,p2,c1,c2四个参数决定。我们无法得知这四个参数。因此也无法得知最后我们得到的假设类(hypothesis class)h和真实类C之间的匹配程度(理解为相差多少)。如下图表示:
由于我们给的实例样本只有m辆车的数据,所以我们学习到的假设类h并不准确,在用这个假设类h去判断其他数据的时候,有可能h判断与真实情况不符,这时候的误差称“经验误差”,表示为h的预测值与真实情况不符的实例个数占输入总体的比例。
为了让h逼近真实类C,一种可能的方法是找出最特殊的假设(most specific hypothesis),使得它包括的实例一定属于C,我们可以理解为找一个h,h是C的子集。这样的类h我们称诱导类S,同时我们也可以找到一个最一般的假设(most general hypothesis),理解为找一个类G使得C一定位于G之中,C是G的子集。
S、G都是人为找的,所以有无限种可能。只要我们定义的假设h位于[S,G]之间都是有效的,这个区间[S,G]又称h的解空间。寻找S集和G集,在Tom michell的《machine learning》中有一个候选人删除算法。本块属于concept learning 的内容,不过多涉猎了,有兴趣再看看。
关于VC维
在一个m个数据点的数据集中,有
VC维用于度量假设类H的学习能力
概率逼近正确学习(probably approximately correct)
PAC学习中,给定的类C,并从一个未知的,但是具有明确的概率分布p(x)的数据中抽取样本。我们希望找到样本数N,使得对于任意的
其中 C-h 表示 C 与 h 两个集合的差,也就是 假设h 的误差。
接着上一节讲到的S、G的概念,让h=S,类C与h=S的误差区域是下图中的四个条带(C-h剩下的一个边框),我们希望正例落在该方框的概率最多为
在这个图上只有一个条带用阴影表示了出来,如果落在一个条带的概率不超过
容易得知,所有N个独立样本不在这四条带上的概率最多为 4(1-
解得不等式有
可知至少在C中抽取
噪声
噪声是数据中的有害的异常,噪声会干扰、误导类的学习。引入噪声的可能途径有:
- 记录的输入数据属性值
xi 不准确 - 数据的标签
y (label)搞错了 可能存在没有考虑到的附加的属性,他们会影响label
当数据存在噪声的时候,正负例之间不存在明显的简单边界,在选取模型的时候,简单的模型往往存在高偏差(high bias),复杂的模型往往存在高方差(high variance),求解最优解的过程也就是寻找同时具有低偏差和低方差的过程。一般来说我们认为简单的模型泛华能力更好,这个“常识”的理论背景是“奥卡姆剃刀”规则。
回归
在分类问题里面,如果输出并不是离散的值(如布尔值0/1)而是一个连续的,数值型的答案,那么我们称这是回归(regression)类型的问题。
理想情况下,假设数据不存在噪声,那么就变成一个插值问题。在多项式插值中,给定N个点,我们就可以用来预测任何x为输出的N-1阶多项式。引入噪声,将噪声加到未知函数的输出上:
模型的选择与泛化
以布尔函数举例: n个输入对应着
但是这是远远不够的,即使输入了m个数据,仍然会有
没有归纳偏置,学习是不可能的,我们要考虑的是“如何进行归纳偏置”,比方说开头家用车的例子,我是该假设矩形内的是“家用车”还是假设圆形内的是“家用车”。这就是模型选择问题。而模型是否可用、性能好坏这就是“泛化问题”。