1. 统计学习概论
1.1. 概念
-
定义
统计学习假设数据存在一定统计规律,计算机基于数据构建概率统计模型,并运用模型对数据进行预测与分析一门学科。 -
主要内容
监督学习(supervised learning)、非监督学习(unsupervised learning)、半监督学习(semi-supervised learning)、强化学习(reinforcement learnin)等。 -
三要素
模型(model): 模型的假设空间
策略(strategy): 模型选择的准则,即确定使用什么样的损失函数
算法(algorithm): 模型学习的算法,即在最小化损失函数时求解模型参数的算法,如随机梯度下降算法。
-
术语
输入空间(input space): 输入所有可能取值的集合
输出空间(output space): 输出所有可能取值的集合
特征向量(feature vector): 每一个具体输入的实例(instance),通常由特征向量表示
特征空间(feature space):所有特征向量存在的空间,特征空间的每一维对应一个特征。
样本(sample):输入与输出对,又称样本点。
假设空间(hypothesis space):输入空间到输出空间的映射的集合,模型假设空间的确定意味着学习范围的确定。
注:(1)有时假设输入空间与特征空间为相同的空间;(2)有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间;(3)模型实际上都是定义在特征空间的。
1.2. 监督学习
定义:监督学习从训练数据集合中学习模型,对测试数据进行预测。训练数据由输入与输出组成。
监督学习的模型:(1)概率模型,由条件概率 P ( X ∣ Y ) P(X|Y) P(X∣Y)表示,对具体输入进行预测时,写作 P ( y ∣ x ) P(y|x) P(y∣x);(2)非概率模型,由决策函数(decision function) Y = f ( X ) Y=f(X) Y=f(X)表示,对具体输入进行预测时,写作 f ( x ) f(x) f(x)
-
联合概率分布
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。训练数据与测试数据被看作是依照联合概率分布P(X,Y)独立同分布产生的。
1.2.1. 模型
模型的假设空间包括所有可能的条件概率或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合。
假设空间用 F F F表示, F F F通常是由一个参数向量决定的函数族,则假设空间可以定义为:
(1)决策函数的集合
F = { f ∣ Y = f θ ( X ) , θ ∈ R n } F=\{f|Y=f_\theta(X),\theta \in R^n\} F={f∣Y=fθ(X),θ∈Rn}
(2)条件概率的集合
F
=
{
P
∣
P
θ
(
Y
∣
X
)
,
θ
∈
R
n
}
F=\{P|P_\theta(Y|X),\theta \in R^n\}
F={P∣Pθ(Y∣X),θ∈Rn}
参数向量 θ \theta θ取值于n维欧氏空间 R n R^n Rn,称为参数空间(parameter space)。
注:称由决策函数表示的模型为非概率模型,由条件概率表示的模型为概率模型。
1.2.2. 策略
-
损失函数(loss function)
也叫代价函数(cost function)度量模型一次预测的好坏,损失函数值越小,模型就越好常用的损失函数:
(1)0-1损失函数(0-1 loss function)
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))=\begin{cases} 1, Y\neq f(X)\\ 0, Y=f(X) \end{cases} L(Y,f(X))={1,Y=f(X)0,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))=(Y−f(X))2
(3)绝对损失函数(absolute loss function)
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X))=|Y-f(X)| L(Y,f(X))=∣Y−f(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(Y∣X))=−logP(Y∣X)
注:用来极大似然的方法,把对数似然取负,极大化对数似然就是最小化对数似然损失。 -
风险函数(risk function)
也叫期望损失(expected loss),期望风险(expected risk),是理论上模型 f ( X ) f(X) f(X)关于联合分布 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 R_{exp}(f)=E_P[L(Y,f(X))]=\int_{\mathcal{X} \times \mathcal{Y}}{L(y,f(x))P(x,y)dxdy} Rexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdy由于联合分布 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),因此使用经验风险(empirical risk)
-
经验风险(empirical risk)
也叫经验损失(empirical loss),根据大数定律,当样本容量 N N N趋于无穷时,经验风险 R e m p ( f ) R_{emp}(f) Remp(f)趋于期望风险 R e x p R_{exp} Rexp。给定一个训练集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}
模型 f ( x ) f(x) f(x)关于训练数据集的平均损失称为**经验风险,记作 R e m p R_{emp} Remp
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f)={\frac{1}{N}}\sum\limits_{i=1}^{N}{L(y_i,f(x_i))} Remp(f)=N1i=1∑NL(yi,f(xi))注意:现实中训练样本数目优先,甚至很小,所以用经验风险估期望风险常常并不理想,要对经验风险进行一定的矫正,关系到监督学习的两个基本策略:
-
经验风险最小化
经验风险最小化(empirical risk minimization,ERM)策略认为,经验风险最小的模型是最优的模型,即求解最优化问题:
m i n f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \underset{f\in\mathcal{F}}{min}\,\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i)) f∈FminN1i=1∑NL(yi,f(xi))
其中 F \mathcal{F} F是假设空间
例如:极大似然估计(maximum likelihood estimation)就是经验风险最小化的例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。 -
结构风险最小化
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出的策略,等价于正则化(regularization),结构风险在经验风险上加上表示模型复杂的正则化项(regularizer) 或 罚项(penalty),定义:
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}{L(y_i,f(x_i))+\lambda J(f)} Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中, J ( f ) J(f) J(f)代表模型的复杂度,模型 f f f越复杂,复杂度 J ( f ) J(f) J(f)就越大; λ ≥ 0 \lambda \geq0 λ≥0是系数,用以权衡经验风险和模型复杂度。
注意:结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测
例如:贝叶斯估计中的最大后验概率估计(maximum poster probability estimation,MAP),就是结构风险最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数,模型复杂度由先验概率表示时,复杂的模型有较大的先验概率,简单的模型有较小的先验概率,结构风险最小化就等价于最大后验概率估计。
1.2.3.算法
定义:求解最优模型的计算方法。
-
过拟合与模型选择
过拟合(over-fitting):一味追求提高对训练数据的预测能力,所选模型的复杂度往往比真模型更高,即学习时选择的模型包含的参数过多,以至于出现这一模型对已知数据预测得很好,但对于未知数据预测很差的现象。注意:在学习时要防止过拟合,进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的,有两种常见的模型选择方法:
- 正则化
正则化(regularization)是结构风险最小化策略的实现,是在经验风险上加上一个正则化项或罚项,模型越复杂,正则化值越大。
正则化一般形式:
m i n f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \underset{f\in\mathcal{F}}{min}\,\frac{1}{N}\sum_{i=1}^{N}{L(y_i,f(x_i))+\lambda J(f)} f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
例如:在回归问题中,损失函数是平方损失,正则化项可以是参数向量的 L 2 L_2 L2范数:
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∣ ∣ w ∣ ∣ 2 L(w)=\frac{1}{N}\sum_{i=1}^{N}{(f(x_i;w)-y_i)^2+\frac{\lambda}{2}}||w||^2 L(w)=N1i=1∑N(f(xi;w)−yi)2+2λ∣∣w∣∣2
这里, ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣表示参数 w w w的 L 2 L_2 L2范数。
注意:正则化符合奥卡姆剃刀(Occam’s razor)原理,即在所有可能选择的模型中,能够很好解释已知数据并且十分简单才是最好的模型。 - 交叉验证
(1)简单交叉验证
随机将已给数据分成两部分,一部分作为训练集,另一部分作为测试集;然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
(2)S折交叉验证(S-fold cross validation)
随机将已给数据切分成S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的1个子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
(3)留一交叉验证
S折交叉验证的特殊情况S=N,其中N是给定数据集的容量。
- 正则化
1.3 泛化能力
定义:学习方法的泛化能力(generalization)是指由该方法学习到的模型对未知数据的预测能力。如果学习到的模型是
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
-
泛化误差的上界
定理:对于二分类问题,当假设空间是有限个函数的集合 F = { f 1 , f 2 , ⋯ , f d } \mathcal{F}=\{f_1,f_2,\cdots ,f_d\} F={f1,f2,⋯,fd}时,对任意一个函数 f ∈ F f\in \mathcal{F} f∈F,至少以概率 1 − δ 1-\delta 1−δ,以下不等式成立
R ( f ) ≤ R ^ ( f ) + ϵ ( d , N , δ ) R(f)\leq \hat{R}(f)+\epsilon (d,N,\delta) R(f)≤R^(f)+ϵ(d,N,δ)
注意:左端为泛化误差,右端为泛化误差上界。右端的泛化误差上界中
第1项是训练误差,训练误差越小,泛化误差也越小;
第2项 ϵ ( d , N , δ ) \epsilon (d,N,\delta) ϵ(d,N,δ):(1)是训练集样本容量 N N N的单调递减函数,当 N N N趋于无穷时趋于0。(2)是假设空间容量 d d d的函数,即 l o g d \sqrt{logd} logd阶的函数,假设空间 F \mathcal{F} F包含的函数越多,其值越大。
其中,
ϵ ( d , N , δ ) = 1 2 N { l o g d + l o g 1 δ } \epsilon (d,N,\delta)=\sqrt{\frac{1}{2N}\left\{ logd+log\frac{1}{\delta} \right\}} ϵ(d,N,δ)=2N1{logd+logδ1}
关于 f f f的期望风险是:
R ( f ) = E [ L ( Y , f ( X ) ) ] R(f)=E[L(Y,f(X))] R(f)=E[L(Y,f(X))]
关于 f f f的经验风险是:
R ^ ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \hat{R}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i)) R^(f)=N1i=1∑NL(yi,f(xi))
经验风险最小化函数是:
f N = arg max f ∈ F R ^ ( f ) f_N={\underset {f\in \mathcal{F}}{\operatorname {arg\,max} }}\,\hat{R}(f) fN=f∈FargmaxR^(f)
f N f_N fN的泛化能力为:
R ( f N ) = E [ L ( Y , f N ( X ) ] R(f_N)=E[L(Y,f_N(X)] R(fN)=E[L(Y,fN(X)]
1.4.生成模型与判别模型
监督学习的任就是学习一个模型,这个模型的一般形式为决策函数
Y
=
f
(
x
)
Y=f(x)
Y=f(x)或者条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)。
监督学习方法又可以分为生成方法(generative approach) 和 判别方法(discriminative approach)
- 生成模型
即生成方法学到的模型。生成方法由数据学习联合概率分布,然后求出条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型。
P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X)=\frac{P(X,Y)}{P(X)} P(Y∣X)=P(X)P(X,Y)
这样的方法之所以被称为生成方法,是因为模型表示了给定输入 X X X产生输出 Y Y Y的生成关系
特点:
(1)生成方法可以还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),而判别方法不能;
(2)生成方法的学习收敛速度更快,当样本容量增加时,学到的模型可以更快地收敛于真实模型;
(3)当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用; - 判别模型
即判别方法学到的模型。判别方法由数据直接学习决策函数 f ( X ) f(X) f(X)或者条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型。
特点:
(1)判别方法直接学习的是条件概率 P ( X , Y ) P(X,Y) P(X,Y)或决策函数 f ( X ) f(X) f(X),直接面对预测,往往学习的准确率跟高;
(2)由于直接学习 P ( Y ∣ X ) P(Y|X) P(Y∣X)或 f ( X ) f(X) f(X),可以对数据进行各种程度上的抽象,定义特征并使用特征,因此可以简化学习问题。