首页 > 代码库 > 机器学习基石第五讲笔记

机器学习基石第五讲笔记

通过前四讲可知,在假设集大小(M)有限的条件下,机器是可以学习的。第五讲的目的是解决M为无限大时,机器是否能学习的问题。

为什么在假设集大小(M)有限的条件下,机器是可以学习的?

1. 其依据是Hoeffding不等式:

技术分享

 

 

这个不等式说明了,训练集的错误率Ein(g)和测试集的错误率Eout(g)的差距太大(>ε)这件事情发生的概率是有上界的,这个上界由M、ε和N(样本量大小)决定。

这个不等式的由来是在第四讲之中。如果某份资料对于假设集的全体,至少存在一个假设g使得Ein(g)和Eout(g)的差距大于ε,那么就认为这份资料是不好的。对于某一个假设h来说,P[|Ein(h) - Eout(h)| > ε] ≤ 2exp(-2ε2N)。因为假设集的大小是有限的,设为M,则有P[|Ein(g) - Eout(g)| > ε] ≤ 2Mexp(-2ε2N)

上式只对M有限时成立。当M为无限大时,尽管假设各不相同,但是它们之间的错误率可能是相似的,即有重叠部分。例,在PLA中,两条很接近的直线,可能把数据分成相似的两类。所以用上式来估计上界其实是过大了,忽略了不同假设之间错误率重叠的部分。因此,希望找到一个数m(<<M),重新估计这个上界。

如何找到代替M的m?

2. 考虑PLA的例子。尽管PLA的假设集是R2上的所有直线,但是对于无限多的直线,可以进行有限的分类。分类的依据是这条直线对数据如何分类。对数据给出相同分类的所有直线归成一类。这样若有N个数据点,则最多有2N类直线(因为PLA只将数据分成两类)。

3. 将PLA做延伸,依据输出空间的不同划分假设集H。假设H是包含所有假设的集合,h是H中的一个元素,将从输入空间中取出的一份含有N个点的资料(x1, x2, ..., xn)中的每一个点分成了两类中的某一类,即

技术分享

称所有将相同资料归为同一类的假设组成的集合为dichotomy。比如,有一个h将资料的4个点全部判为圈圈,另外一个号也对这同样的4个点全部判为圈圈,那么这两个h就分在同一个dichotomy中。对于H来说,其包含的dicho的数量的上界为2N(一个点只能属于两类中的一类)。由于dichotomy的数量,取决于输入的数据的维度,例:若数据的维度为4,则至多有24种dichotomy,所以为了去除对输入的依赖,定义成长函数(growth function):

技术分享

即在输入空间X中取N个点,使得dichotomy数量最大。比如PLA中,取1个点时,dichotomy数量为2,取2个点时为4,取3个点时最多为8(若3点共线,则只有6种)。其意义是,根据输入的N个点,H能将这N个点判为不同类型的组合的最大数量。

5. 若有N个点,根据这N个点做出的dichotomy包含了H的所有可能的dichotomy,则称这N个点shatter了H。比如,当只有一个点k时,只有两种dichotomy,即叉和圈。而H中刚好既有将这个点分为叉的假设,又有将这个点分为圈的假设,则称这个点shatter了H。

6. break point:第一个无法做出所有dichotomy的点。令mH(k) < 2k,可解出第一个无法做出所有dichotomy的k。当存在break point时,成长速度mH(N) = O(Nk-1)。

机器学习基石第五讲笔记