导致偏差和方差的原因
偏差通常是由于我们对学习算法做了错误的假设,或者模型的复杂度不够;
- 比如真实模型是一个二次函数,而我们假设模型为一次函数,这就会导致偏差的增大(欠拟合);
- 由偏差引起的误差通常在训练误差上就能体现,或者说训练误差主要是由偏差造成的
方差通常是由于模型的复杂度相对于训练集过高导致的;
- 比如真实模型是一个简单的二次函数,而我们假设模型是一个高次函数,这就会导致方差的增大(过拟合);
- 由方差引起的误差通常体现在测试误差相对训练误差的增量上
偏差与方差的权衡
- 当训练不足时,模型的拟合能力不够,数据的扰动不足以使模型产生显著的变化,此时偏差主导泛化误差;
- 随着训练的加深,模型的拟合能力增强,模型能够学习数据发生的扰动,此时方差逐渐主导泛化误差;
- 当训练充足后,模型的拟合能力过强,数据的轻微扰动都会导致模型产生显著的变化,此时即发生过拟合。