当一个模型确定时,我们需要对其进行诊断,判断这个模型是否存在过拟合或者欠拟合。通过偏差与方差我们可以很快捷的评价当前的模型。
偏差与方差的直观理解
偏差:就是偏离的意思,与“标准”之间的差距。
方差:是离散程度,波动程度的意识。
图1,2的偏差都比较小(都能在靶心的范围内),但是图1的方差更小(数据集中),而图2则方差更大(数据发散)。
图3,4的偏差都比较大(已经脱离了靶心位置)
从机器学习方面理解:
偏差:反映的是模型的拟合能力
方差:反映的是模型的泛化能力
在机器学习中评价模型通常用代价函数,表示训练的误差,表示验证时误差,通过、可以得出模型的偏差与方差情况。
高偏差对应着、都大,并且约等于,这意味着欠拟合。
高方差对应着较小,而远大于,这意味着过拟合。
当模型属于高偏差(欠拟合)时,不断增大训练的数据规模,模型性能不会有什么改善,因为欠拟合一般是模型比较简单,不能准确描述数据的特征,因此盲目增大数据量是没什么用。
当模型数据高方差(过拟合),不断增大训练数据模型,过拟合误差会逐渐减少,因为过拟合是因为模型复杂,描述数据的特征过于精准,所以增大数据量能减少过拟合。
总结
改进策略:
- 高方差:采集更多样本数据
- 高方差:减少特征数量,去除非主要特征
- 高方差:增加正则化参数
- 高偏差:引入更多的相关特征
- 高偏差:采用更高阶多项式
- 高偏差:减少正则化参数