林轩田“机器学习基石”笔记(1) 机器学习理论基础

Feasibility of Learning

直观来讲机器学习其实是用采样估计整体

When Can Machines Learn?

No Free Lunch (必须有归纳偏好才可以学习)

林轩田“机器学习基石”笔记(1) 机器学习理论基础
假如没有明确要学习的问题,对于样本,所有的模型假设ff同等重要,那么从D\mathcal{D}中学习去推断D\mathcal{D}以外的是注定失败的。在西瓜书中,把NFL定理认为是归纳偏好。也就是学习必须要偏好某种假设ff,例如使用“奥卡姆剃刀”,偏好简单的模型假设。当然这个假设要跟问题相匹配。

Hoeffding不等式(从概率上理解可学习)

这个不等式可以提供用采样估计整体的PAC上界(PAC指的是Probably approximately correct)。
林轩田“机器学习基石”笔记(1) 机器学习理论基础
这个不等式中ν\nu是采样的统计量,μ\mu是整体的估计量,二者相差ϵ\epsilon的概率上界为2exp(2ϵ2N)2exp(-2\epsilon^2N),其中NN是采样的数量,注意各次采样之间满足独立同分布。这是直观解读,更详细的Hoeffding不等式参见维基百科

Connect to Learning

林轩田“机器学习基石”笔记(1) 机器学习理论基础
对于假设hh,我们把h(xi)h(x_i)是错的当成是黄色小球,h(xi)h(x_i)是对的当成是绿色小球,而xiXx_i \in \mathcal{X}是采样。那么黄色小球的比例ν=E(h(x)f(x))\nu=E(h(x)\neq f(x))EinE_{in},而整体中黄色小球的比例就是EoutE_{out}。所以根据Hoeffding不等式,EinEout>ϵ|E_{in}-E_{out}|>\epsilon的概率有个上界。
实际的学习是从多个hh中找到能使得EinE_{in}最小的hh^*作为学习的结果gg, 使得g=fg=f, PAC. 但是当可选择的hh较多的时候,就必然存在使Ein=0E_{in}=0hh',但是却使得EoutE_{out}很大,称这种hh'叫"Bad Sample"。同理,对于一个hh,存在让EinEout>ϵ|E_{in}-E_{out}|>\epsilon的采样数据集D\mathcal{D},这种D\mathcal{D}叫作"Bad Data"。
林轩田“机器学习基石”笔记(1) 机器学习理论基础
所以推出假设空间H\mathcal{H}为有限集的时候的Hoeffding不等式。(注意每个hh相当于一个装满球的bin,而从采样集D\mathcal{D}中得到νμ>ϵ|\nu-\mu| > \epsilon等于D\mathcal{D}hh的"Bad Data". 那么当前的训练集是某个hh的"Bad Data"的概率有个上界。然后可以得到对于H\mathcal{H}, 能够学到的“most resonable”的hhEinEout>ϵ|E_{in}-E_{out}|>\epsilon有个概率上界,说明这个问题还是PAC可学习的。)

Why Can Machines Learn?

Effective Number of Hypothesis (上面的Hoeffding不等式里的M可以减小)

上面提到针对有限假设空间H\mathcal{H}的PAC可学习的不等式,那个概率上界中提到的MM可能是无穷大的。例如假设空间H\mathcal{H}是二维平面的直线集合。但是实际上从训练集D\mathcal{D}的角度来看,这些直线的种类是有限的。例如两条不一样的直线将训练集分成的两部分是相同的,那就认为这些直线是同一类,因为它们的EinE_{in}相同,EoutE_{out}接近。用Growth Function来表示总共有多少类不同的假设,用mHm_{\mathcal{H}}来表示H\mathcal{H}的增长函数。
林轩田“机器学习基石”笔记(1) 机器学习理论基础
对二分类问题来说,H\mathcal{H}中的假设对D\mathcal{D}中示例赋予标记的每种可能结果称为对D\mathcal{D}的一种“对分”。若假设空间H\mathcal{H}能实现数据集D\mathcal{D}的所有对分,即mH=2Nm_{\mathcal{H}}=2^{N},则称H\mathcal{H}可以把D\mathcal{D}打散。
林轩田“机器学习基石”笔记(1) 机器学习理论基础

Break Point

林轩田“机器学习基石”笔记(1) 机器学习理论基础
使用break point可以降低增长函数到poly(N)
林轩田“机器学习基石”笔记(1) 机器学习理论基础
引入bounding function的概念,为了解决mH(N)m_{\mathcal{H}}(N)是多项式复杂度的问题。
林轩田“机器学习基石”笔记(1) 机器学习理论基础
证明省略
林轩田“机器学习基石”笔记(1) 机器学习理论基础

VC bound (Bad Data发生的概率更紧的上界):

EoutE_{out}替换成EinE'_{in},一系列放缩之后得到,再使用Hoeffding without Replacement:
林轩田“机器学习基石”笔记(1) 机器学习理论基础

VC维

林轩田“机器学习基石”笔记(1) 机器学习理论基础
dd维的Perceptron的VC维是d+1d+1.
改写VC bound:
林轩田“机器学习基石”笔记(1) 机器学习理论基础
变换形式:将ϵ\epsilonδ\delta表示
林轩田“机器学习基石”笔记(1) 机器学习理论基础
最终得到:
林轩田“机器学习基石”笔记(1) 机器学习理论基础
模型不一定越复杂越好!

计算sample complexity:

林轩田“机器学习基石”笔记(1) 机器学习理论基础
为什么sample complexity理论结果比实际经验大这么多?原因就是:
林轩田“机器学习基石”笔记(1) 机器学习理论基础