Machine Learning Fundations

在学习机器学习的具体方法之前必须要明白机器学习的几个本质的问题,即在遇到什么样的问题的时候我们可以使用机器学习的算法?为什么机器学习的算法可以解决实际问题?机器学习是如何解决实际问题的?我们应该选择怎样的机器学习算法去解决实际问题,怎样去调节该算法的参数能更好的解决这个问题。

台湾大学林轩田教授的Machine Learning Fundations 课程比较详细的说明了这些问题,在Coursera上可以学习到这门课程。

首先,需要明确的一点是为什么机器可以学习到东西呢?机器学习学习的一般过程可以用下图表示:

 

QQ截图20140416132056

一般我们应用机器学习方法时,我们有一个输入X(这里X可能是一些具体的特征,或是一些原始的数据,也可能是一些抽象的特征等)和一个输出Y(当Y是离散值时一般对应Classification问题,当Y为连续值时一般对应Regression问题)。假设我们有一个函数f使得X映射到Y,并且根据某个未知的概率从X中产生了训练数据(x_{1}, x_{2}, ..., x_{N}), 机器学习的过程即利用一些机器学习算法根据这些训练数据从一些假设集合中选择一个最接近f的函数g,我们一般用E_{in}(g)来表示g的性能,当E_{in}(g)\approx 0时,一般认为g的性能比较好。

E_{in}(g)=\sum^{N}_{n=1}\frac{1}{N}(g(x_{n})\neq y_{n})

那么我们怎么能够确定我们从训练数据中学习到的g是有效的?在解决这个问题之前,我们需要了解一个著名的不等式——Hoeffding 不等式。

 

S[T]G}TOAM4CUYGDG43%5R5

 

考虑上图所示的问题,假设有一个箱子中有许多绿色的球和橘色的球,并且每种颜色的球所占的比例是未知的。假设橘色球所占比例为\mu,则绿色球的比例为1-\mu。我们可以采用采样的方法独立从箱子中抽取N个样本,此时可以计算这个N个样本中橘色小球的比例,假设这个N个样本中小球的比例为\nu
,那么Hoffding不等式给出了\mu\nu
之间的关系,当N很大时,

P(|\mu-\nu|>\epsilon)\leq2\exp(-2\epsilon^{2}N)

这个不等式告诉我们,当N足够大的时候,我们不需要知道\mu,可以用\nu
来近似的估计。当然这个不等式中另外一个参数\epsilon
表示了\mu\nu
之间的差距。

那么Hoffding不等式怎么保证机器学习学到的g接近f呢?

QQ截图20140416132200

假设现在我们的假设集合中只有一个固定的假设h,当训练数据足够多时,根据Hoffding不等式有:

P[|E_{in}(h)-E_{out}(h)|>\epsilon]\leq2exp(-2\epsilon^{2}N)

这就保证了当N足够大的情况下,E_{in}(h)E_{out}(h)是接近的。然而,这仅仅是针对某个固定的假设h而言,我们无法保证的是E_{in}(h)总是足够小。因此,真正的机器学习过程是从一些假设的集合中选择一个最好的假设。

但我们假设集中含有有限个假设时,例如含有M个假设时有,如果定义P(BAD)为E_{in}(h)E_{out}(h)相差很大的概率,则

                P[BAD]\\
= P[BAD for h_{1} or BAD for h_{2} or ... or BAD for h_{M}]\\
\leq P[BAD for h_{1}]+P[BAD for h_{2}]+...+P[BAD for h_{M}]\\
\leq 2Mexp(-2\epsilon^2N)

当M比较小时,仍能保证E_{in}(h)E_{out}(h)是接近的,当在实际的机器学习问题中M往往很大甚至是无穷大,那么此时似乎就无法保证E_{in}(h)E_{out}(h)是接近的。

这是因为我们使用Union bound的方式将所有的假设发生BAD的概率进行相加,实际上很多的假设发生BAD的数据会重叠,这意味着我们会有一个更紧的上界。

在机器学习领域,为了研究学习过程的一致收敛的速度和推广性,提出了VC维(Vapnik-Chervonenkis)这个概念。VC维的定义是这样的:对于一个假设集合,如果存在H个样本能够被假设集中的函数按所有可能的2的H次方种形式分开,则称假设集能够把H个样本打散;假设集的VC维就是它能打散的最大样本数目H。VC维主要反应的是假设集的学习能力,VC维越大表示学习机器越复杂,学习能力越强。目前尚没有通用的关于任意假设集VC维计算的理论,只对一些特殊的假设集知道其VC维,例如N维空间中线性分类器和线性实函数的VC维是N+1。

引入了VC维的概念后我们可以重新确定上面的边界,具体的推导过程可参考Machine Learning Fundations的课程。

\forall g=A(D) \in H, d_{vc} \geq 2\\
P[|E_{in}(g)-E_{out}(g)|>\epsilon] \leq 4(2N)^{d_{vc}}\exp(-\frac{1}{8}\epsilon^{2}N)

VC维理论告诉我们,有很大概率使得,

E_{out}(g) \leq E_{in}(g)+\sqrt{\frac{8}{N}\ln(\frac{4(2N)^{d_{vc}}}{\delta})}

\delta = 4(2N)^{d_{vc}}\exp(-\frac{1}{8}\epsilon^{2}N)

image

因此,VC维主要表示的是模型的复杂度,可见并不是越复杂的模型越好!

到这里我们已经了解了机器学习的基本问题,当模型的复杂度越高时,我们能够更好的拟合训练数据,但此时模型复杂度的惩罚也越大,即E_{in}(h)E_{out}(h)之间的差距越大,我们需要在这两者之间进行权衡。

posted @ 2014-04-16 15:28  yqp0424  阅读(219)  评论(0)    收藏  举报