码迷,mamicode.com
首页 > 其他好文 > 详细

细品 - 过拟合与模型选择*

时间:2017-11-04 19:42:19      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:合数   col   集中   需要   简单的   补充   目的   元素   选择   

欠拟合和过拟合

  欠拟合是指模型不能很好的捕获到数据特征,不能很好的拟合数据,学习能力底下。解决方法:增加模型的复杂度

    技术分享

  过拟合是指模型不仅仅学习了数据集中的有效信息,也学习到了其中的噪音数据,使得模型在训练集上的表现非常好,但是对于测试集的预测效果很差。解决方案:

  (1) 导致过拟合的一个原因可能是由于数据不纯、包含大量的噪声数据,这时候我们需要重新清洗数据

  (2) 增加训练数据的样本量

  (3) 采用正则化方法,降低模型参数复杂度(参数大小和参数量),从而降低模型复杂度

  (4) 神经网络中常采用dropout方法:在训练的时候让神经元以一定的概率不工作。

    技术分享

  如何判断你的模型是欠拟合还是过拟合?通常的做法就是将你的训练数据集拆分成训练集和验证集,通过观察训练误差和验证误差的情况来判断模型对训练数据的拟合情况。

正则化

  监督学习问题无非就是在规则化参数的同时最小化误差。最小化误差是为了让我们模型更好的拟合数据,而规则化参数是为了防止模型对数据的过分拟合。前面我们也提到,当我们的模型处于过拟合时,我们可以通过在模型损失函数上添加正则化项,用于控制模型参数的复杂度,从而得到更为简单的参数,获得更为理想的模型。可见,正则化的一个根本目的就是使我们可以选择出那种既能够很好的拟合数据,相对来说又最简单的模型。

  线性回归正则化后的表达式为:

    技术分享

 这里的技术分享代表正则化系数,技术分享是我们常说的正则化项,正则化项常用的形式有哪些呢?

技术分享

  该范数表示的是参数向量中非0元素的个数。这时候我们可以试想我们用技术分享范数正则化一个参数矩阵技术分享的话,就相当于让技术分享中值为0元素非常多,也就是让参数矩阵技术分享稀疏。

      技术分享

技术分享

 该范数表示的是参数向量中各元素绝对值之和技术分享范数也称为稀疏规则算子。我们试想用技术分享范数正则化一个参数向量技术分享的话,就相当于让技术分享中每一个元素都很小甚至是等于0。

      技术分享

那问题来了Question1:技术分享范数为什么可以实现稀疏

  加入技术分享范数后的代价函数可以表示为无约束形式

      技术分享

  最小化技术分享又等价于约束问题技术分享下最小化技术分享

      技术分享

   这里我们假设参数向量技术分享只有两个元素,我们可以在一个平面上画出技术分享的等高线图以及约束条件的表示,如图

      技术分享

  我们知道等高线越向外损失越大(凸函数),技术分享约束在图上可以表示为如图的正方形,两图形的第一个交点就是代价函数取最小时的情形。两图形第一个交点相交于正方形顶角上的概率远远大于相交于其他位置的概率(很明显)。顶点坐标只有一个参数不为0,另一个参数为0,也就是更加容易产生稀疏。在更高维的情况下也是如此,因此技术分享会使得参数更多的为0,只是又较少的一部分不为0。技术分享的这种特性使它可以应用于特征选择。

  前面我们也提了技术分享范数也可以实现稀疏,那问题又来了Question2:为什么实现稀疏上基本上是使用技术分享范数而很少使用技术分享范数呢?这主要有两个原因:

  (1) 技术分享范数很难优化求解

  (2) 技术分享范数是技术分享范数的最优凸近似,并且技术分享范数更容易优化求解

技术分享

  技术分享范数是参数向量中各元素的平方和再开平方。在防止过拟合问题上技术分享范数被广泛的应用。

    技术分享

  那么问题来了Question1:是什么使得它可以非常好的解决过拟合问题呢?我们再来试想:若我们最小化技术分享正则项,会使得参数向量发生什么样的变化? 会使得参数向量的每一个元素都很小,都接近于0,而非等于0(与技术分享最大的不同),这样就成功的降低了模型参数复杂度,从而避免了过拟合现象的出现。那么问题又来了Question2:为什么技术分享会使得参数元素都趋向于0,而非等于0呢?我们像技术分享那样给出代价函数的约束等价问题:

      技术分享

该约束问题在图形上的表示,如下:

    技术分享

技术分享不同,技术分享的约束条件表示为一个圆形,两个图形的第一个交点大多不会出现在非坐标轴上,因为要想交于坐标轴那么技术分享的圆心也必须在坐标轴上,这种情况是很少发生的,故技术分享不会拥有技术分享的那种使得参数大部分都是0的特性。而最小化技术分享正则就会使得参数元素都很小,也就是都趋于0。

 

总结:技术分享会趋向于产生少量的特征,而其他特征的参数(权值)都为0,可以用来做特征选择; 而技术分享会选择更多的特征,这些特征的参数都趋于0,广泛应用与过拟合问题。

 

补充:其实技术分享除了有防止过拟合的特性,它还可以使得梯度下降的求解过程变得稳定而迅速,这又是如何实现的呢

我们前面给出了加入正则项技术分享技术分享后的线性回归代价函数的表示形式:

    技术分享

    技术分享

我们对其求导后得到了梯度下降的权值更新公式:

    技术分享

这时我们发现技术分享中的技术分享是第j个参数的符号,是个定值; 而技术分享中的技术分享是变得。故,技术分享正则化后的参数更新速度会随着参数的更新而变动,参数大更新快,参数小更新慢,所以它会进一步优化梯度下降的求解。

 

细品 - 过拟合与模型选择*

标签:合数   col   集中   需要   简单的   补充   目的   元素   选择   

原文地址:http://www.cnblogs.com/lianyingteng/p/7782888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!