1 - 统计学习方法概论

1 统计学习

statistical learning: 基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称统计机器学习(statistical machine learning)。现在,当人们提及机器学习时,往往是指统计机器学习

一些要点:

  • 统计学习包括:监督学习(surpervised learning)非监督学习(unsuprvised learning)半监督学习(semi-supervised learning)强化学习(reinforcement learning)。本书主要讨论监督学习。

  • 统计学习三要素:模型(model)、策略(strategy)、算法(algorithm)

  • 监督学习主要用于:分类、标注、回归等问题。这也是本书的主要讨论内容。这些问题在自然语言处理、信息检索、文本数据挖掘等领域有广泛应用。

2 监督学习

学习一个模型,使之能够对任意给定的输入,对其相应的输出做一个很好的预测。

2.1 输入空间、输出空间、特征空间

  • 输入与输出的所有可能取值的集合分别称为输入空间输出空间
  • 每个输入是一个instance,通常由特征向量(feature vector)表示。
  • 所有特征向量存在的空间称为特征空间(feature space)
  • 除特别声明外,本书所有向量均为列向量。
  • 根据变量类型的不同对问题进行分类:
    • 输入变量与输出变量均连续:回归问题
    • 输出变量离散:分类问题
    • 输入变量与输出变量均离散:标注问题

2.2 联合概率分布

监督学习基本假设:输入与输出的随机变量X和Y服从联合概率分布P(X,Y)。

  • 也就是说统计学习假设数据存在一定的统计规律(否则对数据的分析就没有意义)
  • P(X,Y)表示 分布函数,或分布密度函数。
  • 虽然存在联合概率分布,但其具体定义是未知的,训练数据测试数据被看做是依联合概率分布P(X,Y)独立同分布产生的。

2.3 假设空间

统计学的的模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space), 也就是模型的学习范围。

监督学习可以是概率模型或者非概率模型。概率模型条件概率分布*P(Y|X)表示,非概率模型决策函数*(decision function) Y = f(X) 表示。

3 统计学习三要素

方法 = 模型 + 策略 + 算法

3.1 模型

模型就是要学习的条件概率或者决策函数。假设空间包含所有可能的概率分布或决策函数。

3.2 策略

按什么样的准则学习和选择模型? 本质上是要在假设空间中选择最优模型。

3.2.1 损失函数和风险函数

常用损失函数(loss function)、代价函数(cost function)来度量预测错误的程度。常用损失函数:

  • 0-1损失函数
    L(Y,f(X))={1,Yf(X)0,Y=f(X)
  • 平方损失函数
    L(Y,f(X))=(Yf(X))2
  • 绝对损失函数
    L(Y,f(X))=|yf(X)|
  • 对数损失函数
    L(Y,P(Y|X))=logP(Y|X)

损失函数越小,那么模型就越好。由于(X,Y)服从联合概率分布P(X,Y),所以损失函数的期望是:

Rexp(f)=Ep[L(Y,f(X))]=L(y,f(x))P(x,y)dxdy

这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(risk function)或者期望损失(expected loss)。

学习的目的就是要选择期望风险最小的模型。由于联合分布P(X,Y)未知,所以Rexp 无法计算。事实上,如果知道了联合概率分布,那么就可以直接得到条件概率分布P(X,Y),就不需要学习了。这样,二者就形成了矛盾,一方面计算期望风险需要用到联合概率分布,另一方面联合概率分布又未知,所以监督学习成为一个病态问题(ill-formed problem)。

我们通常用经验风险(empirical risk)或经验损失(empirical loss)来替代期望损失。

Remp=1Ni=1NL(yi,f(xi))

经验风险是模型关于训练样本集的平均损失,期望风险是模型关于期望分布的期望损失

根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。然而,现实情况下,当训练样本有限时,就需要对经验风险进行校正,这就涉及到监督学习的两个基本策略:经验风险最小化结构风险最小化

3.2.2 经验风险最小化与结构风险最小化

经验风险最小化(empirical risk minimization, ERM)认为:经验风险最小的模型是最优模型。当样本容量足够大的时候,经验风险最小化能保证有很好的学习效果。如极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。

但是,当样本容量很小时,经验风险最小化学习的效果未必花很好,反而会产生过拟合现象。

结构风险最小化(structural risk minimization, SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。结构风险小的模型往往对训练数据和测试数据都有较好的预测。

贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation)就是结构风险最小化的例子。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型先验概率表示时,结构风险最小化就等价于最大后验概率估计。

结构风险最小化策略认为结构风险最小的模型就是最优的模型。

这样,监督学习问题就变成了经验风险或结构风险函数的优化问题。

4 模型评估与模型选择

4.1 训练误差与测试误差

训练误差(training error)对可以判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。
测试误差(test error)反映了学习方法对未知的测试数据集的预测能力。
通常将学习方法对未知数据的预测能力称为泛化能力

4.2 过拟合与模型选择

过拟合是指学习时选择的模型所含的参数过多,以至于出现这一模型对已知数据预测的很好,但对位置数据预测的很差的现象。

两种常见的模型选择方法:正则化交叉验证

5 正则化与交叉验证

5.1 正则化

正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(或罚项)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。

正则化项一般具有以下形式:

min1Ni=1NL(yi,f(xi))+λJ(f)

其中,第一项为经验风险,第二项为正则化项,λ0

正则化项可以取不同的形式。如在回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2 范数:

L(w)=1Ni=1N(f(xi;w)yi)2+λ2w2

这里,w 表示参数向量w的L2 范数。

正则化项也可以是参数向量的L1 范数:

L(w)=1Ni=1N(f(xi;w)yi)2+λw1

这里,w1 表示参数向量w的L1 范数。

5.2 交叉验证

如果样本充足,进行模型选择的一种简单方法是随机的将数据集分成三部分,分别为训练集(training set)、验证集(validation set)、测试集(test set)。训练集用于训练模型,验证集用于模型选择,测试集用于最终对学习方法的评估。

但是,实际情况下经常会出现数据不充足的情况。为了选择好的模型,可以采用交叉验证方法。交叉验证的基本想法是重复使用数据;把给定的数据进行切分,将切分的数据集组合为训练集和测试集,在此基础上反复地进行训练、测试以及模型选择。

5.2.1 简单交叉验证

随机将数据集分成训练集和测试集两部分;
然后用训练集在各种条件下训练模型,从而得到不同的模型;
在测试集上评价各个模型的测试误差,选出测试误差最小的模型。

5.2.2 S折交叉与验证(应用最为广泛)

首先随机将数据分为S个互不相交的大小相同的子集;
然后利用S-1个子集的数据训练模型,利用剩余的子集测试模型;
将这一过程对可能的S种选择重复进行;
最后选出S次评测中平均测试误差最小的模型。

5.2.3 留一交叉验证

S折交叉验证的特殊情形,S=N,往往在缺乏数据的情况下使用。

6 泛化能力

学习方法的泛化能力(generalization ability)是指由该学习方法学习到的模型对未知数据的预测能力,是学习方法本质上最重要的性质。

现实中采用最多的方法是通过测试误差来评价学习方法的泛化能力。

7 生成模型与判别模型

监督学习可分为生成方法(generative approach)和判别方法(discriminative approach),学习到的模型称为生成模型和判别模型。

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

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

这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系

典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。

判别方法由数据直接学习决策函数作为预测模型,判别方法关心的是对给定的输入X,应该预测什么样的输出

典型的判别模型有:k紧邻法、感知机、决策树、逻辑斯蒂回归模型、最大熵模型、支持向量机、提升方法、条件随机场。

优缺点:

  • 生成方法:

    • **可以还原出联合概率分布**P(X,Y),而判别方法则不能;
    • 学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛;
    • 当存在隐变量的时候,仍可以用生成方法学习,而判别方法就不能用。
  • 判别方法:

    • 直接学习的是条件概率或决策函数,准确率更高
    • 由于直接学习条件概率或决策函数,可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题

8 分类问题

评价方法:准确率,召回率,F1
常用统计学习方法:

  • k临近法
  • 感知机
  • 朴素贝叶斯
  • 决策树
  • 决策列表
  • 逻辑斯蒂回归模型
  • 支持向量机
  • 提升方法
  • 贝叶斯网络
  • 神经网络
  • Winnow

9 标注问题(tagging)

分类问题的推广,是更复杂的结构预测问题的简单形式。输入是一个观测序列,输出是一个标记序列或状态序列,目的在于学习一个模型,使它能够对观测序列给出标记序列作为预测。

评价方法:与分类问题类似
常用统计学习方法:

  • 隐马尔可夫模型
  • 条件随机场

标注问题在信息抽取、自然语言处理等领域被广泛应用,是这些领域的基本问题。

10 回归模型

用于预测输入变量与输出变量之间的关系。
回归问题最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法求解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章