偏差与方差理论
随着模型复杂度的不断增加,模型在训练集上的表现不断变好甚至使训练误差接近0(过拟合),而在测试集上的表现先变好后变差。
测试均方误差曲线呈现U型曲线,这表明了在测试误差曲线中有两种力量在互相博弈。可以证明:
E
(
y
0
−
f
^
(
x
0
)
)
2
=
Var
(
f
^
(
x
0
)
)
+
[
Bias
(
f
^
(
x
0
)
)
]
2
+
Var
(
ε
)
E\left(y_{0}-\hat{f}\left(x_{0}\right)\right)^{2}=\operatorname{Var}\left(\hat{f}\left(x_{0}\right)\right)+\left[\operatorname{Bias}\left(\hat{f}\left(x_{0}\right)\right)\right]^{2}+\operatorname{Var}(\varepsilon)
E(y0−f^(x0))2=Var(f^(x0))+[Bias(f^(x0))]2+Var(ε)
即测试均方误差的期望值可以分解为模型的方差项,偏差的平方项以及误差的方差项。用王误差的方差项在任务确定之后不可改变,故称为为不可约误差。
偏差与方差的权衡
一般来说,模型越复杂,方差越大,偏差越小;模型越简单,方差越小,偏差越大。
测试误差的计算
由于不能直接得到测试集数据,也就不能得到测试误差。所以需要对测试误差进行估计,一般使用的估计方法有:训练误差修正与交叉验证
训练误差修正 - 间接估计
在训练误差之上增加对特征数量的惩罚。
C
p
=
1
N
(
R
S
S
+
2
d
σ
^
2
)
C_p = \frac{1}{N}(RSS + 2d\hat{\sigma}^2)
Cp=N1(RSS+2dσ^2)其中d为模型特征个数,
R
S
S
=
∑
i
=
1
N
(
y
i
−
f
^
(
x
i
)
)
2
RSS = \sum\limits_{i=1}^{N}(y_i-\hat{f}(x_i))^2
RSS=i=1∑N(yi−f^(xi))2,
σ
^
2
\hat{\sigma}^2
σ^2为模型预测误差的方差的估计值,即残差的方差。
AIC赤池信息量准则:
A
I
C
=
1
d
σ
^
2
(
R
S
S
+
2
d
σ
^
2
)
AIC = \frac{1}{d\hat{\sigma}^2}(RSS + 2d\hat{\sigma}^2)
AIC=dσ^21(RSS+2dσ^2)
BIC贝叶斯信息量准则:
B
I
C
=
1
n
(
R
S
S
+
l
o
g
(
n
)
d
σ
^
2
)
BIC = \frac{1}{n}(RSS + log(n)d\hat{\sigma}^2)
BIC=n1(RSS+log(n)dσ^2)
BIC值对特征数的惩罚最重。
adj.R² 仅用于线性回归模型
交叉验证
K折交叉验证:把训练样本分成K等分,然后用K-1个样本集当做训练集,剩下的一份样本集为验证集去估计由K-1个样本集得到的模型的精度,这个过程重复K次取平均值得到测试误差的估计。
特征选择
最优子集选择
向前逐步选择
正则化
在模型拟合的过程中加入惩罚
- 岭回归 L2正则化
不能实现特征选择
- Lasso回归 L1正则
PCA 降维
将特征由高维到低维映射
PCA主成分分析 最大投影方差
模型超参数调优
参数:通过模型拟合得到
超参数:自己设置的参数,在模型拟合之前设定。
- 网格搜索
- 随机搜索
- 贝叶斯优化