监督学习是从标注数据中学习模型的机器学习问题,是统计学习或机器学习的重要组成部分。
1.统计学习的特点
统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习。(statistical machine learning)
当人们提及机器学习时,往往是指统计机器学习。
2.统计学习的对象:数据
3.统计学习的目的:对数据进行准确的分析与预测
4.统计学习的方法:
统计学习由监督学习(supervised learning)、无监督学习(unsupervised learning)和强化学习(reinforcement learning)等组成。
统计学习方法的三要素:模型(model)、策略(strategy)、算法(algorithm)
5.统计学习的研究
6.统计学习的重要性
基本分类:监督学习、无监督学习、强化学习
本篇主要先介绍监督学习——
(1)输入空间、特征空间和输出空间
输入空间/输出空间:在监督学习中,将输入与输出所有可能的取值的集合分别成为输入空间(input space)与输出空间(output space)
特征空间:每个具体的实例是一个实例(instance),通常由特征向量(feature vector)表示,这时,所有特征向量存在的空间称为特征空间(feature space)。
监督学习的应用:输入变量与输出变量均为连续变量的预测问题称为回归问题;
输出变量为有限个离散变量的预测问题称为分类问题;
输入变量与输出变量均为变量序列的预测问题称为标注问题。
(2)联合概率分布
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。
统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布就是监督学习关于数据的基本假设。
(3)假设空间:
模型属于由输入控件到输入控件的映射的集合,这个集合就是假设空间(hypothesis space)。
补充:贝叶斯学习
贝叶斯学习(Bayesian learning)的主要想法是:在概率模型的学习和推理中,利用贝叶斯定理,计算在给定数据条件下模型的条件概率,即后验概率,并应用这个原理进行模型的估计,以及对数据的预测。将模型、未观测要素及其参数用变量表示,使用模型的先验分布是贝叶斯学习的特点。
后验概率:p(Θ|X)=p(X|Θ)p(Θ) / p(X)
假设先验分布是均匀分布,取后验概率最大,就能从贝叶斯估计得到极大似然估计。
方法 = 模型+策略+算法
(一)模型:
在监督学习过程中,模型就是所要学习的条件概率分布P(Y|X)或决策函数Y=f(X)。
由决策函数表示的模型为非概率模型,由条件概率表示的模型为概率模型。
(二)策略:
策略:按照什么样的准则学习或选择最优的模型。
1.首先引入损失函数和风险函数——
损失函数度量模型一次预测的好坏;风险函数度量平均意义下模型的好坏。
常用的损失函数:
(2)平方损失函数(quadratic loss function)
(3)绝对损失函数(absolute loss function)
(4)对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function)
这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,成为风险函数(risk function)或期望损失(expected loss)。
学习的目标就是选择期望风险最小的模型。但由于联合分布P(X,Y)是未知的,期望损失不能直接计算。
2.引入经验风险
模型f(X)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作
根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。但由于现实中训练样本数目有限, 用经验风险估计期望风险常常不理想。
3.策略——经验风险最小化和结构风险最小化
经验风险最小化(empirical risk minimization)ERM认为,经验风险最小的模型就是最优的模型——
当模型是条件概率分布、损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
当样本容量足够大时,经验风险最小化能保证有很好的学习效果。但是当样本容量很小时,经验风险最小化学习的效果就未必很好,会出现“过拟合”(over-fitting)现象。
结构风险最小化(structural risk minimization)SRM是为了防止过拟合而提出的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或惩罚项(penalty term)——
当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率。
(三)算法
算法:考虑用什么样的计算方法求解最优模型
1.训练误差与测试误差
训练误差:模型关于训练数据集的平均损失
测试误差:模型关于测试数据集的平均损失
当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率
常见的测试数据集上的准确率为:
通常将学习方法对未知数据的预测能力称为泛化能力(generalization ability)
2.过拟合与模型选择
过拟合:如果一味追求从提高对训练数据的预测能力,所选模型的复杂度往往会比真模型更高。这种现象称为过拟合(over-fitting)。过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测的很好,但对未知数据预测的很差的现象。
下面就介绍两种常用的模型选择方法:正则化和交叉验证
(一)正则化:
正则化是结构风险最小化策略的实现,是在经验风险上加上一个正则化项或惩罚项,一般形式如下:
正则化项可以取不同的形式:
在回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数:
正则化项可以是参数向量的L1范数:
常用的范数有L1范数,也叫曼哈顿距离:是一个向量中所有元素的绝对值之和。
L2范数,也叫欧几里得范数:是一个向量中所有元素取平方和,然后再开平方。
正则化的作用是选择经验风险与模型复杂度同时小的模型。
(二)交叉验证
交叉验证(cross validation):训练集(training set)、验证集(validation set)、测试集(test set)
交叉验证的基本思想是重复的使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择
常见:简单交叉验证、S折交叉验证、留一交叉验证
简单交叉验证:
首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
S折交叉验证:
初始采样分割成S个子样本,一个单独的子样本被保留作为验证模型的数据,其他S-1个样本用来训练。交叉验证重复S次,每个子样本验证一次,平均S次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。
留一交叉验证:
正如名称所建议, 留一验证(LOOCV)意指只使用原本样本中的一项来当做验证资料, 而剩余的则留下来当做训练资料。 这个步骤一直持续到每个样本都被当做一次验证资料。 事实上,这等同于和K-fold 交叉验证,其中K为原本样本个数。 在某些情况下是存在有效率的演算法,如使用kernel regression 和Tikhonov regularization。
(一)泛化误差
泛化误差(generalization error):模型对未知数据预测的误差。
(二)泛化误差上界
比较学习方法的泛化能力——比较泛化误差上界
当样本容量增加时,泛化上界趋于0;假设空间容量越大,泛化误差上界越大。
监督学习方法又可以分为生成方法和判别方法,对应的模型分别为生成模型和判别模型
(一)生成模型
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型。
典型的生成模型有朴素贝叶斯法和隐马尔科夫模型。
(二)判别模型
判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型。即判别模型。
典型的判别模型包括:K近邻法、感知机、决策树、logistic回归模型、最大熵模型、支持向量机、提升方法和条件随机场。
(三)特点:
生成方法:可还原出联合概率分布P(X,Y), 而判别方法不能。生成方法的收敛速度更快,当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;当存在隐变量时,仍可以使用生成方法,而判别方法则不能用。
判别方法:直接学习到条件概率或决策函数,直接进行预测,往往学习的准确率更高;由于直接学习Y=f(X)或P(Y|X),可对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习过程。
(一)分类问题
评价分类器性能的指标——分类准确率:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
二类分类问题常用的评价指标:精确率(precision)和召回率(recall)。
TP——将正类预测为正类数
FN——将正类预测为负类数
FP——将负类预测为正类数
TN——将负类预测为负类数
精确率:
召回率:
(二)标注问题
(三)回归问题