一、统计学习相关概念
1.1 统计学习
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的门 学科,也称为统计机器学习。
特点
- 以计算机及网络为平台,是建立在计算机及网络之上的
- 以数据为研究对象,是数据驱动的学科
- 目的是对数据进行预测与分析
- 以方法为中心,统计学习方法构建模型并应用模型进行预测与分析
- 是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多领域的交叉学科
对象
统计学习的对象是数据。它从数据出发,提取数据的特征,抽象出数据的模型,发现数 中的知识,又回到对数据的预测与分析中去。
基本假设
统计学习关于数据的基本假设是同类数据具有一定的统计规律。这是统计学习的前提。
目的
统计学习用于对数据的进行预测与分析,特别是对未知数据进行预测与分析,是通过构建 概率统计模型实现的。统计学习总的目标就是考虑学习什么样的模型和如何学习模型,使 模型能对数据进行准确的预测与分析,同时也要尽可能的提高学习效率。
方法
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析的。统计学习由监 学习,非监督学习,半监督学习和强化学习等组成。
以监督学习为例,统计学习方法是从给定的、有限的、用于学习的训练数据集出发,假 数据是独立同分布产生的;并且假设要学习的模型属于某个函数集合,成为假设空间; 应用某个评价准则,从假设空间中选取一个最优的模型,使它对已知训练数据和未知测试 数据在给定的评价标准下有最优的预测;最优模型的选取由算法实现。
实现统计学习方法的步骤如下:
- 得到一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,即学习的策略;
- 实现求解最优模型的算法,即学习的算法;
- 通过学习方法选择最优模型;
- 利用学习的最优模型对新数据进行预测或分析。
1.2 监督学习
输入空间、特征空间与输出空间
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。每个具 体的输入是实例,通常由特征向量表示,此时,所有向量存在的空间称为特征空间。
在监督学习过程中,将输入与输出看成是定义在输入(特征空间)与输出空间上的随机变量取值。输入、输出变量用大写字母 X
和 Y
表示,输入输出变量的取值用小写字母 x
和 y
表示。
联合概率分布
监督学习关于数据的基本假设输入与输出的随机变量 X
和 Y
遵循联合分布概率 P(X,Y)
.
假设空间
监督学习的目的是在于学习一个由输入到输出的映射,这一映射由模型来表示,模型属于 由输入空间到输出空间的映射的集合,称之为假设空间。
分类
输入变量 | 输出变量 | 预测问题类型 |
---|---|---|
连续变量 | 连续变量 | 回归问题 |
连续变量 | 有限个离散变量 | 分类问题 |
变量序列 | 变量序列 | 标注问题 |
二、统计学习三要素
2.1 模型
模型是所要学习的条件概率分布 $ Y=f(x) $ 或 $ P(Y) $
模型的假设空间是所有可能的条件概率分布或决策函数。
决策函数的集合 $ F=\{f|Y=f(x)\} $ 或 $ F=\{P|P(Y|X)\} $
参数空间 $ F=\{f|Y=f_\theta(X),\theta \in \text{R}^{n}\} $
或 $ F=\{P|P_\theta(Y|X),\theta \in {{\text{R}}^{n}}\} $
2.2 策略
损失函数
损失函数度量模型一次预测的好坏,是f(x)和Y的非负实值函数,记作$ L(Y,f(x)) $。损失 函数越小,模型就越好。统计学习常用的损失函数有以下几种:
0-1损失函数
$$ L(Y,f(x))=I(Y=f(x))= \begin{cases} 0,\quad Y\ne f(x) \\ 1, \quad Y=f(x) \end{cases} $$
平方损失函数
$$ L(Y,f(x))= (Y-f(X))^2 $$
绝对损失函数
$$ L(Y,f(x))= |Y-f(X)| $$
对数损失函数或对数似然损失函数
$$ L(Y,P(Y|X))= -logP(Y|X) $$
风险函数
风险函数度量平均意义下的模型预测的好坏。由于模型的输入、输出$ (X,Y) $是随机变量,
服从联合分布$ P(X,Y) $,所以损失函数的期望是:
$$ R_{exp}(f) = E_p[L(Y, f(X))]=\int\limits_{x \times y} L(y,f(x))P(x,y) dxdy $$
这是理论上模型$ f(x) $
关于联合分布$ P(X,Y) $
的平均意义下的损失,称为风险函数
或期望损失。
经验风险
对给定的训练集 $ T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} $
,模型$ f(x) $
关于训练集的平均损失称为经验风险或经验损失,记作$ R_{emp} $
:$$ R_{emp}(f)=\frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i)) $$
期望风险$ R_{exp}(f) $
是模型关于联合分布的期望损失,经验风险$ R_{emp}(f) $
是模型关于训练样本的平均损失。当$ N $
趋于无穷时,经验风险趋于期望风险。
策略1:经验风险最小化
经验风险最小化的策略认为:经验风险最小的模型是最优的模型,则求最优模型就是求解最优化问题:$$ \min\limits_{f \in F} \frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i)) $$
策略2:结构风险最小化
结构风险最小化是为了防止过拟合而提出的策略,结构风险最小化等价于正则化。在经验风险上加上表示模型复杂度的正则化项或罚项。结构风险最小化的策略认为结构风险最小的模型是最优的模型,求最优模型即求解最优化问题:
$$ \min\limits_{f \in F} \frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i))+\lambda J(f) $$
2.3 算法
算法是指学习模型的具体计算方法,统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。
三、模型的评估与选择
3.1 误差
训练误差是模型$ Y={\hat{f}(X)} $
关于训练数据集的平均损失:$$ R_{emp}(\hat{f}) =\frac{1}{N}\sum\limits_{i=1}^NL(y_i,\hat{f}(x_i)) $$
测试误差是关于测试数据集的平均误差。$$ e_{test}(\hat{f}) =\frac{1}{N’}\sum\limits_{i=1}^{N’}L(y_i,\hat{f}(x_i)) $$
当损失函数是0-1损失时,则变为了测试数据集的误差率。
3.2 正则化
模型选择的典型方法是正则化,正则化是结构风险最小化策略的实现,是在经验风险上加上一个正则化项或罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。正则化项科研是模型参数向量的范数。一般具有如下形式:
$$ \min\limits_{f \in F} \underbrace{\frac{1}{N}\sum\limits_{i=1}^NL(y_i,f(x_i))}_\text{经验风险}+\underbrace{\overbrace{\lambda}^\text{>0,调节参数} J(f)}_\text{正则化项} $$
正则化项对应于模型的先验概率,正则化的作用是选择经验风险与模型复杂度同时较小的模型,符合奥卡姆剃刀原理:在所有可能选择的模型中,能够很好解释已知数据并且充分简单才是最好的模型,也就是应该选择的模型。
3.3 交叉验证
如果给定的样本数据充足,进行模型选择的一种简单的方式是随机的将数据集切分为三部分,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型选择,测试集用于最终对学习方法的评估。在学习的的不同复杂度的模型中,选择对验证集有最小预测误差的模型。
在许多实际中,数据是不充分的,可以选择交叉验证的方法,其基本想法是重复的使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复的进行训练、测试和模型选择。
简单交叉验证
简单交叉验证方法是:先随机的将已给数据分为两部分,一部分作为训练集,另一部分作为测试集;然后用训练集在各种条件下训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
S 折交叉验证
应用最多,方法为:首先随机的将已给数据切分为 S 个互不相交的大小相同的子集;然后利用 S-1 个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的 S 种选择重复进行;最后选出 S 次评测中平均测试误差最小的模型。
留一折交叉验证
S 折交叉验证的特殊情形是 S=N,称为留一折交叉验证,往往在数据极度匮乏下使用。
3.4 泛化能力
泛化误差
学习方法的泛化能力是指由该学习方法得到的模型对未知数据的预测能力,是学习方法本质上重要的性质。泛化误差的定义为学到的模型对未知数据预测的误差,即所学习到的模型的期望风险:
$$ R_{exp}(\hat{f}) = E_p[L(Y, \hat{f}(X))]=\int\limits_{x \times y} L(y,\hat{f}(x))P(x,y) dxdy $$
泛化误差上界
定理:对二分类问题,当假设空间是有限个函数的集合$ F=\{f_1,f_2,\dots ,f_d \} $
时,对任意一个函数$ f \in F $
,至少以概率$ 1-\delta $
,以下等式成立:
$$ R(f) \le \hat{R}(f)+\varepsilon (d,N,\delta) $$
其中:$$ \varepsilon (d,N,\delta) = \sqrt{\frac{1}{N}(log d + log{\frac{1}{\delta}})} $$
3.5 模型分类
监督学习方法可以分为生成方法和判别方法,对应的模型为生成模型和判别模型。
生成方法由数据学习联合概率分布,然后求出联合概率分布作为预测的模型,即生成模型(表示给定输入产生输出的关系):$$ P(Y|X)=\frac{P(X,Y)}{P(X)} $$
判别方法由数据直接学习决策函数或者条件概率分布作为预测的模型,即判别模型。判别方法关心的是对给定的输入,应该预测什么样的输出。
四、统计学习方法的应用
4.1 分类问题
在监督学习中,当输出变量取有限个离散值时,预测问题便成为分类问题。分类问题包含学习和输出两个过程。
二类分类问题常用的评价指标是精确率和召回率。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数记为:
- TP —— 将正类预测为正类数
- FN —— 将正类预测为负类数
- FP —— 将负类预测为正类数
- TN —— 将负类预测为负类数
则,精确率的定义为:$ P = \frac{TP}{TP+FP} $
召回率的定义为 $ R = \frac{TP}{TP+FN} $
,以及还有F值,二者的调和均值。
常用方法:k 近邻法,感知机,朴素贝叶斯法,决策树法,逻辑斯谛回归模型,支持向量机,提升方法,贝叶斯网络,神经网络等。
4.2 标注问题
标注问题的输入是一个观测序列,输出是一个标记序列或者状态序列。评价指标与分类问题一样,常用的方法有隐马尔科夫模型,条件随机场。
4.3 回归问题
回归用于预测输入变量和输出变量之间的关系,等价于函数拟合。
五、习题解答
参考
- 李航,统计学习方法,清华大学出版社