统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。
统计学习的主要特点:
1.统计学习以计算机及网络为平台,是建立大计算机及网络之上的
2.统计学习以数据为研究对象,是数据驱动的学科
3.统计学习的目的是对数据进行预测与分析
4.统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测与分析
5.统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科、并且在发展中逐步形成独自的理论体系与方法论。
统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。 统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由监督学习(supervised learning)、非监督学习(unsupervised learning)、半监督学习(semi-supervised learning)和强化学习(reinforcement learning)等组成。 统计学习方法的步骤如下: 1.得到一个有限的训练数据集合 2.确定包含所有可能的模型的假设空间,即学习模型的集合 3.确定模型选择的准则,即学习的策略 4.实现求解最优模型的算法,即学习的算法 5.通过学习方法选择最优模型 6.利用学习的最优模型对新数据进行预测或分析
模型就是使用什么方法对数据进行预测与分析,就是所要学习的条件概率分布或决策函数,比如是线性回归,还是用多项式回归 策略就是你你通过什么方法判断哪个模型是最优的, 算法就是求解策略的最优解的算法,如梯度下降,最小二乘法
根据输入、输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。 在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。 假设空间用$ \mathcal{F} $表示。假设空间可以定义为决策函数的集合 $ \mathcal{F}= { {\mathcal{f}|Y = f(X)}} $ 其中,X和Y是定义在输入空间$ \chi $和输出空间$ \mathcal{Y} $上的变量。这时$ \mathcal{F} $通常是由一个参数向量决定的函数族:
$ \mathcal{F} = { {f|Y=f_{\theta}}(X),\theta\in R^{n}} $ 参数向量$ \theta $取值于n维欧式空间$ R^{n} $,称为参数空间。 假设空间也可以定义为条件概率的集合$ \mathcal{F}={ {P|P(Y|X)}} $ 策略: 统计学习的目标在于从假设空间中选取最优模型。
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。 统计学习常用损失函数:
(1) 0-1损失函数
$ L(Y,f(X))= \begin{cases} 0,& {Y\neq f(X)}\ 1,& {Y\neq f(X)} \end{cases} $
(2) 平方损失函数
$ L(Y, f(X)) = (Y - f(X))^2 $ (3) 绝对损失函数
$ L(Y, f(X)) = |(Y - f(X))| $ (4) 对数损失函数
$ L(Y, P(Y|X)) = -log P(Y|X) $
如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知的数据预测得很差的现象。 模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或罚项。正则化项一般是模型复杂度的单调函数,模型越复杂,正则化的值就越大。正则化项一般具有如下形式: $ min{f\in\mathcal{F}} \frac{1}{N}\sum{i=1}^NL(y{(i)}, f(x{i})) + \lambda J(f) $ 其中,第一项是经验风险,第二项是正则化项,$ \lambda \geq 0 $为调整两者之间关系的系数。
交叉验证
1.简单交叉验证 简单交叉验证方法是:首先随机地将已给数据分为两部分,一部分作为训练,另一部分作为测试集。 2.S折交叉验证 首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。 3.留一交叉验证 S折交叉验证的特殊情形是S=N,称为留一交叉验证,往往在数据缺乏的情况下使用,N是给定的数据集容量。
性能指标
TP-将正类预测为正类数 FN-将正类预测为负类数 FP-将负类数预测为正类数 TN-将负数预测为负类数 准确率 $ A = \frac{TP+TN}{TP+FN+FP+TN} $ 精确率 $ P = \frac{TP}{TP+FP} $ 召回率 $ R = \frac{TP}{TP+FN} $ $ F{1} $值 $ \frac{2}{F{1}}= \frac{1}{P}+\frac{1}{R} $ $ F_{1} = \frac{2TP}{2TP+FP+FN} $
泛化能力
泛化能力是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。
如果学到的模型是$ \hat f $,那么利用这个模型 对未知数据预测的误差就是泛化误差
$ R{exp}(\hat f) = E[L(Y, \hat f(X))] = \int{\chi \times \mathcal{Y}}L(y,\hat f(x))P(x,y)dxdy $ 泛化误差上界:对二类分类问题,当假设空间是有限个函数集合$ \mathcal{F}={f{1},f{2},\cdot \cdot \cdot, f_{d}} $时,对于任意一个函数$ f \in \mathcal{F} $,至少以概率$ 1-\delta $,以下不等式成立
$ R(f) \leq \hat R(f) + \varepsilon(d, N, \delta) $,其中$ \varepsilon(d, N, \delta) = \sqrt{\frac{1}{2N}\bigg(\log d + \log \frac{1}{\delta}\bigg)} $
左端R(f)就泛化误差,右端即为泛化误差上界。第二项$ \varepsilon(d, N, \delta) $是N的单调递减函数,当N趋于无穷时趋于0 监督学习方法又可以分为生成方法和判别方法。
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型
判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型
典型的生成模型包括:朴素贝叶斯法和隐马尔可夫模型。典型的判别模型包括:K近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。