偏差(Bias)与方差(Variance)
记协变量为
X
X
X,预测变量为
y
y
y,设
X
X
X和
y
y
y之间的关系可通过模型
y
=
f
(
X
)
+
ϵ
y=f(X)+\epsilon
y=f(X)+ϵ,其中误差项
、
ϵ
、\epsilon
、ϵ服从均值为0的正态分布,即
ϵ
∼
N
(
0
,
σ
ϵ
)
\epsilon\sim\mathcal{N}(0,\sigma_\epsilon)
ϵ∼N(0,σϵ)。
设通过某个统计模型得到
f
(
X
)
f(X)
f(X)的估计为
f
^
(
X
)
\hat{f}(X)
f^(X),在点
x
x
x处的均方预测误差(泛化误差)定义为,模型在点
x
x
x的预测值
f
^
(
x
)
\hat{f}(x)
f^(x)与真实值
y
y
y差值平方的期望,即:
M
S
E
(
x
)
=
E
[
(
f
^
(
x
)
−
y
)
2
]
MSE(x)=E[(\hat{f}(x)-y)^2]
MSE(x)=E[(f^(x)−y)2]
该项可做以下分解:
M
S
E
(
x
)
=
E
[
(
f
^
(
x
)
−
y
)
2
]
=
E
[
(
f
^
(
x
)
−
E
[
f
^
(
x
)
]
+
E
[
f
^
(
x
)
]
−
f
(
x
)
+
f
(
x
)
−
y
)
2
]
=
E
[
(
f
^
(
x
)
−
E
[
f
^
(
x
)
]
)
2
]
+
E
[
(
E
[
f
^
(
x
)
]
−
f
(
x
)
)
2
]
+
E
[
(
f
(
x
)
−
y
)
2
]
=
E
[
(
f
^
(
x
)
−
E
[
f
^
(
x
)
]
)
2
]
+
(
E
[
f
^
(
x
)
]
−
f
(
x
)
)
2
+
σ
ϵ
2
=
V
a
r
i
a
n
c
e
+
B
i
a
s
(
x
)
2
+
I
r
r
e
d
u
c
i
b
l
e
E
r
r
o
r
\begin{aligned} MSE(x)&=E[(\hat{f}(x)-y)^2]\\ &=E[(\hat{f}(x)-E[\hat{f}(x)]+E[\hat{f}(x)]-f(x)+f(x)-y)^2]\\ &=E[(\hat{f}(x)-E[\hat{f}(x)])^2]+E[(E[\hat{f}(x)]-f(x))^2]+E[(f(x)-y)^2]\\ &=E[(\hat{f}(x)-E[\hat{f}(x)])^2]+(E[\hat{f}(x)]-f(x))^2+\sigma_\epsilon^2\\ &=Variance+Bias(x)^2+IrreducibleError \end{aligned}
MSE(x)=E[(f^(x)−y)2]=E[(f^(x)−E[f^(x)]+E[f^(x)]−f(x)+f(x)−y)2]=E[(f^(x)−E[f^(x)])2]+E[(E[f^(x)]−f(x))2]+E[(f(x)−y)2]=E[(f^(x)−E[f^(x)])2]+(E[f^(x)]−f(x))2+σϵ2=Variance+Bias(x)2+IrreducibleError
假设我们重复建模无数次,每次都重新收集数据,建立一个新的模型。由于数据集的随机性,建立的模型不完全一致,我们将得到无数个估计值
f
^
(
x
)
\hat{f}(x)
f^(x),偏差就是这些估计值平均地偏离真实值多远,方差就是这些估计值的波动幅度。
- IrreducibleError:噪声项的方差,是数据本身自有的误差,不能被消除,是模型所能达到的期望泛化误差的下界;
- 偏差 B i a s ( x ) = E [ f ^ ( x ) ] − f ( x ) Bias(x)=E[\hat{f}(x)]-f(x) Bias(x)=E[f^(x)]−f(x),是估计值的期望与真实值的偏离程度,刻画了模型本身的拟合能力;
- 方差Variance是指估计值 f ^ ( x ) \hat{f}(x) f^(x)的方差,刻画了数据集的变动所导致的模型性能的变化,即数据扰动所造成的影响。
可以通过如下所示的bulls-eye图描述方差与偏差的关系。假设中间的靶心是可以完美地预测真实值的模型,将我们的建模过程类比为掷靶,离靶心越远,偏差越大,越集中方差越小。偏差反映了模型预测的准确度,方差则反映了模型的稳定性。
一般地,不存在偏差、方差均达到最小的模型,而是呈现如下关系。
经验误差与泛化误差
- 经验误差(训练误差):模型在训练集上的误差称为“经验误差”(empirical error)或者“训练误差”(training error)。
- 泛化误差:模型在新样本集(测试集)上的误差称为“泛化误差”(generalization error)。
欠拟合(Underfitting)与过拟合(Overfitting)
- 欠拟合:模型不够复杂或者训练数据过少时,模型均无法捕捉训练数据的内在关系,会出现偏差,模型一直会错误地预测数据,准确率降低。
- 过拟合:模型过于复杂或者没有足够的数据支持模型的训练时,模型含有训练集的特有信息,对训练集过于依赖,即模型会对训练集高度敏感,这种现象称之为模型过拟合。
避免欠拟合的方法:
- 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间;
- 尝试非线性模型,比如核SVM 、决策树、DNN等模型;
- 如果有正则项可以较小正则项参数 ;
- Boosting ,Boosting 往往会有较小的 Bias,比如 Gradient Boosting 等.
避免过拟合的方法:
- 增加训练数据;
- 正则化:常用的有 L1、L2 正则,且 L1正则还可以自动进行特征选择;
- 降维:特征选择,减少特征数或使用较少的特征组合,对于按区间离散化的特征,增大划分的区间;
- 正则化:如果有正则项则可以考虑增大正则项参数 ;
- 交叉检验:通过交叉检验得到较优的模型参数;;
- Bagging :将多个弱学习器Bagging 一下效果会好很多,比如随机森林等.
- 降低模型复杂度:在数据较少时,降低模型复杂度是比较有效的方法,适当的降低模型复杂度可以降低模型对噪声的拟合度。神经网络中可以减少网络层数,减少神经元个数,dropout;决策树可以控制树的深度,剪枝等。
欠拟合-过拟合与偏差-方差的关系
欠拟合 | 过拟合 | 备注 | |
---|---|---|---|
偏差 | 一定大 | 较大 | 主要指训练集 |
方差 | 一定小 | 一定大 | 主要指测试集 |
模型复杂度 | 可能低 | 高 | |
训练集数据量 | 可能少 | 多 | |
训练集得分 | 低 | 一定高 | 一般指判定系数、准确率等 |
验证集得分 | 一定低 | 有高有低,总体较低,方差大 | 一般指判定系数、准确率等 |
样本量与误差
模型复杂度与误差
- A处模型:在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大,模型欠拟合;
- C处模型:在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大,模型过拟合;
- 模型复杂程度控制在点B处为最优。
正则项与误差
- A处模型:在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大,模型过拟合;
- C处模型:在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大,模型欠拟合;
- 模型正则项系数控制在点B处为最优。
参考:
Understanding the Bias-Variance Tradeoff
偏差与方差、欠拟合与过拟合
过拟合与欠拟合及方差偏差
经验误差与泛化误差、偏差与方差、欠拟合与过拟合、交叉验证