1. 误差的来源
误差(error)= 偏差(bias) + 方差(variable)
方差(variable):
s
2
=
1
N
∑
n
(
x
n
−
m
)
2
s^{2}=\frac{1}{N} \sum_{n}\left(x^{n}-m\right)^{2}
s2=N1∑n(xn−m)2
一般来说,模型越复杂,方差越大
偏差(bias):
E
[
f
∗
]
=
f
‾
E\left[f^{*}\right]=\overline{f}
E[f∗]=f
一般来说,简单的模型偏差较大,复杂的模型偏差较小
回想之前的例子,模型一步步变复杂的过程中,偏差一直在下降,方差一直在增加。模型也从原来的欠拟合(underfitting)变成过拟合(overfitting)。
2. 解决办法
当模型不能很好地拟合训练数据的时候,则模型有较大偏差,此时很可能发生的是欠拟合。解决办法:
- 增加更多的特征
- 使用更复杂的模型
如果模型可以很好的拟合训练数据,但是在测试数据上有很大误差,那么很可能就有较大方差,此时的情况未过拟合。解决办法:
- 收集更多的数据
- 使用正则化
3. 常用的选择模型的做法
注意:千万不要用测试集上的效果做决策,否则模型在新数据上的效果会比测试集上的效果更差
建议:将训练集划分成训练集和验证集,再使用交叉验证