李航统计学习方法第一章——统计学习方法概述

学习

对于给定的任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指:通过经验E改进后,它在任务T上由性能度量P衡量的性能有所提升。

统计学习

统计学习的特点

统计学习是计算机基于数据构建概率统计模型并运行模型对数据进行预测和分析的一门学科,也称为统计机器学习。其有以下几个特点:

  1. 基于计算机平台,是建立在计算机以及网络之上的;
  2. 数据驱动,统计机器学习的研究对象是数据;
  3. 以方法为核心,其工作是研究构建模型并应用模型对数据进行分析和预测的方法;
  4. 统计学、概率论、信息论、最优化理论、计算理论以及计算机科学等多个领域的交叉学科。

统计学习从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到数据中进行预测和分析中去。而且数据是多样的,诸如图像、文本、音频等。
注:统计学习的前提是假设同类数据具备一定的统计特性,这样才可以使用概率统计方法对数据加以处理。

统计学习的目的

统计学习主要用于数据的预测和分析。对未知数据的预测使得计算机被赋予智能化,对数据进行分析则会给人们带来新的发现。
以上是要基于数据建立概率模型来实现的,统计学习的目标就是要考虑建立什么样的概率统计模型和如何学习模型使得模型能够对数据进行精准的预测和分析。

统计学习的方法

统计学习主要分为监督学习、半监督学习、分监督学习以及强化学习等。统计学习有三大要素:模型、策略、算法
给定的有限训练数据集中(假设训练数据遵从独立同分布),假设要学习的模型属于某一函数集合,成为假设空间;应用某个评价标准,从假设空间中选取一个最优模型,该模型可以在评价标准下对数据做出最精确的预测和分析;模型选择的过程则要靠算法来实现。
其中监督学习的步骤如下:

  1. 得到一个有限的训练数据集合;
  2. 确定包含所有可能模型的假设空间,即模型的集合;
  3. 确定模型的评价准则,即学习的策略;
  4. 实现求解最优模型的算法,即学习的算法;
  5. 通过学习算法得到最优模型;
  6. 利用最优模型对数据进行预测和分析。

注:统计学习的主要用途有,分类、回归、标注

监督学习

监督学习是要学习一个模型,能够对任意给定的输入,给出一个好的预测输出。

基本概念

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

在监督学习中,将输入与输出所有可能的取值集合分别称为输入空间和输出空间。通过对原始输入进行特征提取,每个具体的输入实例由一个特征向量表示。所有输入实例的特征向量集合称为特征空间。

联合概率分布

监督学习假设输入和输出的随机变量XY遵循联合概率分布P(X, Y),*P(X, Y)*称为分布密度函数。学习之前我们假设这一分布密度函数存在,但是它是未知的,需要我们通过数据去学习。

假设空间

监督学习的目的在于寻找一个输入到输出的映射,这一映射由模型来表示。学习的目的就是在评价准则下寻找输入空间到输出空间的最佳映射,映射的集合就是假设空间。假设空间的确定意味着学习范围的确定。
监督学习的模型可以分为概率模型(条件概率分布,P(X|Y))和非概率模型(决策函数,Y=F(X)),根据具体学习方法而定。

统计学习三要素

统计学习方法=模型+策略+算法

模型

统计学习的目的就是要学习一个能够对数据进行准确预测和分析的模型,所以我们是要根据具体问题确定模型的范围,即假设空间,也就是输入空间到输出空间的映射集合。通常假设空间是一个由参数向量决定的函数簇:

F={P| PθP_θ(Y|X), θ∈RnR^n}或者F={f | fθ(X)f_θ(X), θ∈RnR^n}

策略

有了假设空间之后,我们要确定一种评价标准在假设空间中寻找一个最优的模型。

损失函数和风险函数

损失函数

损失函数用来度量模型一次预测的好坏;风险函数用来度量平均意义下模型预测的好坏。常用的损失函数主要有以下几种:

  1. 0-1损失函数
    L(Y,f(x))={1,Yf(x)0,Y=f(x) L(Y,f(x))=\left\{ \begin{aligned} 1, &&Y≠f(x) \\ 0, &&Y=f(x) \\ \end{aligned} \right.
  2. 平均损失函数
    L(Y,f(X))=(Yf(X))2 L(Y,f(X))=(Y-f(X))^2
  3. 绝对值损失函数
    L(Y,f(X))=Yf(X) L(Y,f(X))=| Y-f(X) |
  4. 对数似然损失函数
    L(Y,f(X))=logP(YX) L(Y,f(X))=-logP(Y|X)

风险函数

经验风险(ER):

Remp(f)Remp(f)=1N\frac{1}{N} i=1NL(yi,f(xi))\sum_{i=1}^{N}L(y_i, f(x_i))

我们要想模型能够更好的预测数据,就要做到损失函数最小化和风险函数最小化。

经验风险最小化和结构风险最小化

如上所示,我们可以确定经验函数最小化的模型是最优模型。当样本总量(N)趋向于无穷大时,经验风险最小化可以取得比较好的效果;但是当样本总量(N)较小时,经验风险最小化不能保证较好的结果,会产生过拟合现象。结构风险最小化便是为了防止过拟合提出的策略,等价于正则化。结构风险在经验风险上加上表示模型复杂度的正则化项和惩罚项,用来减小模型的复杂度。如下所示:

Rsrm(f)Rsrm(f)=1N\frac{1}{N} i=1NL(yi,f(xi))+λJ(f)\sum_{i=1}^{N}L(y_i, f(x_i))+λJ(f)
其中J(f)为模型的复杂度,是定义在假设空间上的泛函。模型f越复杂,复杂度J(f)就越大,反之同理。λ≥0是系数,用来权衡经验风险和模型复杂度,最终得到对未知数据有更好预测能力的模型。

风险最小策略的形式化:

minmin 1N\frac{1}{N} i=1NL(yi,f(xi))+λJ(f)\sum_{i=1}^{N}L(y_i, f(x_i))+λJ(f)
这样一来问题就抽象到了经验风险和结构风险最小化的最优化问题,下面就是寻找算法求解以上函数的最优值。

算法

算法是一种求解问题的方法。经过模型范围的和评价准则的确定之后,我们就把统计问题转化为了最优值求解问题,算法的目的就是要寻找全局最优解,得到参数,确定最终我们需要的模型。

过拟合与模型选择

当假设空间中含有复杂度不同的模型时,我们就面临模型选择的问题。我们希望选择一个在训练数据集上做到经验风险较小而且具备一定泛化能力的模型。下面举一个多项式拟合的例子,如图所示:
李航统计学习方法第一章——统计学习方法概述
可以看到对于给定的一个训练数据集(图中的离散点集),我们需要先确定一个函数集合,然后选择评价标准,最后通过算法求解最优的函数模型。上图中为假设空间中的几个模型,分别具有不同的复杂度,我们看到第一个复杂度最低,是一个常数,不能很好的拟合数据集;第二个是一条有斜率和偏置的直线,效果要比第一个模型好;第三个模型基本已经拟合了数据集,但是稍有偏差;最后一个模型完美的拟合了训练集,它穿过了每一个数据点。但是我们的数据不是无限大,也不能做到绝对纯净,是有噪声的,如果做到完美拟合训练数据集,那么模型预测其他数据可能会有较大偏差,这就是我们所说的过拟合
遇到这种情况,我们可以使用两种较为常用的方法进行模型选择:正则化和交叉验证。

正则化

正则化的工作原理是最小化结构风险,降低模型的复杂度。实现方式是在经验风险上增加正则项和惩罚项。在降低经验风险和增加模型复杂度上做一个权衡,避免拟合训练数据的过程中模型学习的过于复杂。

交叉验证

交叉验证也是模型选择的一种方法,主要有以下几种:简单交叉验证、K折交叉验证、留一交叉验证。

简单交叉验证

简单交叉验证就是随机将训练集分为两部分:训练集和验证集。一般训练集和验证集的样本总量之比为7:3。选取不同的参数在训练集上训练,得到不同的模型。最后使用选择的评价标准在测试集上评估各个模型的好坏,选出最好的模型。

K折交叉验证

该方法是使用较多的一种。我们随机将训练集分成互不相交的K份,每次留下一份用作测试集,其余K-1份用作训练集。循环迭代K次,直到每一份都被用作测试集,最后选出K次测试中平均误差最小的模型。

留一交叉验证

留一交叉验证是K折交叉验证的特殊情况,即K=N,其中N为样本总量。这种情况往往在数据集较小的情况下使用。

泛化能力

泛化能力是模型对未知数据进行预测和分析的能力,是学习方法本质上重要的性质。但是现实中我们通常用测试误差来估计模型的泛化能力,测试集隶属于训练集,对已有的数据具有依赖性,而且已有数据是有限的,所以不太可靠。统计学习试图从理论上对学习到的模型的泛化能力做评估。

泛化误差上界

泛化误差上界是样本容量的函数,当样本趋于无穷大时,泛化误差上界趋于0;泛化误差上界是假设空间容量的函数,假设空间容量越大,模型便越难学习,泛化误差上界就越大,类似于人的选择纠结症
定义:
R(f)R(f)R^(f)\hat{R}(f)+ ε(d,N,δ)ε(d, N, δ)

其中,R^(f)\hat{R}(f)是经验风险;
ε(d,N,δ)ε(d, N, δ)12N\frac{1}{2N}(logd+log1δ)(logd+log \frac{1}{δ})的算术平方根。

生成方法和判别方法

监督学习可分为生成方法和判别方法,这两种方法所学到的模型分别为生成模型和判别模型。

生成方法

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

P(Y|X)=P(X,Y)P(X)\frac{P(X,Y)}{P(X)}
典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。
生成方法可以还原出数据的联合概率分布P(X, Y),而且学习收敛速度更快,即当样本量增加时,学到的模型更快地收敛于真实模型。存在隐变量的时候仍适用。

判别方法

判别方法是由数据直接学习决策函数f(X)f(X)或者条件概率分布P(YX)P(Y|X)作为预测模型,判别方法关注的是给定输入应该输出什么。典型的判别模型有:K近邻法,感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
判别方法直接学习决策函数f(X)f(X)或者条件概率分布P(YX)P(Y|X),直接面对预测,往往学习的准确率更高;还可以对数据进行抽象、定义特征并且使用特征,来简化学习问题。

分类问题

评价分类器性能的指标一般是分类准确率,其定义是分类器正确分类的样本数与总样本数之比。
特殊地,对于二分类问题,常用地指标时准确率(precision),召回率(recall)。
二分类会出现四种情况:
TP——将正类预测为正类的样本数;
FP——将负类预测为正类的样本数;
TN——将负类预测为负类的样本数;
FN——将正类预测为负类的样本数;
准确率定义为:
precision=precision= TPTP+FP\frac{TP}{TP+FP}
召回率定义为:
recall=recall= TPTP+FN\frac{TP}{TP+FN}
除此之外,还有F-1值,是准确率和召回率地调和平均值,即
2F1\frac{2}{F-1} = 1precision\frac{1}{precision}+1recall\frac{1}{recall}