机器学习理论2 模型的评估与选择

模型的评估与选择

模型的定义和分类

​ 首先,我们定义 F \mathcal F F为假设空间, X \mathcal X X为输入空间, Y \mathcal Y Y为输出空间 , θ \theta θ为参数向量,取自n维欧氏空间 R n \textbf{R}^n Rn,也称为参数空间(parameter space)。

非概率模型

​ 我们称由该决策函数定义的模型为非概率模型:
F = { Y = f θ ( X ) , θ ∈ R n } \mathcal F\it=\left\{ Y=f_{\theta}(X),\theta \in \textbf{R}^n\it \right\} F={Y=fθ(X),θRn}
这里, X X X Y Y Y分别是从输入空间 X \mathcal X X,和输出空间 Y \mathcal Y Y选取的变量,此时的假设空间 F \mathcal F F是一个函数族。

概率模型

​ 我们称由条件概率定义的模型为概率模型:
F = { P ∣ P θ ( Y ∣ X ) , θ ∈ R n } \mathcal F\it=\left\{ P|P_{\theta}(Y|X),\theta \in \textbf{R}^n\it \right\} F={PPθ(YX),θRn}
这里, X X X Y Y Y分别是从输入空间 X \mathcal X X,和输出空间 Y \mathcal Y Y选取的随机变量,此时的假设空间 F \mathcal F F是一个条件概率分布族。

模型评估

​ 想要将模型最优化,首先我们需要评估一个模型的好坏,这里我们就引入了下面的概念

损失函数和风险函数

损失函数

​ 对于输入一个 X X X,由 f ( X ) f(X) f(X)得到一个输出 Y Y Y,模型的预测值和真实值可能一致也可能不一致,而当两者不一致时,我们引进一个损失函数(loss function)或代价函数(cost function),来度量错误的程度,记作 L ( Y , f ( X ) ) L(Y,f(X)) L(Y,f(X))。损失函数的值越小,模型就越好。常见的损失函数主要有以下几种

(1)0-1损失函数(0-1 loss function)
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))= \left\{ \begin{array}{lr} 1,&Y\neq f(X)\\ 0,&Y=f(X)\\ \end{array} \right. L(Y,f(X))={1,0,Y=f(X)Y=f(X)
(2)平方损失函数(quadratic loss function)
L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Yf(X))2

(3)绝对损失函数(absolute loss function)
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X))=|Y-f(X)| L(Y,f(X))=Yf(X)

(4)对数损失函数(logarithmic loss function),也称对数似然损失函数(log-likelihood loss function)。

L ( Y , P ( Y ∣ X ) ) = − l o g P ( Y ∣ X ) L(Y,P(Y|X))=-logP(Y|X) L(Y,P(YX))=logP(YX)

风险函数

​ 模型输入的 ( X , Y ) (X,Y) (X,Y)是随机变量,遵循联合分布 P ( X , Y ) P(X,Y) P(X,Y),所以损失函数的期望为:
R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ X × Y [ L ( y , f ( x ) ) P ( x , y ) d x d y \begin{aligned} R_{exp}(f) & =E_p[L(Y,f(X))]\\ & =\int_{\mathcal X\it\times\mathcal Y\it}[L(y,f(x))P(x,y)dxdy\\ \end{aligned} Rexp(f)=Ep[L(Y,f(X))]=X×Y[L(y,f(x))P(x,y)dxdy
理论上这是损失函数在整个数据集中的平均值,我们称之为风险函数(risk function)或期望损失(expected loss)。

然而在实际中,联合分布 P ( X , Y ) P(X,Y) P(X,Y)通常是未知的,因为我们一旦知道联合分布 P ( X , Y ) P(X,Y) P(X,Y),我们就可以根据联合分布求出条件概率 P ( Y ∣ X ) P(Y|X) P(YX),那就不需要进行学习了。所以通常我们并不能求出风险函数,就更无法将其最小化了,但机器学习恰恰又是一个最小化风险函数的过程,这就形成了一个悖论。所以我们引入了一个可表示的量,称为经验风险(empirical risk)或经验损失(empirical lost):
对 于 数 据 集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x N , y N ) } : R e m p ( f ) = 1 N ∑ i = 1 n L ( y i , f ( x i ) ) 对于数据集T=\left\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\right\}: \\ R_{emp}(f)=\frac1N \sum_{i=1}^n L(y_i,f(x_i)) T={(x1,y1),(x2,y2),...(xN,yN)}:Remp(f)=N1i=1nL(yi,f(xi))
期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)是模型关于联合分布的平均损失,经验风险 当 R e m p ( f ) R_{emp}(f) Remp(f)是模型关于训练样本的平均损失,由大数定理可知:
当 N → + ∞ 时 , R e m p ( f ) = R e x p ( f ) 当N\to +\infty时,R_{emp}(f)=R_{exp}(f) N+Remp(f)=Rexp(f)
所以我们通常用经验风险来对风险函数进行估计。

经验风险最小化和结构风险最小化

​ 由上面的内容,我们知道,我们通常用经验风险来对风险函数进行估计。但是训练集样本通常是有限的,所以这一方法很多时候并不理想,我们需要对经验风险进行一定的矫正,这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。

经验风险最小化

​ 在假设函数,损失函数和训练数据集确定的情况下,经验风险函数式可以确定。经验风险最小化(empirical likelihood estimation,ERM)观点认为,经验风险最小的模型即是最优模型。这时可以求解如下最优化问题:
m i n f ∈ F 1 N ∑ i = 1 n L ( y i , f ( x i ) ) \mathop{min}\limits_{f\in\mathcal F\it} \frac1N \sum_{i=1}^n L(y_i,f(x_i)) fFminN1i=1nL(yi,f(xi))

结构风险最小化

​ 当样本量足够大的时候,经验风险最小化效果很好,极大似然估计就是经验风险最小化的一个例子。然而,当样本量较小,或样本需要被推广的空间较大时,容易出现过拟合(over-fitting)现象。过拟合现象是指,模型过于追求在现有数据上的准确率,从而降低了模型的泛化能力,我们在这里给出西瓜书的一个例子来说明过拟合和欠拟合的区别:如果我们那锯齿形树叶训练样本来做树叶的分类器,欠拟合即是,将所有绿色的物体当作树叶,这时我们会将许多其他物品比如菠菜,帽子(误,划掉)当作树叶,而过拟合即是,我们将所有锯齿形的绿色物体当作树叶,则圆形树叶将被归为负类,视为非树叶物体,这是模型的泛化能力显然较弱,也就是过拟合模型的一大问题之一

​ 结构风险最小化(structural likelihood estimation,SRM)即是为了防止过拟合而制定的策略,等价于正则化(regularization)。结构风险最小化即是引入一个正则项(regularizer),或罚项(penalty term),也就是,我们让模型和样本保持一个合理的距离,以避免过拟合现象产生。即为求解如下最优化问题:

例如,在回归问题中,损失项为平方损失时,我们可以以参数向量的范数构造正则项:
L ( ω ) = 1 N ∑ i = 1 n ( f ( x i ; ω ) − y i ) 2 + λ ∥ ω ∥ 2 L(\omega)=\frac1N \sum_{i=1}^n (f(x_i;\omega)-y_i)^2+\lambda \Vert \omega\Vert ^2 L(ω)=N1i=1n(f(xi;ω)yi)2+λω2

泛化能力

​ 学习方法的泛化能力(generalization ability)指由该方法得到的模型对未知数据的预测能力,是学习方法的重要性质。现实中多采用泛化误差来表示学习方法的泛化能力。

泛化误差

​ 如果学到的模型是 f ^ \hat{f} f^,那这个模型对未知数据的泛化误差(generalization error)是:
R e x p = E p [ L ( Y , f ^ ( X ) ] = ∫ X × Y [ L ( y , f ^ ( x ) ) P ( x , y ) d x d y \begin{aligned} R_{exp}&=E_p[L(Y,\hat f(X)]\\ &=\int_{\mathcal X\it\times\mathcal Y\it}[L(y,\hat f(x))P(x,y)dxdy \end{aligned} Rexp=Ep[L(Y,f^(X)]=X×Y[L(y,f^(x))P(x,y)dxdy
我们可以看到,模型关于未知数据集的经验风险就是他的泛化误差,泛化误差越小的模型越好。

泛化误差上界

​ 分析一个学习器的泛化能力往往通过分析其泛化误差上界(generalization error bound)实现,泛化误差上界通常具有以下性质:

  1. 关于样本容量的函数,样本容量增加,泛化误差上界趋于零。
  2. 关于假设空间的函数,假设空间越大,泛化误差上界越大。

​ 下面我们给出一个关于二分类问题求泛化误差上界的方法:

​ 对于二分类问题,当假设空间是有限个函数的集合 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 fF,至少以概率 1 − δ , 0 < δ < 1 1-\delta,0<\delta<1 1δ,0<δ<1以下不等式成立:
R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\leq \hat R(f) + \varepsilon(d,N,\delta) R(f)R^(f)+ε(d,N,δ)
其中:
ε ( d , N , δ ) = ( log ⁡ d + log ⁡ 1 δ ) 2 N \varepsilon(d,N,\delta)=\sqrt{\frac{(\log{d}+\log{\frac{1}{\delta}})}{2N}} ε(d,N,δ)=2N(logd+logδ1)
不等式中左侧的 R ( f ) R(f) R(f)是泛化误差,右侧的即是泛化误差上界,其中的 R ^ ( f ) \widehat{R}(f) R (f)是训练过程中的误差,而 ε ( d , N , δ ) \varepsilon(d,N,\delta) ε(d,N,δ)相当于一个纠正项,是关于 N N N的单调递减函数,当 N N N趋近无穷时函数趋向 0,同时它也是 l o g d logd logd阶的函数,假设空间包含的函数越多时, d d d的值越大,函数值也越大。

​ 下面我们给出这一结论的证明:

​ 首先介绍我们需要用到的Hoeffding不等式,在此不加证明地给出:

X 1 , X 2 , . . . , X N X_1,X_2,...,X_N X1,X2,...,XN是独立随机变量,且 X i ∈ [ a i , b i ] , i = 1 , 2 , . . . , N X_i\in[a_i,b_i],i=1,2,...,N Xi[ai,bi],i=1,2,...,N X ˉ \bar{X} Xˉ X 1 , X 2 , . . . , X N X_1,X_2,...,X_N X1,X2,...,XN的经验均值,即 X ˉ = 1 N ∑ i = 1 N X i \bar{X}=\frac{1}{N} \sum\limits_{i=1}^{N}X_i Xˉ=N1i=1NXi ,则对任意 t > 0 t>0 t>0,以下不等式成立:
P [ X ˉ − E ( X ˉ ) ≥ t ] ≤ exp ⁡ ( − 2 N 2 t 2 ∑ i = 1 N ( b i − a i ) 2 ) P [ E ( X ˉ ) − X ˉ ≥ t ] ≤ exp ⁡ ( − 2 N 2 t 2 ∑ i = 1 N ( b i − a i ) 2 ) \begin{aligned} P[\bar{X}-E(\bar{X})\geq t]\leq \exp\left({-\frac{2N^2t^2}{\sum\limits_{i=1}^N(b_i-a_i)^2}}\right)\\ P[E(\bar{X})-\bar{X}\geq t]\leq \exp\left({-\frac{2N^2t^2}{\sum\limits_{i=1}^N(b_i-a_i)^2}}\right) \end{aligned} P[XˉE(Xˉ)t]expi=1N(biai)22N2t2P[E(Xˉ)Xˉt]expi=1N(biai)22N2t2

​ 在这一问题中,我们将使用0-1损失函数,这意味着对于所有 i i i,都有 [ a i , b i ] = [ 0 , 1 ] [a_i,b_i]=[0,1] [ai,bi]=[0,1] ,可得对于 ε > 0 \varepsilon>0 ε>0
P ( R ( f ) − R ^ ( f ) ) ≥ e − 2 N ε 2 P(R(f)-\hat{R}(f))\geq e^{-2N\varepsilon ^2} P(R(f)R^(f))e2Nε2
因为 F \mathcal F F是有限一个集合,故:
P ( ∃ f ∈ F : R ( f ) − R ^ ( f ) ≥ ε ) = P ( ⋃ f ∈ F { R ( f ) − R ^ ( f ) ≥ ε ) } ≤ ∑ f ∈ F P ( R ( f ) − R ^ ( f ) ≥ ε ) ≤ d e − 2 N ε 2 \begin{aligned} P(\exist f\in F:R(f)-\hat{R}(f)\geq\varepsilon)&=P(\bigcup_{f\in F}\left\{ R(f)-\hat{R}(f)\geq\varepsilon) \right\}\\ &\leq\sum_{f\in F}P(R(f)-\hat{R}(f)\geq\varepsilon)\\ &\leq de^{-2N\varepsilon^2} \end{aligned} P(fF:R(f)R^(f)ε)=P(fF{R(f)R^(f)ε)}fFP(R(f)R^(f)ε)de2Nε2
等价地:
P ( R ( f ) < R ^ ( f ) + ε ) ≥ 1 − d e − 2 N ε 2 P(R(f)<\hat{R}(f)+\varepsilon)\geq 1-de^{-2N\varepsilon^2} P(R(f)<R^(f)+ε)1de2Nε2
这是我们令: δ = e − 2 N ε 2 \delta=e^{-2N\varepsilon^2} δ=e2Nε2,可以解得 ε ( d , N , δ ) = ( log ⁡ d + log ⁡ 1 δ ) 2 N \varepsilon(d,N,\delta)=\sqrt{\frac{(\log{d}+\log{\frac{1}{\delta}})}{2N}} ε(d,N,δ)=2N(logd+logδ1) ,此时:
P ( R ( f ) < R ^ ( f ) + ε ) ≥ 1 − δ P(R(f)<\hat{R}(f)+\varepsilon)\geq1-\delta P(R(f)<R^(f)+ε)1δ

所以至少以 1 − δ 1-\delta 1δ的概率, R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\leq \hat R(f) + \varepsilon(d,N,\delta) R(f)R^(f)+ε(d,N,δ)。原问题得证。

模型与算法

​ 算法就是学习中具体的计算方法。机器学习基于训练数据集,根据学习策略,从假设空间中选取最优的模型,然后考虑用什么样的方法求解最优模型,简而言之算法就是一个寻找最优模型的过程,即是一个最优化问题。w

参考资料

  1. 李航《统计学习方法》第三版。

  2. 周志华《机器学习》(西瓜书)。

  3. b站视频 机器学习西瓜书白话解读: https://www.bilibili.com/video/BV17J411C7zZ?p=2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值