8、改善深度神经网络之偏差与方差是否偏高判断及解决办法
偏差与方差主要与两个因素有关:训练集误差(train set error)、验证集误差(dev set error)
接下来举例说明:
1、高方差(数据过拟合):假设训练集误差为1%(很小)、验证集误差为16%(较大),说明训练时数据过拟合,在某种程度上,验证集并没有充分利用交叉验证集的作用,所以验证时误差过大,这种情况称为高方差。
所谓过拟合就是训练时结果很好,但预测时结果不是很好的现象,产生过拟合的原因通常为以下几点:
- 模型的复杂度太高。比如:网络太深,
- 过多的变量(特征)
- 训练数据非常少。
高方差(数据过拟合)解决办法:(1)增大数据集;(2)降低模型复杂度;(3)增大正则化系数λ;(4)通过特征选择减少特征数(维数)。
2、高偏差(欠拟合):假设训练集误差为15%(较大),验证集误差为16%(较大,但相较于train set error是合理的),虽然训练集的误差就很大,但是验证集的误差相对训练集在合理范围内提升了一点,说明模型合理,但是数据欠拟合,这种情况称为高偏差。
[注]:此分析是假设预测的,如果最优误差很高为15%,则训练集误差为15%,验证集误差为16%的例子是较为理想的。
欠拟合一般是模型比较简单,不能准确的描述数据特征,因此盲目增大数据量是没用的,通常解决办法为:(1)增加数据特征数;(2)添加高次多项式特征;(3)减少正则化系数λ。
3、高偏差、高方差:假设训练集误差是15%,偏差相当高,但是,验证集的评估结果更糟糕,错误率达到30%,在这种情况下,这种算法偏差高,因为它在训练集上结果不理想,而且方差也很高,这是方差偏差都很糟糕的情况。
4、低偏差、低方差:假设训练集误差是0.5%,验证集误差是1%,偏差和方差都很低,是为理想情况。