统计学习方法笔记

烂漫一生 提交于 2020-02-03 03:33:55

统计学习方法概论

1.1 统计学习

统计学习(statistics learning):计算机基于数据构建概率统计模型并运用模型数据进行预测与分析。也称为统计机器学习(statistics machine learning)。

统计学习的特点:

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

// 现在我们所说的机器学习,往往是指统计机器学习

统计学习的对象

数据(data)
首先呢,统计学习从数据出发,提取数据的特征,抽象出数据中的模型,发现数据中的知识,最终又回到对数据的分析预测中去。
其次,作为统计学习的对象,数据是多样的,它包括存在于计算机及网络上的各种数字文字图像视频音频数据以及它们的组合。
关于数据的基本假设:同类数据具有一定的统计规律性。
(什么叫“同类数据”:具有某种共同性质的数据,比如英文文章,互联网网页,数据库中的数据等,它们具有统计规律性,所以可以用概率统计方法来进行处理。比如,可以用随机变量描述数据中的特征,用概率分布描述数据的统计规律)

统计学习的目的

对数据进行预测与分析
特别是对未知新数据。
(好处:预测可使计算机更加智能化,使计算机的某些性能得到提高;分析可使人们获取新的知识,给人们带来新的发现。)
如何实现这个目的的呢:通过构建概率统计模型

统计学习的方法

监督学习(supervised learning)
非监督学习(unsupervised learning)
半监督学习(semi-supervised learning)
强化学习(reinforcement learning)

其中,监督学习(supervised learning)下统计学习的方法可概率如下:从给定的、有限的、用于学习的训练数据(training data)集合出发,(这里有两个假设)假设数据是独立分布的;假设要学习的模型属于某个函数的集合,称为假设空间(hypothesis space);应用某个评价准则(evaluation criterion),从假设空间中选取一个最优的模型,使得它对已知训练数据及未知测试数据(teat data)在给定的评价准则下具有最优的预测;这个最优,模型的选取由算法实现。
统计学习方法三要素:
模型(model):模型的假设空间;
策略(strategy):模型选择的准则;
算法(algorithm):模型学习的算法。
实现统计学习方法的步骤:
(1)得到一个有限的训练数据集合;
(2)确定包含所有可能的模型的假设空间,即学习模型的集合;
(3)确定模型选择的准则,即学习的策略;
(4)实现求解最优模型的算法,即学习的算法;
(5)通过学习方法选择最优模型;
(6)利用学习的最优模型对新数据进行预测或分析。

统计学习的重要性

应用领域涉及:人工智能;模式识别;数据挖掘;自然语言处理;语音识别;图像识别;信息检索;生物信息等计算机应用领域。
在科学技术中的重要性主要体现在:
(1)处理海量数据的有效方法;
(2)计算机智能化的有效手段;
(3)激素啊你科学发展的重要组成部分。

1.2 监督学习

首先,监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其输出作出一个好的预测

一些基本概念

输入空间(input space)
特征空间(feature space)
输出空间(output space)

输入与输出的所有可能值得集合称为输入空间(input space)与输出空间(output space)。(输入与输出空间可以是有限元素的集合,也可以是整个欧式空间;输入与输出空间可以是同一个空间,也可以是不同空间,但通常输出空间远远小于输入空间)
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示,这时,所有特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。模型实际上是定义在特征空间的
大写X表示输入变量;小写x表示输入变量的取值;x上角标i表示x的第i个(i维度的)特征;x下角标表示多个输入变量的第i个。
训练数据(training data)和测试数据(test data)都由相应的输入与输出对组成。输入与输出对又称为样本(sample)或样本点。
输入变量与输出变量均为连续变量的预测问题称为
回归问题

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

联合概率分布
监督学习假设输入与输出变量X和Y遵循联合概率分布P(X,Y),P(X,Y)
表示分布函数,或分布密度函数。X和Y独立同分布

假设空间
监督学习的目的在于学习一个由输入到输出的映射(这一映射用模型表示)学习的目的在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space)。
// 我大概可以这样子理解,模型是最好的映射。

监督学习问题的形式化

为什么称为监督学习呢:因为监督学习利用训练数据学习一个模型,再用模型对测试样本集进行预测(prediction)。由于在这个过程中需要训练数据集,而训练该数据集往往是人工给出的,所以称为监督学习。

1.3 统计学习三要素

方法 = 模型+策略+算法

模型

在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。
模型的假设空间包含所有可能的条件概率分布或决策函数。

策略

(有了模型的假设空间,接下来就要考虑)按照什么样的准则学习或选择最优的模型
两个概念:
损失函数:度量模型一次预测的好坏。
风险函数:度量平均意义下模型预测的好坏。
损失函数(loss function)是f(X)和Y的非负实值函数,记作L(Y,f(X))。
统计学习常用的损失函数:
(1)0-1损失函数(0-1 loss function)
(2)平方损失函数(quadratic loss function)
(3)绝对损失函数(absolute loss function)
(4)对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function)
这里有一个损失函数的期望,公式不写了,理论上模型f(x)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(risk function)。
为什么说监督学习是一个病态问题?因为监督学习的目标是选择期望风险最小的函数。然后期望公式为R_exp(f)=…(式1.9,需要用到联合分布P(X,Y)),而联合分布P(X,Y)是未知的,R_exp(f)并不能直接计算。事实上,倘若知道联合分布P(X,Y),就可直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习。这样一来,一方面期望风险最小学习模型要用到联合分布,另一方面,这个联合分布又是未知的,所以监督学习就成为一个病态问题(ill-formed problem)。
//我感觉类似dehazing,就是已知条件不足。

给定一个训练数据集,模型f(X)关于训练数据集的平均损失称为经验风险(empirical loss),记作R_emp(f)
期望风险R_exp(f)是模型关于联合分布的期望损失,经验风险R_emp(f)是模型关于训练样本集的平均损失,根据数定律,当样本容量N趋于无穷时,经验风险R_emp(f)趋于期望风险R_exp(f),所以一个自然的想法是用经验风险估计期望风险。但是由于现实中训练样本有限,甚至很小,用经验风险估计期望风险并不理想,要对经验风险记性一定的矫正。

两个基本策略
经验风险最小化(empirical risk minimization, ERM)。当样本容量足够大时,ERM能保证有很好的学习效果。比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子。
但是,当样本容量很小时,ERM容易产生“过拟合(over-fitting)”现象。
结构风险最小化(structure risk minimization, SRM)。为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization),结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或惩罚项(penalty term)。
模型f越复杂,复杂度J(f)越大;
模型f越简单,复杂度J(f)越小;
复杂度表示了对复杂模型的惩罚。
结构风险小需要经验风险和模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
贝叶斯估计中的最大后验概率(maximum posterior probability estimation,MAP)就是结构风险最小化的例子。

算法

学习模型的具体计算方法
(前述,统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,那么,接下来,用什么样的计算方法来求解这个最优模型
如何找到全局最优解

模型评估与模型选择

训练误差与测试误差

训练误差(training error)。模型Y=f_^(X)关于训练数据集的平均损失。
测试误差(test error)。模型Y=f_^(X)关于测试数据集的平均损失。
将学习方法对未知数据的预测能力称为泛化能力(generalization ability)。

过拟合与模型选择

首先,为什么要进行模型选择呢?
当假设空间含有不同的复杂度(比如说不同的参数个数)时,就要面临模型选择(model selection)问题,就是,我们希望所选择的模型尽可能地逼近“真”模型(假设存在),具体地,所选择模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量接近。
然后,什么是过拟合呢?
如果一味追求提高对训练数据的预测能力,所选模型的复杂度往往会比真模型更高,这种现象称为过拟合(over-fitting)。过拟合是指学习时所选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测的很差的现象。
可以说模型选择旨在避免过拟合并提高模型的预测能力。
训练误差和测试误差与模型复杂度的关系:当模型的复杂度增大时,训练误差会逐渐减小并趋于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。
所以要选择复杂度适当的模型
两种常用的模型选择方法:正则化与交叉验证。

1.5 正则化与交叉验证

正则化模型越复杂,正则化值越大。

正则化是结构风险最小化策略的实现。是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。正则化项一般是单调递增函数,

交叉验证(cross validation)

重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。

  1. 简单交叉验证
    随机地将已知数据分为两部分,一部分作为训练集,一部分作为测试集(例如,70%,30%);然后训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
  2. S折交叉验证
    应用最多的S折交叉验证(S-fold cross validation)。随机地将已给数据切分成S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这咦过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
  3. 留一交叉验证
    S=N,N是给定数据集的容量,数据缺乏的情况下使用。

1.6 泛化能力

泛化能力(generalization ability)指由该方法学习到的模型对未知数据的预测能力。怎么来评价这个学习方法的泛化能力呢,泛化误差(generalization error)。但是这种评价是基于测试数据集的,由于测试数据集有限,很有可能由此得到的结果是不可靠的。统理试图从理论上对学习方法的泛化能力进行分析,也就是,研究泛化误差的概率上界,简称为泛化误差上界(generalization error bound)。具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。
定理1.1 泛化误差上界的证明看不懂,反正结论就是,训练误差小的模型,其泛化误差也会小。

1.7 生成模型与判别模型

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

生成方法:

由数据学习联合概率分布P(X,Y),然后**求出条件概率分布p(Y|X)**作为预测的模型,即生成模型。
模型表示了给定输入X产生输出Y的生成关系。
典型的生成模型:朴素贝叶斯模型,隐马尔可夫模型。
特点:可还原出联合概率分布P(X,Y),而判别方法不能;
生成方法的学习收敛速度更快;
当存在隐变量时,仍可以用于生成方法学习。

判别方法:

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

1.8 分类问题

输出变量Y取有限个离散值。
监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification),可能的输出称为类(class)
分类问题包括学习分类两个过程。
学习:根据已知的训练数据集合利用有效的学习方法学习一个分类器。
分类:利用学习的分类器对新的输入实例进行分类。
评价分类器性能的指标一般书分类准确率(accuracy):分类器正确分类的样本数与总样本数之比
二分类问题常用指标评价是精确率(precision)召回率(recall)。通常以关注的类为正类,其他类为负类。4种情况:
TP–将正类预测为正类数;
FN–将正类预测为负类数;
FP–将负类预测为正类数;
TN–将负类预测为负类数。
精确率(precision)P=TP/(TP+FP)
召回率(recall)R=TP/(TP+FN)
F1是精确率和召回率的调和平均值 2/F1=1/P+1/R
F1 = 2TP/(2TP+FP+FN)
精确率和召回率都高时,F1也会高。
**分类的应用:**比如,在银行业务中,可以构建一个客户分类模型,对客户按照贷款风险的大小进行分类;在网络安全领域,可以利用日志数据的分类对非法入侵进行检测;在图像处理中,分类可以用来检测图像中是否有人脸出现;在互联网搜索中,网页的分类可以帮助网页的抓取、索引与排序。

1.9 标注问题(tagging)

输入是一个观测序列,输出是一个标记序列或状态序列。
标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。
分为学习标注两个过程。
指标与分类一样,标注准确率、精确率和召回率。
标注常用的统计学习方法有:隐马尔可夫模型、条件随机场。
标注问题的应用:信息抽取、自然语言处理等领域。比如,自然语言处理中的词性标注(part of speech tagging):给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列预测其对应的词性标注序列。

1.10 回归问题(regression)

预测输入变量(自变量)和输出变量(因变量)之间的关系。
回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。
分为学习预测两个过程。
回归问题按照输入变量的个数,分为一元回归和多元回归;
按照输入变量和输出变量之间关系得类型即模型的类型,分为线性回归和非线性回归。
最常用的损失函数是平方损失函数。
回归问题的应用:比如商务领域:作为市场趋势预测、产品质量管理、客户满意度调查、投资风险分析的工具。

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!