机器学习笔记 ·《统计学习方法》第一章

2022.03.05

统计学习的分类

  • 监督学习的本质是学习输入到输出的映射的统计规律。
  • 无监督学习的本质是学习数据中的统计规律或潜在结构。
  • 强化学习本质是学习最优的序贯决策。

监督学习

输入输出变量用大写字母表示,习惯上输入变量写作\(X\),输出变量写作\(Y\)。

输入输出变量的取值用小写字母表示,输入变量的取值写作\(x\),输出变量的取值写作\(y\)

输入实例\(x\)的特征向量记作

\[ x = \left (x^{(1)}, x^{(2)}, ...,x^{(i)},...,x^{(n)}\right ) ^{T} \]

\(x_{i}\)表示多个输入变量中的第\(i\)个变量,即

\[x_{i} = \left( x_{i}^{(1)}, x_{i}^{(2)}, ...,x_{i}^{(i)},...,x_{i}^{(n)} \right)^{T}\]

训练数据由输入与输出对组成,训练集通常表示为

\[T = \left\{(x_{1},y_{1}),(x_{2},y_{2}),…,(x_{N},y_{N})\right\}\]

联合概率分布简称联合分布,是两个及以上随机变量组成的随机向量的概率分布。根据随机变量的不同,联合概率分布的表示形式也不同。对于离散型随机变量,联合概率分布可以以列表的形式表示,也可以以函数的形式表示;对于连续型随机变量,联合概率分布通过一非负函数的积分表示。

  • 输入变量与输出变量均为连续变量的预测问题称为回归问题
  • 输出变量为有限个离散变量的预测问题成为分类问题
  • 输入变量与输出变量均为变量序列的预测问题称为标注问题

统计学习方法三要素

方法 = 模型 + 策略 + 算法

模型

统计学习首先要考虑的问题是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数所构成的函数集合。假设空间中的模型一般有无穷多个。

假设空间用\(\mathcal{F}\)表示。假设空间可以定义为决策函数的集合:

\[\mathcal{F} = \left \{ f|Y = f(X)\right \}\]

策略

有了模型的假设空间,统计学习接着要考虑的是按照什么样的准则学习或选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。

损失函数

用损失函数(loss function)来度量预测错误的程度。损失函数值越小,模型就越好。

损失函数是\(f(X)\)和\(Y\)的非负实值函数,记作\(L(Y,f(X))\)

统计学习常用的损失函数有以下几种:

  1. 0-1损失函数(0-1 loss function)\(L(Y,f(X)) = \left\{\begin{matrix}1, y\ne f(X) \\0, y=f(X)\end{matrix}\right.\)
  2. 平方损失函数(quadratic loss function)\(L(Y, f(X)) = (Y-f(X))^{2}\)
  3. 绝对损失函数(absolute loss function)\(L(Y,f(X)) = |Y-f(X)|\)
  4. 对数损失函数(logarithmic loss function)\(L(Y,f(X)) = -logP(Y|X)\)

风险函数

\[R_{exp}(f) = E_{P}[L(Y, f(X))] = \int_{\chi \times y}^{} L(y,f(x))P(x,y)dxdy\]

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

学习的目标就是悬着期望风险最小的模型。由于联合分布\(P(X,Y)\)是未知的,\(R_{exp}(f)\)不能直接计算。实际上,如果知道联合分布\(P(X,Y)\),可以从联合分布直接求出条件概率分布\(P(Y|X)\), 也就不需要学习了。正因为不知道联合概率分布,才需要进行学习。

给定一个训练数据集,模型\(f(X)\)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss)记作\(R_{emp}\)

\[R_{emp} = \frac{1}{N} \sum_{i=1}^{N} L(y_{i},f({x_{i}}))\]

经验风险最小化

在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式就可以确定。经验风险最小化(empirial risk minimization, ERM)的策略认为,经验风险最小的模型是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题。

\[\min_{f\in\mathcal{F} } \frac{1}{N} L(y_{i}, f(x_{i}))\]

当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用。比如,极大似然估计(maxinum likelihood estimation)就是经验风险最小化的一个例子。当模型是条件概率分布、损失函数式对数函数损失时,经验风险最小化就等价于极大似然估计。当时当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生过拟合(over-fitting)现象。

结构风险最小化

结构风险最小化(structural risk minimization, SRM)是为了防止过拟合而提出来得策略。结构风险最小化等价于正则化(regularizer)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是:

\[R_{srm}(f) = \frac{1}{N} \sum_{N}^{i=1} L(y_{i}, f(x_{i})) + \lambda J(f)\]

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

算法

算法指学习模型的具体计算方法。统计学习问题归结为最优化问题,统计学习的算法称为求解最优化问题的算法。如何保证找到全局最优解,并使求解的过程非常高效,就成为一个重要问题。

模型评估与模型选择

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

正则化与交叉验证

范数(英语:Norm),是具有“长度”概念的函数。在线性代数泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度大小。另一方面,半范数(英语:seminorm)可以为非零的向量赋予零长度。

正则化是结构风险最小化的实现,作用是选择经验风险与模型复杂度同时较小的模型。

正则化符合奥卡姆剃刀(Occam's razor)原理。在所有可能选择的模型中,能够很好的解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。

交叉验证(cross validation)的基本想法是重复的使用数据;把给定的数据进行切分,将切分的数据集合作为训练集与测试集,在此基础上反复训练、测试及模型选择。

简单交叉验证

首先随机地讲已给的数据分为两部分,一部分作为训练集、一部分作为数据集;然后用训练集在各个条件下(如不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。

\(S\)折交叉验证(\(S\)-fold cross validation)

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

泛化能力

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

监督学习应用

分类问题

监督学习从数据中学习一个分类模型或分类决策分类函数,称为分类器(classifier),分类器对新的输入进行输出的预测称为分类(classification)。可能的输出称为类别(class)。

二分类评价指标

通常已关注的类为正类,其他类为负类

  • TP(True Positive) 正类预测为正类
  • FN(False Negative) 正类预测为负类
  • FP(False Positive) 负类预测为正类
  • TN(True Negative) 负类预测为负类数

精确率(precision)定义为 \(P = \frac{TP}{TP+FP} \)

召回率(recall)定义为 \(R = \frac{TP}{TP+FN} \)

\(F_{1}\)值为精确率和召回率的调和均值 \(\frac{2}{F_{1}} = \frac{1}{P} + \frac{1}{R} \)

标注问题(tagging)

可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。

标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。

标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。注意,可能的标记个数是有限的,但其组合缩成的标记序列的个数是依序列长度呈指数级增长的。

标注常用的统计学习方法有:隐马尔可夫模型、条件随机场。

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

回归问题

回归(regression)用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。

回归问题的学习等价于函数拟合:选择一条函数曲线使其很好的拟合已知数据切很好地预测未知数据。

回归学习最常用的损失函数是平方损失函数。在此情况下,回归问题可以由著名的最小二乘法求解(least squares)