机器学习中误差的来源主要有两个方面:Bias(偏差) 和 Variance(方差)。只有找到误差的来源,才能为下一步的模型优化提供方向。
1. Bias 和 Variance
这里以估计随机变量 X 的均值和方差为例,进行分析。假设,对于随机变量 X:
- X 的均值是 ?
- X 的方差是 ?2
1.1 首先考虑均值
我们在总体中取出 N 个样本 {X1, X2, …, XN},对随机变量 X 的均值作估计:
m = 1N∑Xn\frac{1}{N}\sum_{}^{}X^nN1∑Xn ≠ ?
E(m) = E[1N∑Xn\frac{1}{N}\sum_{}^{}X^nN1∑Xn ] = 1N∑\frac{1}{N}\sum_{}^{}N1∑E[XnX^nXn ] = ?
也就是说,m 是 ? 的无偏估计,m 与 ? 之间的误差来源于方差:Var[m] = ?2 / N。
其中,方差随着 N 的增大而减小。

1.2 再考虑方差
同样,我们在总体中取出 N 个样本 {X1, X2, …, XN},对随机变量 X 的方差作估计:
s = 1N∑(Xn−m)2\frac{1}{N}\sum_{}^{}(X^n - m)^2N1∑(Xn−m)2 ≠ ?2
E(s2) = N−1N\frac{N - 1}{N}NN−1?2 ≠ ?2
也就是说,s2 是 ?2 的有偏估计量,s2 与 ?2 之间的误差既来自于 bias ,也来自于 variance。同样,方差随着 N 的增大而减小。

1.3 总结
Bias(偏差)决定了估计值和真实值之间的偏移量,而 Variance(方差)决定了多次估计值之间的分散程度。以打靶为例,bias 对应于我们瞄的点与靶心之间的距离;variance 对应于由其他原因导致的误差。
用一张图来形象地总结偏差和方差之间的关系,就是这个样子:

2. 机器学习中的 Bias 和 Variance
在机器学习中,bias 和 variance 具有下图所示的关系。即模型越简单,bias 越大
,variance 越小;模型越复杂,bias 越小,但 variance 急剧增大。我们需要选择一个适当的模型,使得二者之和最小。

2.1 如何确定我们的机器学习模型是高偏差还是高方差?
- 如果模型不能很好地拟合训练数据,则模型具有高偏差(也称欠拟合 - Underfitting);
- 反之,如果模型能够很好地拟合训练数据,但在测试数据上有较大的误差,则模型具有高方差(也称过拟合 - Overfitting)。
2.2 如何解决高偏差(large bias)和高方差(large variance)问题?
高偏差通常意味着我们的模型过于简单,不能够很好地拟合数据。这时,我们可以采取以下方法:
- 采用更多特征(features)作为输入(inputs);
- 使用一个更加复杂的模型;
- 注意:这种情况下,搜集更多的数据是没有意义的。
高方差通常意味着相对于有限的数据,我们的模型过于复杂,除了降低模型复杂度外,我们还可以:
- 搜集更多的数据(这种方法非常有效,但是在实际中有时难以搜集更多数据);
- 添加正则化项(这种方法可能会增加 bias)。
8451



被折叠的 条评论
为什么被折叠?



