** Error 的主要有两个来源,分别是 bias 和 variance 。**
定义
●准: bias描述的是根据样本拟合出的模型的输出预测结果的期望与样本真实结果的差距
,简单讲,就是在样本上拟合的好不好。要想在bias上表现好,low bias,就得复杂化模型,增加模型的参数,但这样容易过拟合(overfitting), 过拟合对应上图是high variance,点很分散。low bias对应就是点都打在靶心附近,所以瞄的是准的,但手不一定稳。
●确:varience描述的是样本上训练出来的模型在测试集上的表现
,要想在variance上表现好,low varience,就要简化模型,减少模型的参数,但这样容易欠拟合(unfitting),欠拟合对应上图是high bias,点偏离中心。low variance对应就是点都打的很集中,但不一定是靶心附近,手很稳,但是瞄的不准。
不同模型的方差与偏差
结论
- 简单的模型,偏差比较大,方差是比较小的(就像射击的时候每次的时候,每次射击的设置都集中在一个比较小的区域内)
- 复杂的模型,变偏差比较小,方差就很大,散布比较开。
对于方差,因为简单的模型受到不同训练集的影响是比较小的。
对于偏差,直观的解释:简单的模型函数集的空间比较小,所以可能空间里面就没有包含靶心,肯定射不中。而复杂的模型函数集的空间比较大,可能就包含的靶心,只是没有办法找到确切的靶心在哪,但足够多的,就可能得到真正的
f
^
\hat{f}
f^。
偏差v.s.方差
将误差拆分为偏差和方差。简单模型(左边)是偏差比较大造成的误差,这种情况叫做欠拟合,而复杂模型(右边)是方差过大造成的误差,这种情况叫做过拟合。
欠拟合的loss主要来自偏差
过拟合的loss主要来自方差
解决办法
偏差大——欠拟合
重新设计模型
:加入特征,高次幂
方差大-过拟合
简单粗暴的方法:更多的数据
比如识别手写数字的时候,偏转角度的数据集不够,那就将正常的数据集左转15度,右转15度,类似这样的处理。
正则化
模型选择
N-折交叉验证
将训练集分成N份,比如分成3份。
比如在三份中训练结果Average错误是模型1最好,再用全部训练集训练模型1。