一、Bias(偏差) & Variance(方差)
偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如下图第二行所示。
方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如下图右列所示。
在机器学习中,这两个名词经常让我们傻傻分不清。
我们不妨用案例来看看怎么区分。
假设我们正在做一个分类器,分别在训练集和验证集上测试,以下为四种可能的情况:
四种情况
可见①、④两种情况的训练集误差都很小,接近optimal error,这种就称为low bias。说明训练的很到位了。
相反,②、③两者的训练集误差很大,这就称为high bias。因此我们知道,bias就是衡量训练集和我们的最小误差的差距。
再来看看variance是怎么判断。①情况下,验证集相比训练集误差上升了很多,这就是high variance。而②呢,虽然它的验证集误差更大,但是相比它的训练集误差,基本没太大变化,因此它不能叫low variance。所以,说白了,variance是指你的验证集和你训练集的效果的差别,而不是某个绝对的值。
用这样一个图可以更加清晰地理解两者的意思:
bias和variance的关系
最后不妨总结一下,我直接总结在一张图里:
由此可见
高bias往往意味着模型根本没训练到位,也就是欠拟合。可能是训练次数不够,样本数量不足
高variance往往意味着模型训练过头了,过拟合了。过拟合一般是对于训练集误差很小而验证集/测试集误差很大而言。
如果两者都高的话,只能说模型太烂了,不知道怎么评价了。
感谢:
作者:冉冉说