机器学习现在主要的流派是 统计学习
统计学习的主要特点:

  1. 统计学习以计算机及网络为平台,建立在计算机及网络之上
  2. 统计学习以数据为研究对象,是数据驱动的学科
  3. 统计学习的目的是对数据进行预测和分析
  4. 统计学习以方法为中心,构建模型并应用模型进行预测和分析
  5. 统计学习是概率论,统计学,信息论,计算理论,最优化理论,计算机科学多个领域的交叉学科,并且在发展中逐步形成了独自的理论体系和方法论

统计学习由supervised learning(监督学习),unsupervised learning(非监督学习),semi-supervised learning(半监督学习),reinforcement learning(强化学习)等组成

输入$X$和输出$Y$有不同的类型,可以是连续,也可以是离散,通常根据输入、输出的不同类型,对预测任务给予不同的名称:

  1. 回归问题:输入输出均为连续的预测问题
  2. 分类问题:输出为有限个离散变量的预测问题
  3. 标注问题:输入输出均为变量序列的预测问题

一般输入实例$x$的特征向量记作

$x^{(i)}$表示$x$的第$i$个特征,$x_i$表示多个输入变量的第$i$个,即

训练集通常表示为

其中$(x_i,y_i)$称为样本或样本点,$x_i$是输入的观测值,也称为输入或实例,$y_i$是输出的观测值,也称为输出

监督学习的目的在于学习一个由输入到输出的映射,这一个映射关系称之为模型,监督学习的模型可以是概率或非概率模型,由条件概率分布$P(Y|X)$decision function(决策函数)$Y=f(x)$表示

学习过程中系统利用给定的训练数据集,通过学习(训练)得到一个模型,表示为条件概率分布$\hat P(Y|X)$decision function(决策函数)$Y=\hat f(x)$.

预测过程中,系统通过学习产生的模型如果有很好的预测能力,训练样本的输出$y_i$和模型输出$f(x_i)$之间的差就应该足够小.

模型就是所要学习的条件概率分布或者决策函数,模型的hypothesis space(假设空间)包含所有可能的条件概率分布或者决策函数,所以hypothesis space 中的模型一般由无穷多个

假设空间一般用$\mathcal { F }$表示,可以定义为决策函数的集合

也可以定义为条件概率的集合

决策函数表示的模型为非概率模型,条件概率表示的模型为概率模型

loss function(损失函数)和cost function(风险函数)

通常用一个loss function 或者 cost function 来度量预测错误的程度,通常是$f(X)​$和$Y​$的非负实值函数,记作$L(Y,f(x))​$.

常用的有以下几种

  1. 0-1 loss function

  2. quadratic(平方) loss function

  1. absolute(绝对) loss function
  1. logarithmic(对数) loss function 或者 log-likelihood(对数似然) loss function损失函数值越小,模型就越好,由于模型的输入输出是随机变量,遵循联合分布$P(X,Y)$,所以损失函数的期望是这是理论上模型$f(x)​$关于联合分布$P(X,Y)​$平均意义下的损失称为risk funciton(风险函数)或者expected loss(期望损失)

学习的目标就是选择期望风险最小的模型

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

所以,当样本$N​$趋于无穷时,$R{emp}(f)​$趋于$R{exp}(f)​$.但是由于现实中训练样本数目有限甚至很小,所以用$R{emp}(f)​$估计$R{exp}(f)​$常常并不理想要对empirical risk进行一定矫正,通常使用两个策略,empirical risk minimization(ERM,经验风险最小化)structural risk minimization(SRM,结构风险最小化)

empirical risk minimization and structural risk minimization

ERM

ERM的策略认为,经验风险最小的模型就是最优的模型,所以按照$R_{emp}​$最小化求最优就是求最优化问题:

当样本足够大时,ERM能保证有很好的学习效果,在实际中被广泛采用,maximum likelihood estimation(极大似然估计)就是ERM的一个例子:当模型是条件概率分布,loss function是logarithmic loss function时,ERM就等价于maximum likelihood estimation.但是样本很小时,效果就未必,会产生over-fitting(过拟合)

SRM

SRM就是为了防止over-fitting而提出来的策略,等价于regularization(正则化).结构风险是在经验风险上加上表示模型复杂度的regularizer(正则化项)或penalty term(惩罚项),结构风险的定义是

$J(f)$为模型复杂度,模型$f$越复杂,$J(f)$就越大,$\lambda \ge0$是系数.贝叶斯估计中maximum posterior probability estimation(MAP,最大后验概率估计)就是SRM一个例子:当模型是条件概率分布,loss function是logarithmic loss function,模型复杂度由模型的先验概率表示时,SRM就等价于MAP.所以SRM求最优模型就是求解:

统计学习问题归结为最优化问题,如果最优化问题有显式的解析解,这个最优化问题就比较简单,但通常解析解不存在,这就需要用数值计算的方法求解。

统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准。通常将学习方法对未知数据的预测能力称为泛化能力

过拟合

如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-fitting)

过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。可以说模型选择旨在避免过拟合并提高模型的预测能力。

范数

L0范数($||w||_0$),是指向量$w$中非0的元素的个数.

L1范数($||w||_0$),指向量中各个元素绝对值之和

L2范数($||w||_0$),又叫“岭回归”(Ridge Regression),指向量中各元素的平方和然后开根号。

正则化

正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大.

正则化项可以取不同的形式。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数($||w||$表示参数向量w的$L_2$范数):

也可以是$L_1$范数($||w||_1$表示参数向量w的$L_1$范数):

第1项的经验风险较小的模型可能较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。
正则化符合奥卡姆剃刀(Occam’s razor)原理。

交叉验证

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

  1. 简单交叉验证
    简单交叉验证方法是:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。

  2. S折交叉验证
    应用最多的是S折交叉验证(S-fold cross validation),方法如下:首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。

  3. 留一交叉验证

    S折交叉验证的特殊情形是S=N,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里,N是给定数据集的容量。

生成模型与判别模型

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

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

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

判别方法的特点:判别方法直接学习的是条件概率P(Y|X)或决策函数f(X),直接面对预测,往往学习的准确率更高;由于直接学习P(Y|X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

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

分类问题

分类是监督学习的一个核心问题。在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification)。可能的输出称为类(class)。分类的类别为多个时,称为多类分类问题。

评价分类器性能的指标一般是分类准确率(accuracy),其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。也就是损失函数是0-1损失时测试数据集上的准确率。

对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将负类预测为负类数。
precision定义为

recall定义为

$F_1$值,即precision和recall的调和均值

precision和recall都高时,$F_1$值也会高

许多统计学习方法可以用于分类,包括k近邻法、感知机、朴素贝叶斯法、决策树、决策列表、逻辑斯谛回归模型、支持向量机、提升方法、贝叶斯网络、神经网络、Winnow等

标注问题

标注(tagging)是一个监督学习问题,可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。注意,可能的标记个数是有限的,但其组合所成的标记序列的个数是依序列长度呈指数级增长的。

回归问题

回归(regression)是监督学习的另一个重要问题。回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据

回归问题最常用的 loss function 是quadratic(平方) loss function