目录
- 摘要
- 问题分析
- 总结与链接
摘要
1.偏差:描述的是预测值的期望与真实值之间的差距,偏差越大,越偏离真实数据。
2.方差:预测值的方差,描述的是预测值的变化范围,离散程度,也就是距离预测值期望的距离方差越大,数据的分布越是分散。
如图:
问题分析
偏差,方差与模型泛化能力:
偏差度量的是学习算法预测误差和真实误差的偏离程度,即刻画学习算法本身的学习能力;方差度量了同样大小的数据变动所导致的学习性能的变化;噪声则表达了当前任务上任何学习算法所能到达的期望预测误差的下界,即刻画了学习问题本身的难度,因此泛化误差是由学习算法的能力、数据的充分性以及问题本身难度决定。
例如现在我们选择机器学习模型对图中数据做拟合,上左图使用直线对数据进行拟合,直线不能很好的分割数据,预测值将有大量分错,如红色的叉分到了蓝色的圈一类,此时模型偏差过大,模型欠拟合;再看上右图,模型过度拟合数据,将数据中的噪音点也都学到,此时数据的轻微波动将会导致预测结果的波动,方差过大,模型过拟合;自然上中图是我们认为比较好的拟合。
所有存在模型的泛化能力(泛化误差)是由偏差、方差与数据噪声之和:
四种情况举例:
(1)训练集错误率:1%、测试集错误率:11% 低偏差高方差
(2)训练集错误率:15%、测试集错误率:16% 高偏差低方差
(3)训练集错误率:15%、测试集错误率:30% 高偏差高方差
(4)训练集错误率:0.5%、测试集错误率:1% 低偏差低方差
模型优化:
1、高偏差(模型欠拟合)时模型优化方法
(1)添加特征数
当特征不足或者选取的特征与标签之间相关性不强时,模型容易出现欠拟合,通过挖掘上下文特征、ID类特征、组合特征等新特征,往往可以达到防止欠拟合的效果。
(2)增加模型复杂度
模型过于简单则学习能力会差,通过增加模型的复杂度可以使得模型拥有更强的你和能力,例如在线性模型中添加高此项,在神经网络模型中增加隐层层数或增加隐层神经元个数。
(3)延长训练时间
在决策树、神经网络中,通过增加训练时间可以增强模型的泛化能力,使得模型有足够的时间学习到数据的特征,可达到更好的效果。
(4)减小正则化系数
正则化是用来方式过拟合的,但当模型出现欠拟合时则需要有针对的较小正则化系数。
2、高方差(模型过拟合)时模型优化方法
(1)增加数据集
增加数据集是解决过拟合问题最有效的手段,因为更多的数据能够让模型学到更多更有效的特征,减小噪声的影响度。当然数据是很宝贵的,有时候并没有那么多数据可用或者获取代价太高,但我们也可以通过一定的规则来扩充训练数据,比如在图像分类问题上,可以通过图像的平移,旋转,缩放、模糊以及添加噪音等方式扩充数据集。
(2)正则化防止过拟合
正则化思想:由于模型过拟合很大可能是因为训练模型过于复杂,因此在训练时,在对损失函数进行最小化的同时,我们要限定模型参数的数量,即加入正则项,即不是以为的去减小损失函数,同时还考虑模型的复杂程度。
总结与链接
一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variance dilemma):在模型学习程度较低时,由于训练不足,训练的偏差(bias)较大,而训练数据的干扰带来的误差(variance)很小,这种阶段就是机器学习中的欠拟合(unfitting);当训练程度加深,偏差变小,但是由于对于当前数据集学习程度加深,如果当前数据集自身的非全局性的特性被学习到,那么会带来过拟合(overfitting)的结果。