第1章 统计学习方法概论
- 统计学习的定义、研究对象与方法
- 统计学习方法的三要素: 模型、策略和算法
- 模型选择,包括正则化、交叉验证与学习的泛化能力
- 介绍生成模型与判别模型
- 监督学习方法的应用:分类问题、标注问题与回归问题
统计学习
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由监督学习(supervised learning)、非监督学习(unsupervised learning)、半监督学习(semi-supervised learning)和强化学习(reinforcement learning)等组成。
本书主要讨论监督学习,这种情况下统计学习的方法可以概括如下:从给定的、有限的、用于学习的训练数据(training data)集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某个函数的集合,称为假设空间(hypothesis space);
应用某个评价准则(evaluation criterion),从假设空间中选取一个最优的模型,使它对已知训练数据及未知测试数据(test data)在给定的评价准则下有最优的预测;最优模型的选取由算法实现。这样,统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法,称其为统计学习方法的三要素,简称为模型(model)、策略(strategy)和算法(algorithm)。
实现统计学习方法的步骤如下:**
- 得到一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,即学习的策略;
- 实现求解最优模型的算法,即学习的算法;
- 通过学习方法选择最优模型;
- 利用学习的最优模型对新数据进行预测或分析。
监督学习
监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意,这里的输入、输出是指某个系统的输入与输出,与学习的输入与输出不同)。计算机的基本操作就是给定一个输入产生一个输出,所以监督学习是极其重要的统计学习分支,也是统计学习中内容最丰富、应用最广泛的部分。
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)。输入与输出空间可以是有限元素的集合,也可以是整个欧氏空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。
x(i)和xi不同,上标表示一个输入的不同特征,下标是第i个输入变量。x 属于X,y属于Y。
(sample)或样本点。
输入变量X和输出变量Y有不同的类型,可以是连续的,也可以是离散的。人们根据输入、输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。
监督学习中,假设训练数据与测试数据是依联合概率分布P(X,Y)独立同分布产生的。
统计学习三要素
方法=模型+策略+算法
模型
统计学习首要考虑的问题是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合。假设空间中的模型一般有无穷多个。
策略
首先引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数值越小,模型就越好。由于模型的输入、输出(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))] = \displaystyle \int_{x*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)是未知的,Rexp(f)不能直接计算。实际上,如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习。这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就成为一个病态问题(ill-formed problem)。
R
e
m
p
(
f
)
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
R_{emp}(f) = \frac{1}{N} \sum^{N}_{i=1}{L(y_i, f(x_i))}
Remp(f)=N1i=1∑NL(yi,f(xi))
期望风险Rexp(f)是模型关于联合分布的期望损失,经验风险Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险Remp(f)趋于期望风险Rexp(f)。
在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式(1.10)就可以确定。经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
\mathop{min}\limits_{f\in F} \frac{1}{N} \sum^{N}_{i=1}{L(y_i, f(x_i))}
f∈FminN1i=1∑NL(yi,f(xi))
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛使用。比如,极大似然估计MLE是经验最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生后面将要叙述的“过拟合(over-fitting)”现象。
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。其中J(f)为模型的复杂度,是定义在假设空间F上的泛函。模型f越简单,复杂度J(f)就越小,模型f越复杂,复杂度J(f)就越大
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^{N}_{i=1}{L(y_i, f(x_i))} + \lambda J(f)
Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型。所以求最优模型,就是求解最优化问题:
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
\mathop{min}\limits_{f\in F} \frac{1}{N} \sum^{N}_{i=1}{L(y_i, f(x_i))} + \lambda J(f)
f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
算法
统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。如果最优化问题有显式的解析解,这个最优化问题就比较简单。但通常解析解不存在,这就需要用数值计算的方法求解。如何保证找到全局最优解,并使求解的过程非常高效,就成为一个重要问题。统计学习可以利用已有的最优化算法,有时也需要开发独自的最优化算法。
模型评估与模型选择
正则化与交叉验证
- 简单交叉验证
- S折交叉验证
- 留一交叉验证
泛化能力
生成模型与判别模型
model)和判别模型(discriminative model)。生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:
P
(
Y
∣
X
)
=
P
(
X
,
Y
)
X
P(Y|X) = \frac{P(X, Y)}{X}
P(Y∣X)=XP(X,Y)
这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型,将在后面章节进行相关讲述。
判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。典型的判别模型包括:k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
分类问题
对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:
- TP——将正类预测为正类数;
- FN——将正类预测为负类数;
- FP——将负类预测为正类数;
- TN——将负类预测为负类数。
精确度定义为:
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