统计学习的基本分类
监督学习:
从标注数据中学习预测模型的机器学习问题。
- 输入空间与输出空间:在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。
- 特征空间:在监督学习中,每个具体的输入是一个实例,通常由特征向量表示。这时,所有特征向量存在的空间称为特征空间。其每一维对应一个特征。
- 输入与输出为随机变量在输入与输出空间上的取值,变量用大写字母表示,如X,变量的具体取值用小写字母表示,如x: x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( i ) , ⋯ , x ( n ) ) T x=\left(x^{(1)}, x^{(2)}, \cdots, x^{(i)}, \cdots, x^{(n)}\right)^{T} x=(x(1),x(2),⋯,x(i),⋯,x(n))T, x ( i ) x^{(i)} x(i) 表示 x x x 的第 i i i 个特征. 注意, x ( i ) x^{(i)} x(i) 与 x i x_{i} xi 不同,本书通常用 x i x_{i} xi 表示多个输入变量 中的第 i 个,即 x i = ( x i ( 1 ) , x i ( 2 ) , ⋯ , x i ( n ) ) T x_{i}=\left(x_{i}^{(1)}, x_{i}^{(2)}, \cdots, x_{i}^{(n)}\right)^{\mathrm{T}} xi=(xi(1),xi(2),⋯,xi(n))T
- 输入与输出变量均为连续变量的预测问题称为回归问题,输出变量为有限个离散变量的预测问题被称为分类问题,输入变量与输出变量均为变量序列的预测问题称为标注问题。
- 假设空间:监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间 到输出空间的映射的集合,这个集合就是假设空间(hypothesis space)。假设空间的确定意味着学习范围的确定。
无监督学习:
是指从无标注的数据中学习预测模型的机器学习问题。无标注数据是自然得到的数据,预测模型表示数据的类别、转换或概率。无监督学习的本质是学习数据中的统计规律或潜在结构。
强化学习:
是指智能系统在于环境的连续互动中学习最优行为策略的机器学习问题。
半监督学习:
是指利用标注数据和未标注数据学习预测模型的机器学习问题。通常由少量标注数据、大量未标注数据。
主动学习:
是指机器不断主动给出实例让教师进行标注,然后利用标注数据学习预测模型的机器学习问题。通常监督学习使用给定的标注数据,往往是随机得到的,可以看作是“被动学习”,主动学习的目标是找出对学习最有帮助的实例让教师标注,以较小的标注代价达到好的学习效果。
按模型分类:
- 概率模型与非概率模型
- 线性模型与非线性模型
- 参数化模型与非参数化模型
按算法分类:
- 在线学习:每次接受一个样本,进行预测后学习模型,不断重复该操作
- 批量学习:一次接受所有数据,学习模型,然后进行预测
按技巧分类:
贝叶斯学习
- 设随机变量D表示数据,随机变量x表示模型参数:
后验概率 P ( x ∣ D ) = P ( x ) P ( D ∣ x ) P ( D ) P(x|D)=\frac{P(x)P(D|x)}{P(D)} P(x∣D)=P(D)P(x)P(D∣x),其中 P ( x ) P(x) P(x)是先验概率, P ( D ∣ x ) P(D|x) P(D∣x)是似然函数。 - 极大似然估计:已知原因,推结果的可能性
- 贝叶斯估计:已知结果,推原因的可能性
- 先验概率:根据自然经验的得到的经验概率
核方法
使用核函数表示和学习非线性模型的一种机器学习方法。
统计学习方法的三要素
模型
统计学习首要考虑的问题是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。
策略
有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。
- 损失函数
损失函数用来衡量模型一次预测的好坏。统计学习常用的损失函数有以下几种:
(1)0-1 损失函数
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y, f(X))=\left\{\begin{array}{ll} 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)平方损失函数
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)绝对损失函数
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y, f(X))=|Y-f(X)| L(Y,f(X))=∣Y−f(X)∣
(4)对数损失函数或对数似然损失函数
L ( Y , P ( Y ∣ X ) ) = − log P ( Y ∣ X ) L(Y, P(Y \mid X))=-\log P(Y \mid X) L(Y,P(Y∣X))=−logP(Y∣X) - 风险函数
损失函数值越小,模型就越好. 由于模型的输入、输出 (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_{\mathrm{exp}}(f)=E_{P}[L(Y, f(X))]=\int_{xy} L(y, f(x)) P(x, y) \mathrm{d} x \mathrm{d} y Rexp(f)=EP[L(Y,f(X))]=∫xyL(y,f(x))P(x,y)dxdy
这是理论上模型 f ( X ) f(X) f(X) 关于联合分布 P ( X , Y ) P(X, Y) P(X,Y) 的平均意义下的损失, 称为风险函数 (risk function) 或期望损失(expected loss)。 - 学习的目标就是选择期望风险最小的模型,但是联合概率密度未知,所以不能直接计算。给定一个训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}
模型 f ( X ) f(X) f(X) 关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失 (empirical loss ), 记作 R emp : R_{\text {emp }}: Remp :
R emp ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{\text {emp }}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) Remp (f)=N1i=1∑NL(yi,f(xi))
期望风险 R exp ( f ) R_{\exp }(f) Rexp(f) 是模型关于联合分布的期望损失,经验风险 R emp ( f ) R_{\text {emp }}(f) Remp (f) 是模型 关于训练样本集的平均损失。根据大数定律,当样本容量 N 趋于无穷时,经验风 险 R emp ( f ) R_{\text {emp }}(f) Remp (f) 趋于期望风险 $R_{\exp }(f) $。 所以一个很自然的想法是用经验风险估计期望 风险. 但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期 望风险常常并不理想,要对经验风险进行一定的矮正. 这就关系到监督学习的两 个基本策略:经验风险最小化和结构风险最小化。 - 经验风险最小化
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) f∈FminN1i=1∑NL(yi,f(xi)) - 结构风险最小化
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
为了防止过拟合而提出的策略,等价于正则化。
R s m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{\mathrm{sm}}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) Rsm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中 J( f) 为模型的复杂度,是定义在假设空间 F 上的泛函。模型 f f f 越复杂,复 杂度 J( f) 就越大; 反之,模型 f f f 越简单,复杂度 J( f) 就越小. 也就是说,复杂 度表示了对复杂模型的怎罚. λ ⩾ 0 \lambda \geqslant 0 λ⩾0 是系数,用以权衡经验风险和模型复杂度. 结 构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据 以及未知的测试数据都有较好的预测。
算法
模型评估与模型选择
- 训练误差与测试误差
假设学习到的模型是 Y = f ( X ) , Y=f(X), Y=f(X), 训练误差是模型 Y = f ( X ) Y=f(X) Y=f(X) 关于训练数据集 的平均损失:
R emp ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{\text {emp }}(\hat{f})=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, \hat{f}\left(x_{i}\right)\right) Remp (f^)=N1i=1∑NL(yi,f^(xi))
其中 N 是训练样本容量. 测试误差是模型 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X) 关于测试数据集的平均损失:
e test = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) e_{\text {test }}=\frac{1}{N^{\prime}} \sum_{i=1}^{N^{\prime}} L\left(y_{i}, \hat{f}\left(x_{i}\right)\right) etest =N′1i=1∑N′L(yi,f^(xi))
其中 N ′ N^{\prime} N′ 是测试样本容量。 - 过拟合与模型选择
如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真 模型更高. 这种现象称为过拟合(over-fitting). 过拟合是指学习时选择的模型所 包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预 测得很差的现象。可以说模型选择旨在避免过拟合并提高模型的预测能力。
正则化与交叉验证
正则化
- 正则化是结构风险最小化策略的实现,是在经验风险最小化的基础上加一个正则项,模型越复杂,正则化值就越大。正则化值可以是模型参数向量的范数。
交叉验证
- 如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集 切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set). 训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习 方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是有效的。
- 简单交叉验证、S折交叉验证、留一交叉验证。
泛化能力
是指由该方法学习到的模型对未知数据的预测能力。
生成模型和判别模型
- 生成方法
由数据学习联合概率分布 P ( X , Y ) , P(X, Y), P(X,Y), 然后求出条件概率分布 P ( Y ∣ X ) P(Y \mid X) P(Y∣X) 作为预测的模型,即生成模型:
P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y \mid X)=\frac{P(X, Y)}{P(X)} P(Y∣X)=P(X)P(X,Y)
这样的方法之所以称为生成方法, 是因为模型表示了给定输入 X 产生输出 Y 的生 成关系. 典型的生成模型有: 朴素贝叶斯法和隐马尔可夫模型。 - 判别方法
由数据直接学习决策函数 f ( X ) f(X) f(X) 或者条件概率分布 P ( Y ∣ X ) P(Y \mid X) P(Y∣X) 作为预 测的模型,即判别模型. 判别方法关心的是对给定的输入 X,应该预测什么样的输 出 Y. 典型的判别模型包括: k k k 近邻法、感知机、决策树、逻辑斯締回归模型、最 大嫡模型、支持向量机、提升方法和条件随机场等,将在后面章节讲述.