首页 > 代码库 > 【机器学习基础】理解为什么机器可以学习2——Hoeffding不等式
【机器学习基础】理解为什么机器可以学习2——Hoeffding不等式
引入
在上一小节"理解为什么机器可以学习——PAC学习模型"中,我们主要讨论了假设的错误率问题和如何说一个学习器是可学习的,并给出了PAC学习理论。这一小节,我们将沿着这个方向,讨论一下,有限假设空间的样本复杂度,并用Hoeffding不等式来界定概率边界。
假设空间的样本复杂度
PAC可学习性很大程度上由所需的训练样本数量决定。随着问题规模的增长所带来的所需训练样本的增长称为学习问题的样本复杂度(sample complexity)。在多数实际问题中,最限制学习器成功的因素是有限的可用的训练数据。
我们通常都喜欢能与训练数据拟合程度更高的假设,当一个学习器在可能时都输出能完美拟合训练数据的假设时,我们称该学习器是一致的(consistent)。这就要求训练错误率是0。
遗憾的是,如果假设空间里不总是能找到一个零错误率的假设,这时,最多能要求学习器输出的假设在训练数据上有最小的错误率。
在更一般的情形下,我们要考虑学习器有非零训练错误率的假设时,仍能找到一个边界来限定学习器所需的样本数量。
Hoeffding边界
描述问题
现在,我们来更准确的描述我们要解决的问题。
令D代表学习器可观察的特定的训练数据集合,而P代表整个数据集合背后满足的概率分布。令Ein(h)代表假设h的训练错误率(在机器学习基石课程中,该错误率被称为in-sample error),确切的说,Ein(h)是数据集D中被h误分类的训练数据所占比例,Ein(h)是定义在训练数据集D上的,而真实错误率Eout(h)(out-of-sample error)是定义在整个概率分布P上的。现在令g代表H中有最小训练错误率的假设。问:多少训练数据才足以保证真实错误率Eout(h)和训练错误率Ein(h)很接近,并且接近0。
Hoeffding不等式
Hoeffding刻画的是某个事件的真实概率及其m个独立重复试验中观察到的频率之间的差异,更准确的将,它是应用于m个不同的Bernoulli试验。
该不等式给出了一个概率边界,它说明任意选择的假设训练错误率不能代表真实情况。
确认(verification)流程
我们发现满足上面给的边界不等式的h可不可以说它是一个好的学习器呢?当然不能,上面的不等式只能说明h的训练错误率和真实错误率很接近,但却不一定是最小的,即h不一定是最佳的假设。所以,这只是对一个假设做确认的过程。
这里因为只有一个hypothesis在手上,所以我们还不能做选择,但是我们可以给它一些verifying examples来让它做确认,看看h的表现如何,正如上图流程所示。
有限假设空间的错误率的概率边界
Hoeffding不等式告诉我们什么呢?较好拟合训练数据的假设与该假设针对整个数据集合的预测,这两者的错误率差别很大的那种情况发生的概率是很小的。
那么现在的问题是什么呢?如果在多个假设中,其中一个假设针对训练数据的输出都是正确的,那要不要选这个假设作为算法的输出的假设呢?
带着这个问题,我们先了解一下什么叫做不好的数据。
Bad Sample and Bad Data
坏的样本就是训练错误率Ein=0,而真实错误率Eout=1/2的情况。
坏的数据是Ein和Eout差别很大的情况,通常Ein很小,Eout很大。
而Hoeffding说明的是如果把所有的训练数据(从输入空间中,随机选取产生的数据的不同组合)穷举出来,得到的不好的样本(Bad Sample)的概率是很小的。
所以坏的样本就是让算法的预测的准确率和训练时的正确率差别很大的情况(Ein和Eout差别很大)。
上图说明:
- 对于一个假设hi(每一行),Hoeffding保证其不好的情况总体的概率是很小的
- 对于含有BAD的每一列来说,只要有BAD,算法就无法从所有假设中自由做选择
- 表中D1126这个数据集是好的数据
Bound of BAD Data
我们来算一下坏的数据的概率边界:
这个式子是有限个假设的Hoeffding不等式。
对于这个式子来说,如果训练数据的数量N够大的话,那么能保证Ein和Eout差别很小。
统计学习流程
上面的流程总结了我们这篇文章讨论的问题,那就是如果现有有限个假设且训练数据量够多的情况下,那么不管我们如何选择训练数据,训练错误率和真实错误率都会很接近;我们设计算法来找一个Ein最小的,PAC理论就保证了Eout很小。这样机器学习算法是有可能学到有用的知识的!
小结
我们至此讨论的是有限个假设的情况,说明了机器学习算法可以做到一些事情。那么无限多假设的情况该是如何处理呢?我将在下一小节中介绍VC理论的有关知识。
参考资料
机器学习, Tom M.Mitchell ,机械工业出版社
机器学习基石课程,林轩田,台湾大学
转载请注明作者Jason Ding及其出处
Github主页(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
【机器学习基础】理解为什么机器可以学习2——Hoeffding不等式