首页 > 编程知识 正文

为什么正则化可以防止过拟合,以下哪些是解决过拟合的方法

时间:2023-05-06 06:00:25 阅读:188729 作者:4313

防止过拟合方法之添加正则项的思想原理及作用 一、两种风险最小化二、利用偏差方差分解理解正则化作用

一、两种风险最小化

wjdlc老师的统计学习方法中提到了两种风险最小化,一种是经验风险最小化,另一种是结构风险最小化,
首先我们知道模型的损失越小那么就表明模型越好,模型的输入X以及输出Y均为随机变量,遵循联合分布,所以理论上模型关于联合分布P(X,Y)的平均损失(称为期望损失)如下:

给定训练集,模型关于训练集的平均损失称为经验风险,如下:

根据大数定律,当样本容量趋于无穷大时,便有经验风险趋于期望损失,所以这便是可以用经验风险估计期望风险的原因。于是便有了经验风险最小化原则

但是现实情况是,我们无法获取无限的训练集,而且训练集往往是真实数据集的一个很小的子集, 并不能很好的反映全部数据的真实分布,所以经验风险最小化很容易出现虽然在训练集上错误率低,但在测试集上错误率高的情况,这种情况就是过拟合。过拟合是由于训练数据集小、噪声以及模型f过于复杂造成的,由此,为了避免过拟合,在经验风险最小化的基础上引入正则项,限制模型的复杂度,结构风险如下:

J(f)代表模型复杂度,λ作为系数权衡经验风险以及模型复杂度的大小。我们应该知道要始终坚持的原则是既要拟合又要泛化,其中经验风险要保证小即满足拟合误差小,模型复杂度要低即保证泛化误差小,一般J(f)可以为L1范数,L2范数,两者作为正则化项的区别会在另一篇博客中总结。

二、利用偏差方差分解理解正则化作用

前面讲了,为了避免过拟合我们引入了正则化项代表模型复杂度,如果模型复杂度过高,就会出现过拟合,反之,容易出现欠拟合,所以利用系数λ在经验风险和模型复杂度间权衡,怎么理解这种权衡呢?PRML一书中就利用偏差方差分解思想进行了解释。书中推导出:
期望损失= 偏 差 2 {偏差}^2 偏差2+方差+噪声

那么我们要最小化期望损失,就要保证偏差要小,方差也要小,怎么理解呢?我们应该知道偏差其实就是所有数据的平均预测(一个模型在不同训练集上的预测的平均性能)与最优的预期值的差异,偏差用来衡量模型的拟合能力;方差代表对于不同的输入数据集,模型的预测的解在平均值附近的波动,因此也就可以用来衡量是否过拟合。最优的情况就是偏差小的同时方差也小,也就是前面提到的既要拟合又要泛化。通过下图能更好理解:

实际中,λ增大则降低模型复杂度,减小方差,λ减小,则模型复杂度增加,方差增大,表明泛化能力较低,即过拟合。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。