想象一下射箭
- bias(偏差):就好比你射箭时,瞄准点偏离了靶心。偏差大,说明你的箭平均射得离靶心远,也就是你的模型不够准确。
- variance(方差):方差衡量的是你的箭每次射击的散布程度。方差大,说明你的箭虽然平均可能射中靶心,但是每次射击的落点都比较分散,也就是你的模型不够稳定。
回到机器学习
- bias:模型的偏差反映了模型对数据的拟合程度。如果模型太简单,无法捕捉到数据中的复杂模式,就会产生高偏差,我们称之为欠拟合。
- variance:模型的方差反映了模型对噪声的敏感程度。如果模型过于复杂,过度拟合了训练数据中的噪声,就会产生高方差,我们称之为过拟合。
一个形象的比喻
想象你要用一条曲线拟合一组数据点。
- 高偏差:你用一条直线去拟合这些数据点,虽然直线很简单,但是它可能无法很好地捕捉到数据的趋势,这就是高偏差。
- 高方差:你用一条复杂的曲线去拟合这些数据点,甚至每个数据点都经过,但是这条曲线可能过于复杂,对新的数据泛化能力很差,这就是高方差。
总结
- 高偏差:模型太简单,欠拟合。
- 高方差:模型太复杂,过拟合。
如何降低bias和variance
- 降低bias:增加模型的复杂度,比如增加特征数量、使用更复杂的模型。
- 降低variance:减少模型的复杂度,比如使用正则化、增加训练数据量。
假设我们要预测房价。
- 高偏差模型:我们只用房屋面积来预测房价,这个模型太简单,忽略了其他影响房价的因素,导致预测结果不够准确。
- 高方差模型:我们用房屋面积、房间数量、楼层、朝向等很多特征来预测房价,并且使用了非常复杂的模型,这个模型可能在训练数据上表现很好,但是对于新的房屋,预测结果可能很不稳定。