三、统计学习三要素
统计学习方法由三要素构成,可以简单地表示为:
方 法 = 模 型 + 策 略 + 算 法 方法=模型+策略+算法 方法=模型+策略+算法
3.1 模型
在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合。假设空间中的模型一般有无穷多个。
假设空间用 F \mathcal{F} F表示。假设空间可以定义为决策函数的集合:
F = { f ∣ f ( X ) } ( 1.1 ) \mathcal{F}=\{f|f(X)\}\quad\quad\quad\quad\quad(1.1) F={f∣f(X)}(1.1)
其中, X X X和 Y Y Y是定义在输入空间 x x x和输出空间 y y y上的变量,这时 F \mathcal{F} F通常是由一个参数向量决定的函数族:
F = { f ∣ Y = f θ ( X ) , θ ∈ R n } ( 1.2 ) \mathcal{F}=\{f|Y=f_{\theta}(X),\theta\in R^n\}\quad\quad\quad\quad\quad(1.2) F={f∣Y=fθ(X),θ∈Rn}(1.2)
参数向量 θ \theta θ取值于 n n n维欧式空间 R n R^n Rn,称为参数空间(parameter space)。假设空间也可以定义为条件概率的集合:
F = { P ∣ P ( Y ∣ X ) } ( 1.3 ) \mathcal{F}=\{P|P(Y|X)\}\quad\quad\quad\quad(1.3) F={P∣P(Y∣X)}(1.3)
其中, 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 } ( 1.4 ) \mathcal{F}=\{P|P_{\theta}(Y|X),\theta\in R^n\}\quad\quad\quad\quad(1.4) F={P∣Pθ(Y∣X),θ∈Rn}(1.4)
参数向量 θ \theta θ取值于 n n n维欧氏空间 R n R^n Rn,也称为参数空间。
在后面的介绍中,称由决策函数表示的模型为非概率模型,由条件概率表示的模型为概率模型。
3.2 策略
有了模型的假设空间,统计学习需要考虑的是按照什么样的准则学习或选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。
首先引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数和风险函数
监督学习问题是在假设空间 F \mathcal{F} F 中选取模型 f f f 作为决策函数,对于给定的输入 X X X,由 f ( X ) f(X) f(X) 给出相应的输出 Y Y Y ,这个输出的预测值 f ( X ) f(X) f(X) 与真实值 Y Y Y 可能一致也可能不一致,用一个损失函数(loss function)或代价函数(cost function)来度量预测错误的程度。损失函数是 f ( X ) f(X) f(X)和 Y Y Y的非负实值函数,记作 L ( Y , f ( X ) ) L(Y,f(X)) L(Y,f(X))。
常用的损失函数有如下几种:
0-1损失函数(0-1 loss function)
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) ( 1.5 ) L(Y,f(X))=\begin{cases}1,\quad Y\ne f(X)\\0,\quad Y=f(X)\end{cases}\quad\quad\quad\quad(1.5) L(Y,f(X))={1,Y=f(X)0,Y=f(X)(1.5)
平方损失函数(quadratic loss function):
L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 ( 1.6 ) L(Y,f(X))=(Y-f(X))^2\quad\quad\quad\quad(1.6) L(Y,f(X))=(Y−f(X))2(1.6)
绝对损失函数(absolute loss function):
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ ( 1.7 ) L(Y,f(X))=|Y-f(X)|\quad\quad\quad\quad(1.7) L(Y,f(X))=∣Y−f(X)∣(1.7)
对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function):
L ( Y , P ( Y ∣ X ) ) = − log P ( Y ∣ X ) L(Y,P(Y|X))=-\log P(Y|X) L(Y,P(Y∣X))=−logP(Y∣X)
损失函数值越小,模型就越好。由于模型的输入,输出 ( 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 ( 1.9 ) R_{exp}(f)=E_P[L(Y,f(X))]=\int_{\mathcal{X}\times\mathcal{Y}}L(y,f(x))P(X,y)dxdy\quad\quad\quad(1.9) Rexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(X,y)dxdy(1.9)
这是理论上模型 f ( X ) f(X) f(X)关于联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。
学习的目标就是选择期望风险最小的模型,由于联合分布 P ( X , Y ) P(X,Y) P(X,Y)是未知的, R e x p ( f ) R_{exp}(f) Rexp(f)不能直接计算。实际上,如果知道联合分布 P ( X , Y ) P(X,Y) P(X,Y),可以从联合分布直接求出条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X),也就不需要学习了,正因为不知道联合概率分布,所以才需要进行学习,这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就称为一个病态问题(ill-formed problem)。
给定一个训练数据集:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\} T={(x1,y1),(x2,y2),…,(xN,yN)}
模型
f
(
X
)
f(X)
f(X)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作
R
e
m
p
R_{emp}
Remp:
R
e
m
p
(
f
)
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
(
1.10
)
R_{emp}(f)=\frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i))\quad\quad\quad\quad\quad(1.10)
Remp(f)=N1i=1∑NL(yi,f(xi))(1.10)
期望风险 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_{emp}(f) Remp(f)趋于期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)。所以一个很自然的想法是用经验风险估计期望风险,但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正。这就关系到监督学习的两个基本策略:经验风险最小化与结构风险最小化。
经验风险最小化与结构风险最小化
在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式(1.10)就可以确定,经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型就是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) ( 1.11 ) \min\limits_{f\in\mathcal{F}}\frac{1}{N}\sum\limits_{i=1}^{N}L(y_i,f(x_i))\quad\quad\quad\quad(1.11) f∈FminN1i=1∑NL(yi,f(xi))(1.11)
当样本容易足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛应用。比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。(这里待补充,极大似然估计的概念优点忘了)。
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生“过拟合(over-fitting)”现象。
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization),结构风险在经验风险上加上表示模型复杂度的正则化项regularizer)或罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是:
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) ( 1.12 ) R_{srm}(f)=\frac{1}{N}\sum\limits_{i=1}^{N}L(y_i,f(x_i))+\lambda J(f)\quad\quad\quad\quad(1.12) Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)(1.12)
其中 J ( f ) J(f) J(f)为模型的复杂度,是定义在假设空间 F \mathcal{F} F撒谎给你的泛函。(待补充,泛函是什么)模型f越复杂,复杂度 J ( f ) J(f) J(f)就越大;反之,模型f越简单,复杂度 J ( f ) J(f) J(f)就越小,也就是说,复杂度表示了对复杂模型的惩罚。 λ ≥ 0 \lambda\ge0 λ≥0是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
比如,贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子,当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。(待补充)
结构风险最小化的策略认为结构风险最小的模型是最优的模型,所以求最优模型,就是求解最优化问题:
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) ( 1.13 ) \min\limits_{f\in\mathcal{F}}\frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i))+\lambda J(f)\quad\quad\quad\quad(1.13) f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)(1.13)
这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题(1.11)和(1.13)。这时经验风险或结构风险函数是最优化的目标函数。
3.3 算法
算法是指学习模型的具体计算方法,统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考略用什么样的计算方法求解最优模型。
这时,统计学习问题归结为最优化问题,统计学习的算法称为求解最优化问题的算法。如果最优化问题有显式的解析解,这个最优化问题比较简单。但通常解析解不存在,这就需要用数值计算的方法求解。如何保证找到全局最优解,并使求解的过程变得非常高效,就成为一个重要问题。
五、正则化与交叉验证
5.1 正则化
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term),正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。
正则化一般具有如下形式:
min f ∈ F 1 N ∑ i = 1 N L ∗ y i , f ( x i ) ) + λ J ( f ) ( 1.19 ) \min\limits_{f\in\mathcal{F}}\frac{1}{N}\sum\limits_{i=1}^{N}L*y_i,f(x_i))+\lambda J(f)\quad\quad\quad\quad(1.19) f∈FminN1i=1∑NL∗yi,f(xi))+λJ(f)(1.19)
其中,第一项是经验风险,第二项是正则化项, λ ≥ 0 \lambda\ge0 λ≥0为调整二者之间关系的系数。
正则化项可以取不同的形式,例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的 L 2 L_2 L2范数:
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ ∥ w ∥ 2 L(w)=\frac{1}{N}\sum\limits_{i=1}^{N}(f(x_i;w)-y_i)^2+\lambda\Vert w\Vert^2 L(w)=N1i=1∑N(f(xi;w)−yi)2+λ∥w∥2
这里, ∥ w ∥ \Vert w\Vert ∥w∥表示参数向量 w w w的 L 2 L_2 L2范数。
正则化项也可以是参数向量的 L 1 L_1 L1范数:
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ ∥ w ∥ 1 L(w)=\frac{1}{N}\sum\limits_{i=1}^{N}(f(x_i;w)-y_i)^2+\lambda\Vert w\Vert_1 L(w)=N1i=1∑N(f(xi;w)−yi)2+λ∥w∥1
这里, ∥ w ∥ 1 \Vert w\Vert_1 ∥w∥1是参数向量的 L 1 L_1 L1范数。
第一项的经验风险较小的模型可能较复杂(有多个非零参数),这时第二项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。
正则化符合奥卡姆剃刀(Occam‘s razor)原理,奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。
待补充 14