欢迎来到天天文库
浏览记录
ID:59185280
大小:258.09 KB
页数:5页
时间:2020-09-10
《机器学习中的Overfitting.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浅谈机器学习中的Overfitting在机器学习中,常会出现这样一种的现象:一个假设在训练数据上表现很好(in-sampleerror很小,即很小),但是在训练数据外的数据集上却变现很差(out-of-sampleerror很大,即很大),这时,我们称发生了过度拟合(overfitting)。1.Overfitting的原因Overfitting,字面上讲,就是“fittingthedatamorethaniswarranted.”。overfitting自然是我们不愿意看到的,那么是什么原因导致了overfitting呢?如
2、果我们的训练数据中含有noise,那么我们在拟合时,为了追求最小(in-sampleerror),一不小心,就可能用了过于复杂的模型不仅fit了data,还fit了noise,也恰恰是因为overfit了noise,造成学习出来的函数其实出现了很大的偏差,因此在新的数据上变现不好(很大)也就不足为奇了。可见,数据中含有noise是造成overfitting的一个原因。其实,造成overfitting的原因远不只是数据中noise一种,即使数据中没有noise,也有可能造成overfitting。例如,我们来看下面一个例子,目标
3、函数是一个50阶多项式,数据如下面左图所示(这里没有任何noise),我们分别用2阶和10阶的多项式来拟合,拟合结果如下面右图所示。10阶的多项式的拟合结果竟然比2阶多项式的差,结果多少让人意外。我们想象两个人来解决同一个拟合问题,一个人比较聪明,会10阶的多项式,而令一个人只会2阶的多项式,但是,结果很奇怪,一个笨笨的人最后居然赢了,聪明人好像“聪明反被聪明误”。其实如果你知道VCtheory,就不难理解,用10阶的函数来拟合得到较差的概率要比用2阶的函数来拟合得到一个同样差的概率要大的多。如果你不知道VCtheory,我们
4、可以来看下面两个曲线,我们称之为学习曲线,表示了用2阶和10阶多项式拟合时错误率随测试数据量的大小的变化情况(左面的图是用2阶多项式的结果,右面的图是10阶多项式的结果)。我们上面的例子中,数据量不够多,这时候从曲线可以看出,10阶多项式拟合后虽然很小,但是很大。但是,我们也应该注意到,当数据足够多时(datasizeN足够大),用10阶函数拟合会比2阶函数好(小)。因此,我们可以得到结论,overfitting跟目标函数的复杂度有关,复杂的目标函数更容易发生overfitting,另外,overfitting还跟datasi
5、ze有关,当数据量较小时,我们应该选取较简单的模型来拟合,选择复杂的模型就容易产生overfitting。于是,我们得到了产生overfitting的三个最主要的原因:Datasize,noise和targetcomplexity。上面例子中,如果我们将10阶多项式的值和2阶多项式的值的差作为overfitting的一种度量,那么ovefiting与Datasize,noise和targetcomplexity的关系可以表示为如下两个图(图中由蓝色边到红色表示overfitting的概率逐渐变大):我们再次回头看刚才的例子,里
6、面真的没有“noise”吗?如果目标函数太复杂,那么对于每一个模型来说,都没有办法来描述好目标函数,但是每一个模型的假设函数集中一定有一个对目标函数f(x)的最好的近似h*,他们之间的差异可以看做是一种noise,为了与data中的那种randomnoise(stochasticnoise)区分,我们称这种noise为deterministicnoise。右图中,蓝线表示targetfunction,红线表示bestfittof,阴影部分就表示deterministicnoise。Deterministicnoise和stoc
7、hasticnoise对overfitting的影响非常相似(由上面的两个图形对比可以看出)。1.Overfitting的对策如何尽量避免overfitting呢?方法有很多,有一些简单的技巧,比如,从简单的模型开始尝试;数据清洗等;还有非常重要的两个手段,就是regularization和validation。1.1RegularizationRegularization是通过添加约束的方式来寻找一个简单的假设来拟合目标函数,从而避免过度拟合。以上面10阶多项式拟合的问题为例,可以表示为如下无约束的优化问题:那么利用2次多项
8、式拟合,可以表示为一个有约束的优化问题,如下:将这个问题的约束放松一点,则有:将这个问题在进一步放松,得到如下形式:最后的式子,虽然仍然是使用10阶多项式在做拟合,但是它的约束却可以使得权重w比较小,或者说非0的w的分量的个数少,这就是Regularization,它在一定程
此文档下载收益归作者所有