统计学习方法概论

统计学习(statistical learning)通过基于数据构建的概率统计模型并将其用于对数据进行预测。通俗点讲:统计学习从数据数据出发,通过假设同类数据具有一定的统计规律性,抽象出数据的模型,然后对数据进行分析和预测。统计学习通常分为监督学习,无监督学习,半监督学习和强化学习等,其中,监督学习方法广泛用于自然语言处理,数据挖掘,信息检索等领域。

监督学习的过程可以概括如下:
1)从给定的有限的训练数据出发,假设数据是独立同分布产生的
2)假设要学习的模型属于某个函数的集合,并应用某个评价准则从假设空间中选取一个最优的模型,使它对数据具有最优的预测
下面我们定义一组简单的数据,针对监督学习的一些概念进行说明。

收入 性别 身份 婚姻 年龄 教育 信用等级
15 Male No Yes 34 11 B
106 Female Yes Yes 82 15 A
105 Male No No 71 11 B
149 Female No No 36 11 B
56 Male No Yes 68 16 C
80 Male No No 77 10 C
假设这是一组用户信息,我们需要建立一个模型来对某个用户的信用等级进行预测,那么在整个过程中:

一、输入空间,特征空间,输出空间

在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。即在上表中, [ 收入,性别,身份,...,教育 ]所表示的的所有数据称为输入空间,而信用等级表示的数据称为输出空间。通常输出空间远远小于输入空间。比如我们做某个决定之前要考虑很多的东西,那么我们所衡量的事情就是输入空间,经过了一系列的心里斗争之后,最后所作的决定即为输出空间。

通常输入是通过向量来表示的,当有\(m\)个输入向量时,输入空间可以表示为:
\(x = (x_{1}, x_{2},...,x_{i},..., x_{m})^{T}\), 第\(i\)个样本输入为:\(x_{i} = (x_{i}^{1}, x_{i}^{2},...,x_{i}^{n})\)
其中\(n\)表示输入向量的特征空间,每一维对应一个特征。对应于上表,\(m = 6, n = 6, x_{1} = (15, 'Male', 'No', 'Yes', 34, 11)\),[收入,性别,...,教育]就是特征空间。
同理,输出空间可以表示为\(y = (y_{1}, y_{2},...,y_{i},..., y_{m})^{T}\)
监督学习的训练数据一般是由输入/输出数据对组成,表示为:
\(T = {{(x_{1},y_{1}), (x_{2},y_{2}),...,(x_{m}, y_{m})}}\),其中输入/输出数据对又称为样本。根据输入输出数据的类型,将预测任务分为:回归问题(均为连续),分类问题(均为离散),标注问题(均为变量序列)。

二、联合概率分布与假设空间

监督学习的一种基本假设是输入与输出的随机变量 \(X\)\(Y\) 遵循联合概率分布 \(P(X,Y)\),即:训练数据与测试数据被看作是依照概率分布 \(P(X,Y)\) 产生的。监督学习的目的在于学习一个由输入到输出的最好的模型,模型属于由输入空间到输出空间的映射集合,这个集合就是假设空间。表示为:\(F = {f|Y=f(X)}\),其中\(X,Y\)分别表示输入输出空间。对应于上表,我们有很多种方式可以学习到从输入到最后信用等级的映射关系,这些映射关系的集合就是假设空间,而监督学习的目的是找到准确率最高的那一个模型。通过引入损失函数概念来度量一个模型的好坏,损失函数分为:

\(L_{2}(Y,f(X)) = (Y-f(X))^{2}, L_{1}(Y,f(X)) = |Y-f(X)|, L(Y,P(Y|X)) = -logP(Y|X)\)

三、经验风险最小化与结构风险最小化

在假设空间,损失函数以及训练数据集确定的情况下,经验风险函数可以确定为:

\(R_{emp}=\dfrac{1}{N} \sum_{i=1:m}L(y_{i}, f(x_{i}))\),那么,根据这一策略,经验风险最小化的模型即为最优解:

\(min \dfrac{1}{N} \sum_{i=1:m}L(y_{i}, f(x_{i}))\)

当样本足够大时,经验风险最小化能保证很好地学习效果,但是当样本容量很小时,经验风险最小化的学习策略会产生过拟合的现象,因此结构风险最小化的策略被广泛采用。结构风险在经验风险的基础上加上正则化项,定义为:

\(R_{srm}=\dfrac{1}{N} \sum_{i=1:m}L(y_{i}, f(x_{i})) + \lambda J(f)\)

下一节通过线性回归的实例来从公式和几何角度上对正则化项存在的意义进行了更详细的介绍。

四、交叉验证

训练集:用于训练的样本对
验证集:在训练过程中对模型的结果进行评估的样本,方便对模型进行筛选
测试集:将筛选后的模型用于最终的评价指标

在训练集,验证集,测试集选取时采取的最广泛策略时K折交叉验证,随机地将所有地数据划分为K个互不相交大小相同的子集,然后利用K-1个自己的数据进行训练,利用余下的自己测试模型,然后将这一过程对可能的K种选择进行重复。

五、生成模型与判别模型

生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生成模型:

\(P(Y|X) = P(X,Y)/P(X)\)

判别方法由数据直接学习决策函数\(f(X)\)或者条件概率分布\(P(Y|X)\)作为预测的模型,相比生成模型少了学习联合分布\(P(X,Y)\),即判别模型更关注对给定的输入应该预测什么样的输出。

再从一个简单的例子从直观上来理解一下:
假如你的任务是识别一个语音属于哪种语言。例如对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的:
1)学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说,你就可以知道他说的是什么语音.
2)不去学习每一种语言,你只学习这些语言之间的差别,然后再判断(分类)。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。

那么第一种方法就是生成方法,第二种方法是判别方法。

典型的生成模型有:朴素贝叶斯和马尔可夫模型。典型的判别模型有:k近邻法,感知机,决策树,逻辑回归等。相比较于生成模型,判别模型反应的时不同数据之间的差异,通过利用训练数据的label信息,对数据进行各种程度上的抽象简化学习问题,直接学习决策函数,往往学习的准确率更高。但是不能反应数据本身的特性。

posted @ 2021-06-21 20:41  ZhiboZhao  阅读(220)  评论(2编辑  收藏  举报