台大林轩田老师《机器学习基石》课程笔记2:Why can machines learn?

注:笔记大纲请移步这里。

2 Why can machines learn?

2.1 Training vs Testing

2.1.1 Recap

两个核心问题:

  • 能否保证\(E_{out}(g)≈E_{in}(g)\)
  • 能否使得\(E_{in}(g)≈0\)

理解:

  • 1.如果g≈f,则必有\(E_{out}(g)≈0\)
  • 2.数据集D是在输入总体X上随机采样,并通过未知的映射模式f得到的(总体X的分布P是未知的);
  • 3.只要M是有限的,且N足够大,那么Hoeffding不等式就能以PAC的方式,庇佑假设空间中每一个h都不会在D上踩雷,即以PAC的方式保证\(E_{out}(g)≈E_{in}(g)\);此时,算法A就可以自由选择想要的h作为最终的g,而不用担心选择的h不满足\(E_{out}(g)≈E_{in}(g)\);(换句话说,只要M和N达到1.4.4节的要求,就能以PAC的方式保证\(E_{out}(g)≈E_{in}(g)\))
  • 4.在满足上一条情况下,如果算法A选择了某个h,使得\(E_{in}(g)≈0\),则可以获得\(E_{out}(g)≈0\)
  • 5.虽然能以PAC的方式保证\(E_{out}(g)≈E_{in}(g)\),但天有不测风云,万一运气超背踩到雷,则不能保证\(E_{out}(g)≈E_{in}(g)\),所以训练之后还需要测试,让心里有个底。

大M小M的权衡如下,故当M为无穷大时,能否找到一个\(e^{2Nε^2}\)的低阶无穷大(记为\(X_H\))来代替M,就成了解决第一个核心问题的关键。

  • M较小:好处是踩雷概率小;坏处是选择太少,可能无法获得\(E_{in}(g)≈0\)
  • M较大:好处是选择较多;坏处是踩雷概率大。

从踩雷容忍度和踩雷概率的角度来看:

2.1.2 寻找\(X_H\)

几个概念:

  • dichotomy(二分类):一个h对数据集D中N个样本的输出就称为D的一种dichotomy,即\(h(x_1,x_2,...x_n)\),一个dichotomy就是D的一个划分。很显然,对于二分类问题,任意 Hypothesis Set 对N个样本最多有\(2^N\)种dichotomy,即\(H(x_1,x_2,...x_n)≤2^N\) 。如果Hypothesis Set能将数据集D中N个点分解成\(2^N\)种dichotomies,则称该Hypothesis Set 能 shatter 该D。
  • 成长函数(Growth Function):\(m_H(N)=max|H(x_1,x_2,...x_n)|\)。比如在二维线性分类中,\(m_H(N)\)分别为2(N=1)、4(N=2)、8(N=3)、14(N=4)...。注意:成长函数\(m_H(N)\)是 Hypothesis Set本身的性质,它代表了 Hypothesis Set 最多能将N个样本分成多少种 dichotomy,也就是我们所说的H最多可以归纳成几种 hypothesis(即effective number of hypotheses)。
    • 对于确定的H,无论样本怎么变化,只要样本数N确定,最大的dichotomy数量(也就是成长函数的取值)就是确定的。比如对于PLA,\(m_H(3)\)就等于 8 (6和8的最大值是8)。
    • 不同的Hypothesis Set有不同的\(m_H(N)\),例如:

  • Break point:当N从某一点k开始,Hypothesis Set 做不出\(2^N\)种 dichotomy(即该假设空间不能shatter数据集中N个点,shatter为全部打散),这个对我们意义重大的点k就称为Hypothesis Set 的 Break Point。一旦Hypothesis Set出现Break Point点k,则原来增长极快的\(m_H(N)=2^N\),会被迅速拖住,使得当N=k+1、k+2、k+3...时,\(m_H(N)\)\(2^N\)差距越来越大。例如在二维线性分类中,\(m_H(N)\)分别为2(N=1)、4(N=2)、8(N=3)、14(N=4)、22(N=5)...

用成长函数\(m_H(N)\)代替\(X_H\)仍然不够理想,因为不同的Hypothesis Set有不同的\(m_H(N)\),在某些情况(没有Break Point)下,\(m_H(N)\)可以一直取到上限值\(2^N\),而我们的目的是要找到一个\(e^{2Nε^2}\)的低阶无穷大,且希望\(X_H\)与Hypothesis Set细节无关。

2.2 Theory of generalization

2.2.1 Bounding function

尽管不同的Hypothesis Set有不同的\(m_H(N)\),但是可以证明,只用一个Break Point即可控制住不同的\(m_H(N)\)上限。记D中样本个数为N,Break Point为k,\(m_H(N)\)上限为B(N,k):

  • 当N<k时,\(B(N,k)=2^N\)
  • 当N=k时,\(B(N,k)=2^N-1\)
  • 当N>k时,\(B(N,k)≤B(N-1,k-1)+B(N-1,k)\) (该情况更常见)

Bounding function(与Hypothesis Set已经无关)可总结为:

上述不等式的右边是最高阶为k-1的N多项式,也就是说成长函数\(m_H(N)\)的上界B(N,K)的上界满足多项式分布poly(N),这就是我们想要得到的结果。也就是说,如果能找到一个Hypothesis Set的break point,且是有限大的,那么就能通过Hoeffding不等式,利用增大样本数N限制住“踩雷概率”,使得预测准确率和训练准确率的差值超出误差的概率尽可能的小。

2.2.2 VC Bound

事实上并不能简单用成长函数去替换\(X_H\),在无限假设空间下训练误差和预测误差真正满足的公式长这样(第二行,证明略):

小结:

  • 只要存在break point,那么其成长函数\(m_H(N)\)的上界就是N的k-1阶多项式,是\(e^{2Nε^2}\)的低阶无穷大,因此可以通过VC Bound不等式,利用增大样本数N限制住“踩雷概率”。即只要break point存在,且N足够大,那么就能保证\(E_{in}≈E_{out}\)
  • 若要成功学习,需要四个条件:1.好的D(N足够大);2.好的H(存在break point);3.好的算法A(能选出\(E_{in}\)最小的h);4.一点点运气(不要踩到雷)。
  • 注意理解:VC公式中,至少存在一个h踩雷的概率被限制在一定范围。

2.3 VC dimension

核心:根据VC Bound推导结论。

2.3.1 VC dimension 定义

VC dimension定义:\(d_{VC} = k - 1\),或者说H最大能shatter的D的个数。(数据集D是否可被shatter,取决于:1.\(d_{VC}\)与N的大小关系;2.D的分布P。)

VC dimension是H本身固有的性质。

2.3.2 VC dimension of Perceptrons

若感知机的维度为d,则\(d_{VC} = d+1\)

证明方向:

  • 1.证明\(d_{VC} ≥ d+1\):构造一个特殊的D,内含d+1个样本点,构成的X可逆,则对于任意一种dichotomy,都有对应的解\(w=X^{-1}y\),即D能被shatter;
  • 2.证明\(d_{VC} ≤ d+1\):对于任意一个有d+2个样本点的D,由于样本点的长度为d+1(包括常数项),故该X中各样本向量必定线性相关,即存在某一个样本点可用其余向量表示,则当等式两边均乘以某一个\(W^T\)时(一个W对应一个超平面),该样本点的正负即随之而定,不存在可正可负的情况,即说明d+2个样本点无法被shatter。

2.3.3 VC dimension的意义

意义1:只要存在有限\(d_{VC}\),且N足够大,那么就能保证\(E_{in}≈E_{out}\)。(不用关心P、f、A的情况。)

意义2:\(d_{VC}\)是H能够shatter的最大个数,表征了H的表达能力。\(d_{VC}\)越大,模型的表达能力就越强,则更有能力选出更小的\(E_{in}\)

意义3:\(d_{VC}\)越大,模型复杂度越高,踩雷概率变大,VC Bound不等式对复杂度的惩罚(Ω)就越大。即如果要维持踩雷概率δ,保证同样的泛化误差ε,则需要更多的N。(注意δ和ε的关系式)

\(d_{VC}\)是矛盾的中心,\(d_{VC}\)越大,\(E_{in}\)越小,但是\(E_{in}\)\(E_{out}\)偏差就越大。如果我们希望获得更好的预测表现,并不能一味地追求更大的\(d_{VC}\),模型复杂度也并非越高越好,控制和选择合适的\(d_{VC}\)是机器学习算法设计非常重要的技巧。

注意:

  • \(d_{VC}\)是H能够shatter的最大个数,表征了H的表达能力。\(d_{VC}\)越小,踩雷概率δ越小,但H的表达能力越弱;\(d_{VC}\)越大,H的表达能力越强,但δ越大。
  • \(d_{VC}\)表征了二分型H的自由度,大致等同于可调节的独立参数。例如Positive Rays(\(d_{VC}=1\)),Positive Intervals(\(d_{VC}=2\)),感知机(\(d_{VC}=d+1\))
  • 下图是关于成长函数、Bound函数、poly(N)。故由VC Bound可知,当存在break point时:\(P(踩雷)≤4(2N)^{d_{VC}}exp(-1/8Nε^2)\)

  • 模型复杂度:红色石头笔记说是根号这一坨Ω,但课件上说Ω是对模型复杂度的惩罚,实际上Ω这一坨是泛化误差ε的具体表示。故暂认为模型复杂度为模型的自由度,即可调节的独立参数。

2.3.4 样本复杂度

样本复杂度:N的大小。

那么,如果选定\(d_{VC}\),样本数据D的容量N选择多少合适呢?

计算结果显示N大约是\(d_{VC}\)的10000倍。这个数值太大了,实际中往往不需要这么多的样本数量,大概只需要\(d_{VC}\)的10倍就够了。N的理论值之所以这么大是因为VC Bound 过于宽松了,我们得到的是一个比实际大得多的上界。宽松原因如下。

值得一提的是,VC Bound虽然比较宽松,但很难进一步收紧。但是,令人欣慰的一点是,VC Bound基本上对所有模型的宽松程度是基本一致的,所以,不同模型之间还是可以横向比较。从而,VC Bound宽松对机器学习的可行性还是没有太大影响。

2.4 Noise and error

  • Noise 来源
    • 由于人为因素,正类被误分为负类,或者负类被误分为正类;
    • 同样特征的样本被模型分为不同的类;
    • 样本的特征被错误记录和使用。
  • 之前的数据集是确定的,即没有Noise,我们称之为Deterministic。现在有Noise了,也就是说在某点处不再是确定分布,而是概率分布了,即对每个(x,y)出现的概率是P(y|x)。比如在x点,有0.7的概率y=1,有0.3的概率y=0。数学上可以证明如果数据集按照P(y|x)概率分布且是iid的,那么以前证明机器可以学习的方法依然奏效。P(y|x)称之为目标分布(Target Distribution)。它实际上告诉我们最好的选择是什么,同时伴随着多少noise。

  • Error measure:有0-1 err、Squared err等,Ideal Mini Target由P(y|x)和err共同决定,不同的err选出的g可能不一样。
  • 实际问题中,对false accept和false reject可能选择不同的权重(犯错严重程度不一样、数据不平衡等)。

猜你喜欢

转载自www.cnblogs.com/inchbyinch/p/12548775.html