一、概论--统计学习方法总结

统计学习方法

一、统计学习方法概论

1.1 统计学习

统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由以下几个主要组成部分:
- 监督学习(supervised learning)
- 非监督学习 (unsupervised learning)
- 半监督学习 (semi-supervised learning)
- 强化学习 (reinforcement learning)

Supervised learning is the machine learning task of inferring a function from labeled training data.

Unsupervised learning is the machine learning task of inferring a function to describe hidden structure from unlabeled data.
Wikipedia:
https://en.wikipedia.org/wiki/Supervised_learning
https://en.wikipedia.org/wiki/Unsupervised_learning


统计学习方法的三要素:
- 模型 (model)
- 策略 (strategy)
- 算法 (algorithm)

实现统计学习方法的步骤如下:
(1)得到一个有限的训练数据集合;
(2)确定包含所有可能的模型的假设空间,即学习模型的集合;
(3)确定模型选择的准则,即学习的策略
(4)实现求解最有模型的算法,即学习的算法
(5)通过学习方法选择最优模型;
(6)利用学习的最优模型对新数据进行预测或分析。

1.2监督学习

1.2.1.输入空间、特征空间、输出空间

在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)。
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示,所有的特征向量存在的空间称为特征空间(feature space)。

1.2.2联合概率分布

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

1.2.3假设空间

监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。
换句话说,学习的目的就在于找到最好的这样的模型。
模型属于由输入空间到输出空间的映射的集合。这个集合就是假设空间(hypothesis space)。

1.3 统计学习的三要素

1.3.1 模型

模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。
假设空间可以用 F 表示,可以定义为决策函数的集合,称为非概率模型

F={f|Y=f(X)}

也可以定义为条件概率的集合,称为概率模型:
F={P|P(Y|X)}

1.3.2策略
  • 损失函数
    监督学习问题是在假设空间F中选取模型f作为决策函数,对于给点的输入X,由 f(x) 给出相应的输出 Y ,输出的预测值与真实值Y之间错误的程度用损失函数(loss function)或代价函数(cost function)表示,通常有:
    (1)0-1损失函数(0-1 loss function)
    (2)平方损失函数(quadratic loss function)
    L(Y,f(X))=(Yf(X))2

    (3)绝对损失函数(absolute loss function)
    L(Y,f(X))=|Yf(X)|

    (4)对数损失函数(logarithmic loss function)
    L(Y,P(Y|X)=logP(Y|X)
  • 风险函数
    损失函数值越小,模型就越好。由于模型的输入,输出 (X,Y) 是随机变量,遵循联合分布 P(X,Y) ,所以损失函数的期望就是:
    Rexp(f)=Ep[L(Y,f(X)]=XxYL(y,f(x))P(x,y)dxdy

    这就是理论模型 f(x) 关于联合分布 P(X,Y) 的平均意义下的损失,称为风险函数(risk function)或期望损失。
    (1)经验风险:模型 f(x) 关于训练集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作 Rexp
    Rexp=1Ni=1NL(yi,f(xi))

    (2)结构风险:结构风险在经验风险的基础上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term),其中 J(f) 为模型的复杂度, λ0 是系数,用以权衡经验风险和模型复杂度。
    Rrsm=1Ni=1NL(yi,f(xi))+λJ(f)
  • 经验风险最小化和结构风险最小化
    经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型就是最优的模型。
    当样本容量足够大的时候,经验风险最小化能保证有很好的学习效果,在现实中被广泛采纳。比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子
    但是,当样本容量很小的时候,经验风险最小化学习的效果就未必很好,会产生过拟合(over-fitting)的现象。
    结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出的策略。结构风险最小化等价于正则化(regularization)
    贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子

1.4模型评估与模型选择

1.4.1训练误差与测试误差
  • 训练误差:假设学习到的模型是 Y=f^(X) ,训练误差是模型 Y=f^(X) 关于训练数据集的平均损失,其中N是训练样本容量:
    Remp(f^)=1Ni=1NL(yi,f^(xi))
  • 测试误差:测试误差是模型 Y=f^(X) 关于测试数据集的平均损失,其中N’ 是测试样本容量:
    etest(f^)=1Ni=1NL(yi,f^(xi))
1.4.2过拟合与模型选择
  • 过拟合(over-fitting):如果一味追求提高对训练数据的预测能力,所选的模型的复杂度则往往会比真的模型更高。过拟合是指的学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。
  • 模型选择旨在避免过拟合并提高模型的预测能力。

1.5正则化与交叉验证

1.5.1正则化

模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加上一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。
正则化一般具有如下形式:

minfF1Ni=1NL(yi,f(xi))+λJ(f)

第一项是经验风险,第二项是正则化项, λ0 为调整两者之间关系的系数。
正则化可以取不同的形式:
- 例如,在回归问题中,损失函数是平方损失,正则化项可以是参数向量的 L2 范数:
L(ω)=1Ni=1N(f(xi;ω)yi)2+λ2||ω||2

这里 ||ω|| 表示参数向量的 L2 范数。

参考链接:http://blog.csdn.net/zouxy09/article/details/24971995
除了L1范数,还有一种更受宠幸的规则化范数是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。至于过拟合是什么,上面也解释了,就是模型训练时候的误差很小,但在测试的时候误差很大,也就是我们的模型复杂到可以拟合到我们的所有训练样本了,但在实际预测新的样本的时候,糟糕的一塌糊涂。

  • 正则化项可以是参数向量的 L1 范数:
    L(ω)=1Ni=1N(f(xi;ω)yi)2+λ||ω||1

    这里 ||ω||1 表示参数向量 ω L1 范数。
    参考链接: http://blog.csdn.net/zouxy09/article/details/24971995
    L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。这太直观了,太露骨了吧,换句话说,让参数W是稀疏的。OK,看到了“稀疏”二字,大家都应该从当下风风火火的“压缩感知”和“稀疏编码”中醒悟过来,原来用的漫山遍野的“稀疏”就是通过这玩意来实现的。但你又开始怀疑了,是这样吗?看到的papers世界中,稀疏不是都通过L1范数来实现吗?脑海里是不是到处都是||W||1影子呀!几乎是抬头不见低头见。没错,这就是这节的题目把L0和L1放在一起的原因,因为他们有着某种不寻常的关系。那我们再来看看L1范数是什么?它为什么可以实现稀疏?为什么大家都用L1范数去实现稀疏,而不是L0范数呢?

    L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。现在我们来分析下这个价值一个亿的问题:为什么L1范数会使权值稀疏?有人可能会这样给你回答“它是L0范数的最优凸近似”。实际上,还存在一个更美的回答:任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。这说是这么说,W的L1范数是绝对值,|w|在w=0处是不可微,但这还是不够直观。这里因为我们需要和L2范数进行对比分析。所以关于L1范数的直观理解,请待会看看第二节。

    对了,上面还有一个问题:既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以大家才把目光和万千宠爱转于L1范数。

    NP困难(NP-hard,non-deterministic polynomial-time hard)问题是计算复杂性理论中最重要的复杂性类之一。某个问题被称作NP困难,当所有NP问题可以在多项式时间图灵归约到这个问题。
    NP困难参考链接: https://zh.wikipedia.org/wiki/NP%E5%9B%B0%E9%9A%BE
1.5.2交叉验证
另一种常见的模型选择方法是交叉验证(cross validation)。 如果给定的样本数据充足,进行模型选择的一种简单方法是随机的将数据集切分成三部分,分别为**训练集(training set),验证集(validation set)和测试集(test set)**。

1.6泛化能力

1.6.1泛化误差
**学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对位置数据的预测能力**。 现实中采用最多的方法是通过测试误差来评价学习方法的泛化能力,但这种评价是依赖于测试数据集的。 - **泛化误差(generalization error)**:如果学习到的模型是 f^ ,那么用这个模型对未知数据预测的误差即为泛化误差。
Rexp(f^)=Ep[L(Y,f^(X)]=XxYL(y,f^(x))P(x,y)dxdy
泛化误差反应了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更加有效。事实上,**泛化误差就是所学习到的模型的期望风险**。

1.7生成模型与判别模型

监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出。这一模型的一般形式为决策函数:
Y=f(X)
或者条件概率分布:
P(Y|X)
- 监督学习方法又可以分为**生成方法(generative approach)**和**判别方法(discriminative approach)**。所学习的到模型分别称为**生成模型**(generative model)和**判别模型**(discriminative model)。
  • 生成方法由数据学习联合概率分布 P(X,Y) ,然后求出条件概率分布 P(Y|X) 作为预测的模型, 即生成模型:
    P(Y|X)=P(X,Y)P(X)

    这样的方法之所有称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型
  • 判别方法由数据直接学习决策函数 f(X) 或者条件概率分布 P(Y|X) 作为预测的模型,即判别模型。判别方法关心的是对给定的输入 X ,应该预测什么样的输出Y典型的判别模型包括:k近邻法、感知机、决策树、逻辑回归模型、最大熵模型、支持向量机、提升方法和条件随机场。

1.8分类问题

对于二分类问题常用的指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测正确与否可以分成4类:
- TP ——将正类预测为正类数
- FN——将正类预测为负类数
- FP——将负类预测为正类数
- TN——将负类预测为负类数
精准率定义为

P=TPTP+FP

召回率定义为
R=TPTP+FN

1.9标注问题

标注(tagging)也是一个监督学习问题。可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对广策序列给出标记序列作为预测。
标注常用的统计学习方法有:隐马尔科夫模型,条件随机场。标记问题在信息抽取,自然语言处理等领域被广泛应用,是这些领域的基本问题。

1.10回归问题

回归(regression)是监督学习的另一个问题。回归用于预测输入变量(自变量)与输出变量(因变量)之间的关系,特别是当输入变量发生变化时,输出变量的值随之发生的变化。回归模型正是表示输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线能使其很好地拟合已知数据且很好地预测未知数据。
回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法(least square)求解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值