模型评估与模型选择
-
训练误差:模型 Y = f ^ ( X ) Y=\hat f(X) Y=f^(X) 关于训练集 T T T 的平均(经验)损失
R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{emp}(\hat f)=\frac{1}{N}\sum^{N}_{i=1}L(y_{i},\hat f(x_{i})) Remp(f^)=N1i=1∑NL(yi,f^(xi))
-
测试误差:模型 Y = f ^ ( X ) Y=\hat f(X) Y=f^(X) 关于测试集的平均(经验)损失
e t e s t = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) , 其 中 N ′ 是 测 试 样 本 容 量 e_{test}=\frac{1}{N^{'}}\sum^{N^{'}}_{i=1}L(y_{i},\hat f(x_{i})),其中 N^{'} 是测试样本容量 etest=N′1i=1∑N′L(yi,f^(xi)),其中N′是测试样本容量
当 损 失 函 数 是 0-1 损 失 函 数 时 , e t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i ≠ f ^ ( x i ) ) ; r t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i ≠ f ^ ( x i ) ) 当损失函数是 \text{0-1} 损失函数时,e_{test}=\frac{1}{N^{'}}\sum^{N^{'}}_{i=1}I(y_{i} \neq \hat f(x_{i}));r_{test}=\frac{1}{N^{'}}\sum^{N^{'}}_{i=1}I(y_{i} \neq \hat f(x_{i})) 当损失函数是0-1损失函数时,etest=N′1i=1∑N′I(yi̸=f^(xi));rtest=N′1i=1∑N′I(yi̸=f^(xi))
显 然 , e t e s t + r t e s t = 1 。 其 中 r t e s t 是 准 确 率 , I 是 指 示 函 数 , 即 y ≠ f ^ ( x ) 时 为 1 , 否 则 为 0 。 显然,e_{test}+r_{test}=1。其中r_{test}是准确率, I 是指示函数,即y\neq\hat f(x)时为1,否则为0。 显然,etest+rtest=1。其中rtest是准确率,I是指示函数,即y̸=f^(x)时为1,否则为0。
-
模型选择(model selection):当假设空间的模型具有不同复杂度(例如,参数个数不同)时, 就要面临模型选择的问题
-
过拟合(over-fitting)
- 如果一味追求提高对训练数据的预测能力,所选模型的复杂度往往会比真模型更高。
- 学习时选择的模型所包含的参数过多,以致于出现这一模型对己知数据预测得很好,但对未知数据预测得很差的现象
- 模型选择,旨在避免过拟合,并提高模型的预测能力
-
模型选择方法
-
正则化:结构风险最小化策略的实现
min f ∈ F R s r m ( f ) = min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in\mathcal{F}}R_{srm}(f)=\min_{f\in\mathcal{F}}\frac{1}{N}\sum^{N}_{i=1}L(y_{i},f(x_{i}))+\lambda J(f) f∈FminRsrm(f)=f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
-
正则化的作用:选择经验风险与模型复杂度 $ J(f)$ 同时较小的模型
-
正则化项 $ J(f)$ 的不同形式
(1)回归问题中损失函数是平方损失,正则化项:参数向量 w w w 的 L 1 L_1 L1 范数,即 ∥ w ∥ 1 \parallel w\parallel_1 ∥w∥1
损 失 函 数 L ( w ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) = 1 N ∑ i = 1 N ( y i − f ( x i ; w ) ) 2 + λ ∥ w ∥ 1 损失函数 L(w)=\frac{1}{N}\sum^{N}_{i=1}L(y_{i},f(x_{i}))+\lambda J(f)=\frac{1}{N}\sum^{N}_{i=1}(y_{i}-f(x_{i};w))^2+\lambda\parallel w \parallel_1 损失函数L(w)=N1i=1∑NL(yi,f(xi))+λJ(f)=N1i=1∑N(yi−f(xi;w))2+λ∥w∥1
(2)回归问题中损失函数是平方损失,正则化项:参数向量 w w w 的 L 2 L_{2} L2 范数,即$\parallel w\parallel_2 $
损 失 函 数 L ( w ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) = 1 N ∑ i = 1 N ( y i − f ( x i ; w ) ) 2 + λ 2 ∥ w ∥ 2 损失函数 L(w)=\frac{1}{N}\sum^{N}_{i=1}L(y_{i},f(x_{i}))+\lambda J(f)=\frac{1}{N}\sum^{N}_{i=1}(y_{i}-f(x_{i};w))^2+\frac {\lambda}{2} \parallel w\parallel_2 损失函数L(w)=N1i=1∑NL(yi,f(xi))+λJ(f)=N1i=1∑N(yi−f(xi;w))2+2λ∥w∥2
-
奥卡姆剃刀原理(Occam’s razor)
- 正则化符合奥卡姆剃刀原理
- 最好的模型:能够很好地解释己知数据并且十分简单才是最好的模型
- 从贝叶斯估计的角度来看, 正则化项对应于模型的先验概率。可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率
-
-
交叉验证
- 基本思想:重复地使用数据
- 简单交叉验证
- S S S折交叉验证
- 留一交叉验证( S S S折交叉验证的特例, S = N , N 为 数 据 集 的 容 量 S=N,N为数据集的容量 S=N,N为数据集的容量)
-
泛化能力
-
泛化能力(generalization ability):机器学习方法学习到的模型,对未知数据的预测能力。
-
泛化误差(generalization error):反映了机器学习方法的泛化能力。
-
泛化误差,即学习到的模型 f ^ \hat f f^ 的风险函数(损失函数的期望):
R e x p ( f ^ ) = E P [ L ( Y , f ^ ( X ) ) ] = ∫ X × Y L ( y , f ^ ( x ) ) P ( x , y ) d x d y R_{exp}(\hat f)=E_{P}[L(Y,\hat f(X))]=\int_{\mathcal{X}\times\mathcal{Y}}L(y,\hat f(x))P(x,y)dxdy Rexp(f^)=EP[L(Y,f^(X))]=∫X×YL(y,f^(x))P(x,y)dxdy
-
-
泛化误差上界
-
作用:通过比较两种学习方法的泛化误差上界的大小,来比较方法的优劣。
-
泛化误差上界是样本容量的函数。 当样本容量增加时,泛化上界趋于0。
-
泛化误差上界是假设空间容量的函数。假设空间容量越大,模型就越难学, 泛化误差上界就越大。
-
定理(泛化误差上界):对二类分类问题,当假设空间是有限个函数的集合 F = { f 1 , f 2 , . . . f d } \mathcal{F}=\{f_1,f_2,...f_d\} F={f1,f2,...fd} 时,对任意个函数 f ∈ F f\in \mathcal{F} f∈F, 至少以概率 1 − δ 1-\delta 1−δ,使得以下不等式
成立:R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) , 其 中 , ε ( d , N , δ ) = 1 2 N ( log d + log 1 δ ) R(f)\leq \hat R(f)+\varepsilon(d,N,\delta),其中,\varepsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(\log d+\log \frac{1}{\delta})} R(f)≤R^(f)+ε(d,N,δ),其中,ε(d,N,δ)=2N1(logd+logδ1)
-
不等式左侧:泛化误差 R ( f ) R(f) R(f);
-
不等式右侧:训练误差 R ^ ( f ) \hat R(f) R^(f) ,训练误差越小,泛化误差也越;
ε ( d , N , δ ) \varepsilon(d,N,\delta) ε(d,N,δ) 是 N N N 的单调递减函数, 当 N N N 趋于无穷时, ε ( d , N , δ ) \varepsilon(d,N,\delta) ε(d,N,δ) 趋于0。同时它也是 log d \sqrt{\log d} logd 阶的函数,假设空间 F \mathcal{F} F 包含的函数越多, ε ( d , N , δ ) \varepsilon(d,N,\delta) ε(d,N,δ) 值越大。
-
-