原文地址:https://www.jianshu.com/p/f2f4d509060e
机器学习是设计算法(A),在假设集合(H)里,根据给定数据集(D),选出与实际模式(f)最为相近的假设(g)((g)可能与(f)相同,也可能不同)。
那什么情况下学习是可行的?即保证(g)和(f)是相似的。
- 数据集内的表现(g)约等于(f);
- (g)在数据集外的表现约等于(g)在数据集内的表现。
结合1、2可保证,由算法在给定数据集上学习到的(g)(即数据集内的表现(g)约等于(f))在数据集外的表现也约等于(f),即(g)与(f)相似。
一、如何保证2?
数据集内表现相同的多个假设在数据集外的部分数据上表现相差极大,即学习效果极差。
霍夫丁不等式:有一个装有绿色小球和橘色小球的罐子(假设球数无限),从中进行(N)次有放回的取球实验,在这(N)次实验中取出橘色小球的频率为( u),只要(N)足够大,就可以用( u)来估计(mu)即罐子中橘色小球的实际概率。
将霍夫丁不等式与学习相联系。当(h)选定时,只要(D)里样本数(N)足够大且样本点独立同分布,就能保证(h)在整个输入空间里的表现(异常点的概率)与数据集内的表现((D)里异常点的频率)在一定的概率范围内近似相等。
注意,(E_{out}(h))实际是面向整个输入空间的,即数据集(D)内和数据集(D)外。
二、如何保证1?
(A)根据(D)在(H)中选出使得(E_{in}(h))小的(h)。
注意,2的保证是在给定(h)的情况下,即(h)的选择只有1个。
但是,1的保证需要在(H)中进行选择,如果(H)的(size>1),即(h)有很多个,可能有限也可能无限,那么2的保证是否会受到影响呢?
坏数据:对于一个(h),使得(h)在该数据内外表现差异很大的数据认为是坏数据。
可以理解为霍夫丁不等式的左式中概率衡量的事件:(E_{in}(h))和(E_{out}(h))的差异大于容忍度(epsilon),即对于一个(h),存在坏数据的概率小于等于霍夫丁的右式。
对于一个输入空间(X),能够产生的用于训练的数据(D)有很多个,若对于一个(h),给定的数据刚好就是坏数据的概率是小于等于霍夫丁的右式的;若有(M)个(h),给定的数据是其中某个(h)的坏数据的概率是小于等于数据为(h_1)的坏数据的概率+数据为(h_2)的坏数据的概率+数据为(h_3)的坏数据的概率+......+数据为(h_M)的坏数据的概率。本质是求并集(小于等于的原因是有可能存在交集)。这里的(M)实际是(|H|),即(H)的(size)。
只要(M)是有限值、(N)足够大,不等式的右式就能足够小。
所以,
只要假设集大小有限、(N)足够大 ------ 保证(E_{in})和(E_{out})的差异在容忍度内,
(A)根据(D)在(H)中挑选出(g) ------ 保证(E_{in})小,
就能说学习是PAC可能的。
但是,如果输入空间(X)是无限的,那理论上对应的(H)的数量也是无限的,即当(|H|)无限大时,该怎么办呢?