统计学习方法学习笔记一

第一章 统计学习方法概论

统计学习的主要特色是

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

统计学习的对象

面向的研究对象就是数据

Created with Raphaël 2.1.0 数据开始 提取数据特征 发现数据中的知识 对数据进行分析和预测

统计学习方法的分类

监督学习(supervised leaning)
  无监督学习(unsupervised leaning)
  半监督学习(semi-supervised leaning)
  强化学习(reinfoucement leaning)

统计学方法的三个要素

统计学习方法=模型(model)+策略(strategy)+算法(algorithm)
 模型:找到一个可以解决问题的条件几率或者决策函数。
 策略:找到一个可以能够优化模型(或者衡量模型的)损失函数(好比0-1损失)。
 算法:找到一种能够优化损失函数的方法(好比:梯度降低法)。

统计学方法的步骤

1  获得一个有限的训练数据集
 2 肯定假设空间(即全部可能的模型)
 3 肯定选择模型的准则(即策略)
 4 实现求解最优化模型的算法(即算法)
 5 选择最优模型
 6 利用最优模型对新来的数据进行预测和分析

统计学习的研究

  • 统计学习方法的研究——发现新的学习方法
  • 统计学习理论的研究——提升统计学习方法的有效性和效率
  • 统计学习应用的研究——-将统计学习方法应用到实际问题中去,解决实际问题。

监督学习/supervised leaning

监督学习是本书的主要学习

监督学习也能够叫作有指导的学习,(在老师的指导和监督下学习,你会学的更好)因此,通常状况下,监督学习模型要优于无监督学习模型。固然会以须要训练集来做为代价,也就是说监督学习比无监督学习须要更多的资源(毕竟须要指导)。web

假设输入实例X的特征向量记做
训练集:
假设输入变量用X表示,输出变量用Y表示,并假设输入与输出的随机变量X和Y知足联合几率分布P(X,Y),监督学习问题的模型以下所示:

这个模型仍是比较容易理解的,简单的能够理解为:将训练集输入到咱们的学习系统—->根据决策方法学习一个最优的模型—–>利用这个最优的模型对新来的数据进行预测。算法

根据输入、输出变量的不一样能够把预测任务分为如下三类:

回归问题-----输入变量与输出变量均为连续变量的预测问题;
分类问题------输出变量为有限个离散变量的预测问题;
标注问题------输入变量与输出变量均为变量序列的预侧问题.
他们的问题模型只须要把上图中的“预测系统”改成“分类系统”、“标注系统”便可

三要素

模型

在监督学习过程当中,模型就是所要学习的条件几率或者决策函数。
(决策函数模型)
(条件几率模型)网络

策略

损失函数和风险函数
损失函数(loss function)或代价函数(cost function)是用来度量模型的预测能力的。损失函数是 f (X)(预测值)和Y(真实值)之间的非负实值函数(由于二者之间的差值能够理解为二者之间的距离,是非负的。),记做L(Y, f (X)) 。app

经常使用损失函数:svg

(1)0-1损失函数(0-1 loss function)

(2)平方损失函数 (quadratic loss function)

(3)绝对损失函数 (absolute loss function)

(4)对数损失函数(logarithmic loss function)或对数似然损失函数 (loglikehood loss function)


固然还存在其余的损失函数好比:指数损失函数或者Hinge Loss等。损失函数值越小,表明模型越好,模型出现的偏差越小。
经验损失或者经验风险
因为模型的输入、输出(X,Y)是随机变量,遵循联合分布P(X,Y),因此损失函数的指望是:

这是理论上模型f (X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(risk function)或指望损失(expected loss)。学习的日标就是选择指望风险最小的模型。因为,一方面根据指望风险最小化模型要用到联合几率分布,另外一方面联合分布又是未知的,因此监督学习就成为一个病态问题!
在此咱们提出另一个概念:经验风险。(根据我本身的理解,带有“经验”的东东,通常是平均意义下东东,毕竟经验是须要积累的嘛。)
模型f(x)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss):
函数

指望风险Rexp(f)是模型关于联合分布的指望损失,经验风险Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险趋于指望风险。因此一个很天然的想法是用经验风险估计指望风险。可是,因为现实中训练样本数目有限,甚至很小,因此用经验风险估计指望风险经常并不理想,要对经验风险进行必定的矫正.这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化.学习

经验风险最小化(empirical risk minimization, ERM),即求解最优化问题:

当样本容量足够大时,经验风险最小化能保证有很好的学习效果(好比一我的的经验积累越多,判别力确定会越好)可是当样本容量很小的时候,经验风险最小化的学习效果未必很好(毕竟走过的路有点小,觉得世界就那么大,因此很容易作出错误的判断),可能会产生“过拟合(over-fitting)”现象。所以这时须要结构风险最小化。测试

结构风险最小化(structural risk minimization, SRM)是为了防止过拟合,在经验风险上加上表示模型复杂度的正则化项(regulatizer)或罚项(penalty term ),定义是:

其中J (f)为模型的复杂度(有的时候能够理解为模型所须要的参数个数。)

结构风险小须要经验风险与模型复杂度同时小。优化

算法

学习模型的具体计算方法。统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问
题的算法。如何找到全局最优解并使得求解的过程很是高效!url

训练偏差与测试偏差

通常状况下,咱们将数据集分为两大类:训练集和测试集。(有的时候分红三部分:训练集、验证集、测试集)。
训练偏差是指模型在训练集上的偏差,反映的是模型的学习能力。
(关于训练数据集的平均损失)
测试偏差是指模型在测试集上偏差,反映的是模型的预测能力。
(关于测试数据集的平均损失)

过拟合

过拟合(over-fitting):若是一味追求提升对训练数据的预侧能力,所选模型的复杂度则每每会比真模型更高。这种现象称为过拟合(over-fitting)。过拟合是指学习时选择的模型对己知数据(训练数据集中的数据)预测得很好,但对未知数据(测试数据集中的数据)预测得不好的现象。

例如:

上面的例子是,根据数据分布拟合多项式模型,M表明模型的多项式次数,咱们能够看到M=0和M=1的时候,模型的学习和预测能力都很差,而M=9的时候,模型的学习能力很好(几乎都学会了,也就是说拟合出的多项式模型,能够经过每一个训练数据样本点),可是它的预测能力不好!而且模型太复杂!而当M=3的时候,模型的学习能力和预测能力都是比较好的。(从图图像上直观的看到是,预测出的曲线模型和真实的曲线模型之间拟合度)。

训练偏差和测试偏差与模型复杂度之间的关系

模型的选择方法:正则化和交叉验证

正则化咱们学过了,就是结构风险最小化策略的实现:

上式中的第二项就是咱们的正则项(或者罚项)。

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

简单交叉验证 
    首先随机地将己给数据分为两部分,一部分做为训练集,另外一部分做为测试集;而后用训练集在各类条件下(例如,不一样的参数个数)训练模型,从而获得不一样的模型;在测试集上评价各个模型的测试偏差,选出测试偏差最小的模型.
 k-折交叉脸证(S-fold cross validation)
     方法以下:首先随机地将已给数据切分为S个互不相交的大小相同的子集;而后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均侧试偏差最小的模型.
 留一文叉验证 (leave-one-out cross validation)
     k-折交叉验证的特殊情形是k=N,N是给定数据集的容量。

生成模型和判别模型

监督学习方法又能够分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别称为生成模型(geuemtive model)和判别模型(discriminative model)。生成方法由数据学习联合几率分布P(X,Y),而后求出条件几率分布P(YIX)做为预测的模型,即生成模型。

这样的方法之因此称为生成方法,是由于模型表示了给定输入X产生输出Y的生成关系.典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。

判别方法由数据直接学习决策函数f(X)或者条件几率分布P(Y|X)做为预测的模型,即判别模型.判别方法关心的是对给定的输入X,应该预测什么样的输出Y.典型的判别模型包括k近邻法、感知机、决策树、逻辑斯谛回归模型、最大嫡模型、支持向量机、提高方法和条件随机场等。

给定输入X,生成模型不能直接预测出输出的y,须要计算以后,再比较(或者求出的是各类输出可能性的几率值,最大做为最终的求解结果),而判别模型能够直接给出预测结果y,(利用判断规则或者方法)

生成方法的特色:

一、生成方法能够还原出联合几率分布P(X,Y),而判别方法则不能;
 二、生成方法的学习收敛速度更快,即当样本容量增长的时候,学到的模型能够更快地收敛于真实模型;
三、当存在隐变量时,仍能够用生成方法学习,此时判别方法就不能用。

判别方法的特色:

一、直接学习的是条件几率P(Y|X)或决策函数f(X),直接面对预测,每每学习的准确率更高;
二、因为直接学习P(Y|X)或f(X),能够对数据进行各类程度上的抽象、定义特征并使用特征,所以能够简化学习问题.

几种模型评估标准

这里写图片描述

TP(True Positive)——将正类预测为正类数(d);
FN(False Negative)——将正类预测为负类数(c);
FP(False Positive)——将负类预测为正类数(b):
TN(True Negative)——将负类预测为负类数(a).

精确率 P(Positive)=TP/(TP+FP)=d/(d+b)
召回率R(Positive)=TP/(TP+FN)=d/(d+c)
F1(精确率和召回率的调和均值)
F1(Positive)=(2*P*R)/(P+R)

同理能够求得P(Negative)、R(Negative)、F1(Negative)
这三种度量通常用于检测模型对每一类别的检测或预测能力。
对模型总体评估若有准确率AC(accuracy)
AC=(a+d)/(a+b+c+d)(对角线元素,正类和负类都预测正确的样本数)/(样本总数)
还有ROC曲线等。
最后贴一张比较高大上的图片,看不懂的童鞋不用较真,能准确理解上面的几种度量标准也ok~~~


人生如棋,落子无悔
                              ----by Ada