1.4&1.5 模型评估和选择,正则化和交叉验证
- 模型评估和选择
- 训练误差和测试误差
- 过拟合
- 正则化与交叉验证
- 正则化
- 交叉验证
模型评估和选择
训练误差和测试误差
将预测系统的X作为输入,输入到模型里面,就可以得到预测结果。
学习到的模型:
Y
=
f
^
(
X
)
Y=\hat{f}(X)
Y=f^(X)
训练集(Training Set): T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ , ( [ x N , y N ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right) \cdots,\left(\left[_{x_{N}}, y_{N}\right)\right\}\right. T={(x1,y1),(x2,y2)⋯,([xN,yN)}
训练误差(Training Error) : R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{e m p}(\hat{f})=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, \hat{f}\left(x_{i}\right)\right) Remp(f^)=N1∑i=1NL(yi,f^(xi))
测试集(Test Set): T ′ = { ( x 1 ′ , y 1 ′ ) , ( x 2 ′ , y 2 ′ ) ⋯ , ( x N ′ , y N ′ ) } T^{\prime}=\left\{\left(x_{1^{\prime}}, y_{1^{\prime}}\right),\left(x_{2^{\prime}}, y_{2^{\prime}}\right) \cdots,\left(x_{N^{\prime}}, y_{N^{\prime}}\right)\right\} T′={(x1′,y1′),(x2′,y2′)⋯,(xN′,yN′)}
测试误差(Test error): e test = 1 N ′ ∑ i ′ = 1 N ′ L ( y i ′ , f ^ ( x i ′ ) ) e_{\text {test }}=\frac{1}{N^{\prime}} \sum_{i^{\prime}=1}^{N^{\prime}} L\left(y_{i^{\prime}}, \hat{f}\left(x_{i^{\prime}}\right)\right) etest =N′1∑i′=1N′L(yi′,f^(xi′))
误差率(Error Rate): e t e s t = 1 N ′ ∑ i ′ = 1 N ′ I ( y i ′ ≠ f ^ ( x i ′ ) ) e_{t e s t}=\frac{1}{N^{\prime}} \sum_{i^{\prime}=1}^{N^{\prime}} I\left(y_{i^{\prime}} \neq \hat{f}\left(x_{i^{\prime}}\right)\right) etest=N′1∑i′=1N′I(yi′=f^(xi′)) = 预测结果不等于真实结果/总数
准确率(Accuracy): r test = 1 N ′ ∑ i ′ = 1 N ′ I ( y i ′ = f ^ ( x i ′ ) ) r_{\text {test }}=\frac{1}{N^{\prime}} \sum_{i^{\prime}=1}^{N^{\prime}} I\left(y_{i^{\prime}}=\hat{f}\left(x_{i^{\prime}}\right)\right) rtest =N′1∑i′=1N′I(yi′=f^(xi′)) = 预测结果等于真实结果/总数
过拟合
过拟合(Over-Fitting) :学习所得模型包含参数过多,出现对已知数据预测很好,但对未知数据预测很差的现象。
预测误差与模型复杂度的关系:
正则化与交叉验证
正则化
正则化:实现结构风险最小化策略
min
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
\min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f)
f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
经验风险
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)
N1∑i=1NL(yi,f(xi))越小,误差就越小,但模型复杂度越大,预测误差是按照上方图来变化的,故而我们需要用
λ
\lambda
λ来权衡经验风险和模型复杂度。
常用的正则化项为L1范数和L2范数。
L1范数:
L
(
w
)
=
1
N
∑
i
=
1
N
(
f
(
x
i
;
w
)
−
y
i
)
2
+
λ
∥
w
∥
1
L(w)=\frac{1}{N} \sum_{i=1}^{N}\left(f\left(x_{i} ; w\right)-y_{i}\right)^{2}+\lambda\|w\|_{1}
L(w)=N1i=1∑N(f(xi;w)−yi)2+λ∥w∥1
L2范数:
L
(
w
)
=
1
N
∑
i
=
1
N
(
f
(
x
i
;
w
)
−
y
i
)
2
+
λ
2
∥
w
∥
2
2
L(w)=\frac{1}{N} \sum_{i=1}^{N}\left(f\left(x_{i} ; w\right)-y_{i}\right)^{2}+\frac{\lambda}{2}\|w\|_{2}^{2}
L(w)=N1i=1∑N(f(xi;w)−yi)2+2λ∥w∥22
奥卡姆剃刀原理:在模型选择时,选择所有可能模型中,能很好解释已知数据并且十分简单的模型。
交叉验证
数据不足情况下可以使用S折交叉验证
S折交叉验证:随机将数据分为S个互不相交、大小相同的子集,其中以S-1个子集作为训练集,余下的子集作为测试集。
注:以上笔记素材来自于 [B站_简博士_十分钟 机器学习 系列视频 《统计学习方法》]