过拟合及其解决方法
来源:互联网 发布:ios10蜂窝数据快捷键 编辑:程序博客网 时间:2024/04/29 14:46
过拟合及其解决方法
- 过拟合及其解决方法
- 偏频派与贝叶斯派
- 偏频派
- 贝叶斯派
- 过拟合的定义
- 过拟合的解决方法
- 偏频派解决过拟合
- 贝叶斯派解决过拟合
- 总结
- 偏频派与贝叶斯派
偏频派与贝叶斯派
偏频派
偏频派认为一个模型的参数是固定的,通过给定的数据可以求解出一个固定的值。比较常使用的参数估计方法是最大似然估计。
贝叶斯派
贝叶斯派则认为模型的参数都是不确定的,我们可以使用概率论的知识去描述参数的不确定性。比较常用的参数估计方法是最大后验估计。
过拟合的定义
定义:目标函数在训练数据集上拟合得很好,但在测试数据集上效果很差。
如上图所示,上面的两张图拟合度不够,这被称为欠拟合。与之相反,右下图完美地拟合了每一个训练数据,但是拟合出的曲线和真实的曲线差别却很大。左下角的图比较好地拟合训练数据,但不是完美拟合,但它拟合出的曲线很接近真实曲线。
其中
过拟合的解决方法
通常,为了防止过拟合,都会在目标方程中加入一个正则化项,且通过正则化因子来平衡目标方程与正则化项。简单地理解就是,通过加入一个正则化项,在最小化新的目标方程的时候,并不会使预测值与真实值之间的差达到最小,也就是不会完美拟合,这也就防止了过拟合,提高的系统的泛化能力。下面将通过偏频派与贝叶斯派两个派别分别去解析为什么使用正则化项能防止过拟合。
偏频派解决过拟合
偏频派通常通过加入L0,L1(拉索回归),L2(岭回归)范数来防止过拟合,但是因为L0范数不是凸的,求解目标方程的时候特别麻烦。L1范数是凸的且与L0范数很相似,所以通常使用L1而不使用L0。L2范数很明显是凸函数,也最常被使用。
我们简单说明一下L1与L2范数的区别,通过上面的图我们可以知道在值比较小的地方,L1范数比较陡而L2范数比较平缓。当最小化正则化项(范数)的时候。L1范数可能有些变量的值较大,但有些变量为0。而L2范数的全部变量的值都会比较小,但不会为0。现在让我们总结一下:
- L1范数:可用于求解稀疏解与特征选择,在一定程度上能防止过拟合。
- L2范数:系统比较简单(奥坎姆剃刀定律),因为参数的值都很小且不为0。这样可以防止系统病态,也就是不会造成输入数据发生很小变化的时候,输出数据发生很大变化这种结果。防止过拟合的效果比较好。
贝叶斯派解决过拟合
我们先简单看下两种常见的连续变量的概率密度函数,高斯分布与拉普拉斯分布,高斯分布比较平滑而拉普拉斯分布比较陡。再来看一下贝叶斯定理:
根据贝叶斯派的观点,变量都是不确定的,且服从一定的分布。现在我们假设变量服从高斯分布,也就是变量的先验分布是高斯分布。
根据贝叶斯定理先验转后验,我们可以很惊奇地发现我们得到了一个加上L2范数正则化项的目标方程。当假设参数的先验分布是拉普拉斯分布的时候,我们得到的是L1范数。
通过上面的图我们可以观察得到,当先验是拉普拉斯分布的时候,在正方形(拉普拉斯分布)与目标函数分布相交与一个轴上,也就是意味着还有参数的值为0 。相反,当先验的高斯分布的时候,w1与w2的值都不为0,但是值都比较小。
总结
无论是那一派,最终都是通过添加范数来解决过拟合问题。不同的是解析的方法,偏频派从误差的角度去解析而贝叶斯从先验分布的角度去解析。
- 过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 欠拟合、过拟合及其解决方法
- 过拟合的解决方法
- 过拟合的解决方法
- 过拟合的解决方法
- 过拟合的解决方法
- 过拟合问题以及解决方法
- 过拟合的解决方法2
- Tensorflow Overfitting过拟合解决方法 Dropput()使用方法
- 过拟合
- 过拟合
- Log4j 不同的包输出到不同的文件
- OpenCV3.0配置
- 分分钟钟搞定二维码生成以及扫描
- 浅谈Web安全-XSS攻击
- 设计模式总结篇
- 过拟合及其解决方法
- poj 2431 Expedition
- iOS进阶学习——React-Native-环境搭建-run-it
- 1004Toxophily
- Node.js事件发射器
- equals和hashCode
- C# 通过循环清空窗体中所有 TextBox 的值
- 如何将十六进制转换为、二进制、八进制、十进制
- 验证表单的两种方式