1.1 统计学习
对象
统计学习的对象是数据。
统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。
本书以讨论离散变量为主。
目的
统计学习用于对数据进行预测和分析,特别是对未知新数据进行预测和分析。
方法
统计学习有监督学习、非监督学习、半监督学习和强化学习等组成。本书主要讨论监督学习。
监督学习方法可以概括如下:从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某个函数的集合,称为假设空间(hypothesis space);应用某个评价准则(evaluation criterion),从假设空间中选取一个最优的模型,使它对已知训练数据和未知训练数据在给定的评价准则下有最优的预测;最优模型的选择由算法实现。这样,统计学习方法包括模型的假设空间、模型选择的准则及模型学习的算法,称其为统计学习方法的三要素,简称为模型、策略和算法。
实现统计学习方法步骤如下 (2-3-4):
- 得到一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,即学习的策略;
- 实现求解最优模型的算法,即学习的算法;
- 通过学习方法选择最优模型;
- 利用学习的最优模型对新数据进行预测或分析。
1.2 监督学习
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。
基本概念
-
输入空间、特征空间与输出空间
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。通常输出空间远远小于输入空间。
每个具体的输入是一个实例,通常由特征向量表示,这是,所有特征向量存在的空间称为特征空间。特征空间每一维对应一个特征,模型实际上都是定义在特征空间上的。
习惯上输入变量写作 X X X,输出变量写作 Y Y Y,输入、输出变量的取值用小写字母表示。通常输入 x x x上标表示第 i i i个特征,下标表示第 i i i个输入变量。
输入与输出对又称为样本或样本点。
根据输入、输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均连续的预测问题称为回归问题;输出变量为有限个离散变量的问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。
-
联合概率分布
监督学习假设输入与输出的随机变量 X X X和 Y Y Y遵循联合概率分布 P ( X , Y ) P(X,Y) P(X,Y), 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(Y∣X)或决策函数 Y = f ( X ) Y=f(X) Y=f(X)表示。
1.3 统计学习三要素
方法=模型+策略+算法
模型
在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。它们又分布称为概率模型和非概率模型。
假设空间 | 输入空间 | 输出空间 | 参数空间 | |
---|---|---|---|---|
决策函数 | $\cal F\it ={f_{\theta} | Y=f_{\theta}(x), \theta \in \bf R \it ^n}$ | 变量 | 变量 |
条件概率分布 | $\cal F\it ={P | P_{\theta}(Y | X),\theta\in \bf R \it ^n}$ | 随机变量 |
策略
损失函数是模型的预测值 f ( X ) f(X) f(X)与真实值 Y Y Y的非负实值函数,记做 L ( Y , f ( X ) ) L(Y,f(X)) L(Y,f(X))。
常用的损失函数有
- 0-1损失
L = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L=\begin{cases}1, Y \neq f(X) \\0, Y=f(X) \end{cases} L={1,Y̸=f(X)0,Y=f(X) - 平方损失
L = ( Y − f ( X ) ) 2 L=(Y-f(X))^2 L=(Y−f(X))2 - 绝对损失
L = ∣ Y − f ( X ) ∣ L=|Y-f(X)| L=∣Y−f(X)∣ - 对数损失
这里 P ( Y ∣ X ) ⩽ 1 P(Y|X)\leqslant 1 P(Y∣X)⩽1,对应的对数是负值,所以对数损失中包含一个负号,为什么不是绝对值?因为肯定是负的。
L = − log P ( Y ∣ X ) L=-\log P(Y|X) L=−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 R_{exp}(f)=E_P[L(Y,f(X))]=\int_{X\times{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
这是理论上模型 f ( X ) f(X) f(X)关于联合分布 P ( X , Y ) P(X,Y) P(X,Y)的平均意义下的损失,称为风险函数或期望损失。
模型 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)=\frac1N\sum_{i=1}^NL(y_i,f(x_i)) Remp(f)=N1i=1∑NL(yi,f(xi))
期望风险是模型关于联合分布(未知)的期望损失,经验风险是模型关于训练样本集的平均损失。
经验风险最小化(ERM)和结构风险最小化(SRM)。极大似然估计是经验风险最小化的一个例子。当样本容量足够大时,经验风险最小化能保证很好的学习效果(因为根据大数定律,经验风险趋于期望风险),但是样本容量很小时,经验风险最小化的效果未必很好,容易过拟合。
结构风险最小化是为了防止过拟合而提出的策略,结构风险最小化等价于正则化。结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。定义为:
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac1N\sum_{i=1}^NL(y_i,f(x_i))+\lambda{J(f)} Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中 J ( f ) J(f) J(f)是模型的复杂度,模型越复杂,其值越大。贝叶斯估计中的最大后验概率估计(MAP)就是结构风险最小化的一个例子。
算法
统计学习问题归结为最优化问题,则其算法成为求解最优化问题的算法。
1.4 模型评估与模型选择
当损失函数给定时,基于损失函数的模型的训练误差和模型的测试误差是学习方法评估的标准。
统计学习方法具体采用的损失函数未必是评估时使用的损失函数。这句需要后面再来品一品。
通常将学习方法对未知数据的预测能力称为泛化能力。
过拟合与模型选择
过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测得很差。
1.5 正则化与交叉验证
正则化是结构风险最小化策略的实现。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。常用的有 L 1 和 L 2 L_1和L_2 L1和L2范数。
从贝叶斯估计的角度看,正则化项对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单模型有较大的先验概率。
交叉验证常用的有简单交叉验证、S折交叉验证和留一交叉验证。
1.6 泛化能力
学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。
泛化误差的定义。如果学到的模型是 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_{X\times{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 } F=\{f_1,f_2,...,f_d\} F={f1,f2,...,fd}时,对任意一个函数 f ∈ F f\in{F} f∈F,至少以概率 1 − δ 1-\delta 1−δ
,以下不等式成立
R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\le{}\hat{R}(f)+\varepsilon(d,N,\delta) R(f)≤R^(f)+ε(d,N,δ)
其中
ε ( d , N , δ ) = 1 2 N ( l o g d + l o g 1 δ ) \varepsilon(d,N,\delta)=\sqrt{\frac1{2N}(logd+log{\frac1{\delta}})} ε(d,N,δ)=2N1(logd+logδ1)
1.7 生成模型和判别模型
生成方法由数据学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),然后求出条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型,即生成模型。典型的有朴素贝叶斯法和隐马尔可夫模型。
特点 :
- 生成方法可以还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y);
- 生成方法的学习收敛速度更快;
- 存在隐变量时,仍可以用生成方法学习。
判别方法由数据直接学习决策函数 f ( X ) f(X) f(X)或者条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型,即判别模型。典型的有k近邻法、感知机、决策树、逻辑斯蒂回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
特点:
- 直接学习的是条件概率或决策函数,直接面对预测,往往学习的准确率更高;
- 可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
1.8 分类问题
评价分类器性能的指标一般是分类准确率(accuracy)。
对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,出现的四种情况为:
TP----将正类预测为正类数; true positive真正类
FN----将正类预测为负类数;false negative假负类
FP----将负类预测为正类数;false positive 假正类
TN----将负类预测为负类数;true negative真负类
精确率定义为 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
召回率定义为 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
F 1 F_1 F1值,是精确率和召回率的调和均值,即 2 F 1 = 1 P + 1 R ⇒ F 1 = 2 T P 2 T P + F P + F N \frac2{F_1}=\frac1P+\frac1R \Rightarrow{F_1}=\frac{2TP}{2TP+FP+FN} F12=P1+R1⇒F1=2TP+FP+FN2TP当精确率和召回率都高时, F 1 F_1 F1值也高。
1.9 标注问题
标注(tagging)问题也是一个监督学习问题。可以认为是分类问题的一个推广。
标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。
标注常用的统计学习方法由:隐马尔可夫模型、条件随机场等。