统计学习方法概论

来源:互联网 发布:mac桌面上的文件不见了 编辑:程序博客网 时间:2024/05/21 21:48

统计学习

如果一个系统能够通过执行某个过程改进它的性能,这就是学习 ——赫尔伯特.西蒙

  • 定义:关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称为统计机器学习
  • 特点以数据为研究对象以方法为中心,统计学习方法构建模型并应用模型进行预测与分析,以计算机及网络为平台
  • 对象: 从数据出发,提取数据的特征抽象出数据的模型,发现数据中的知识,又回到对数据的分析和预测中。其中关于数据的假设为同类数据具有一定的统计规律
  • 目的: 选择合适的学习模型,以使得模型对数据进行准确的预测与分析,同时尽可能地提高学习效率
  • 方法:基于数据构建统计模型从而对数据进行预测和分析,统计学习是由监督学习、非监督学习、半监督学习、强化学习等组成。包括模型的假设空间、模型的选择的准则以及模型学习的算法,即统计学习方法的三要素,简称模型(model)、策略(strategy)和算法(algorithm)

监督学习

  1. 定义:从给定的,有限的、用于学习的训练数据(training data)集合出发,应用某个评价准则(evalution criterion),从假设空间(hypothesis space)中选择一个最优的模型,使它对已知训练数据和未知测试数据(test data)在给定的评价准则下有最优的预测,最优模型的选取由算法实现,因过程中需要的训练数据集往往是人工给出的,故称之为监督学习
  2. 任务:学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测
  3. 用途分类标注回归

基本概念

  1. 输入输出空间(input space):将输入与输出所有可能取值的集合分别称为输入输出空间。该空间可以是有限元素的集合,也可以是整个欧式空间,输入空间与输出空间可在同一个空间或不同空间,通常输出空间远远小于输入空间
  2. 输入实例:每个具体的输入x 是一个实例,通常由特征向量(feature vector)表示,记作 输入实例的特征向量,其中 这里写图片描述是表示 x 的第 i 个特征
  3. 训练数据和测试数据:均由输入(或特征向量)与输出对组成,训练集通常表示为 这里写图片描述,输入与 输出对又称为样本(sample)或样本点
  4. 特征空间(feature space):所有特征向量存在的空间称为特征空间,每一维对应于一个特征。有时可将实例从输入空间映射到特征空间,此时输入空间与特征空间为不同的空间,其他情况两者空间为相同空间就不予区分。模型实际上都是定义在特征空间上的
  5. 假设空间:学习一个由模型来表示的从输入到输出的映射,模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypotheis space),假设空间的确定就意味着学习范围的确定
  6. 联合概率分布:训练数据与测试数据被看作是依联合概率分布 P(X,Y)独立同分布产生的,P(X,Y) 表示分布函数,或分布密度函数
  7. 变量表示:习惯上输入变量写作 X,输出变量写作 Y ,输入、输出变量所取得值分别用小写字母 x, y 表示。根据输入、输出变量的不同类型,对预测任务给予不同的名称:
输入变量 X 输出变量 Y 预测任务名称 连续变量 连续变量 回归问题 连续变量或离散变量 有限个离散变量 分类问题 变量序列 变量序列 标注问题

问题的形式化

这里写图片描述

  • (x,y) 称为样本点,x 是输入的观测值,也成为输入或实例,y 是输出的观测值,也成为输出。学习系统(也就是学习算法)通过给定的训练数据集,通过学习(或训练)得到一个信息学习模型,表示为条件概率分布 P(X|Y) 或决策函数 Y=f(X),这两个函数都是描述输入与输出随机变量之间的映射关系
  • 预测系统对于给定的测试数据集中的输入 这里写图片描述 由模型给出相应的输出 这里写图片描述
  • 学习系统通过不断尝试,选取最好的模型,一边对训练数据集有足够好的预测,同时对未知的测试数据集的预测也有尽可能好的推广


统计学习三要素

统计学习方法 = 模型 + 策略 + 算法

模型

  • 统计学习首要考虑的问题是学习什么样的模型,在监督学习过程中,模型就是所要学习的条件概率分布(概率模型)或决策函数(非概率模型),模型的假设空间包含所有可能的条件概率分布或决策函数
  • 例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合,假设空间中的模型一般有无穷多个

策略

有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型,统计学习的目标在于从假设空间中选取最优模型

  • 用损失函数(loss function) 或代价函数(cost function)来度量一次预测错误的程度,损失函数是预测值 f(X) 和真实值 Y 的非负实值函数,记作 L(Y,f(X)),损失函数值越小,模型就越好。常用的有以下几种:

    • 0-1 损失函数 (0-1 loss function) 这里写图片描述

    • 平方损失函数 (quadratic loss function) 这里写图片描述

    • 绝对损失函数 (absolute loss function) 这里写图片描述

    • 对数损失函数 (logarithmic loss function) 或对数似然损失函数 (log-likelihood loss function) 这里写图片描述

  • 用风险函数度量平均意义下模型预测的好坏。给定一个训练数据集 这里写图片描述,模型 f(X) 关于训练数据集的平均损失称为经验风险(empirical risk) 或经验损失(empirical loss)
    这里写图片描述
  • 经验风险最小化策略(ERM:在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式就可以确定,且经验风险最小的模型就是最优的模型。极大似然估计(maximum likelihood estimation) 就是经验风险最小化的一个典型例子
  • 结构域风险最小化(SRM):是为了防止在样本容量很小的时候出现过拟合而提出来的策略,结构风险最小化等价于正则化,结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。贝叶斯估计中的最大后验概率(MAP) 就是一个很典型的例子

算法

算法是指学习模型的具体计算方法,在完成上述两步骤之后,此时统计学习问题归结为最优化问题,统计学习的算法称为求解最优化问题的算法。通常最优化问题不存在显式的解析解,这时就需要数值计算的方法求解,不仅要保证找到的解为全局最优解,还要使求解的过程非常高效

模型评估与模型选择

  • 不同的学习方法会给出不同的模型,当损失函数给定时,基于损失函数的模型的训练误差(training error) 和模型的测试误差 (test error)就自然成为学习方法评估的标准。但具体采用损失函数未必是评估时使用的损失函数,当然,让两者一致就比较理想

  • 训练误差的大小,对判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反应了学习方法对未知数据集的预测能力,是一个很重要的概念

  • 当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就面临模型选择的问题。

  • 如果一味追求提高对训练数据的预测能力,所选模型的复杂度往往比“真”模型更高,这种现象称为过拟合。过拟合是指学习时选择的模型所包含的
    参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测很差的现象

    这里写图片描述

  • 如上图所示的 M 次多项式函数拟合。当 M = 0 时,多项式曲线是一个常数,数据拟合效果很差。当 M = 1 时,多项式曲线是一条直线,数据拟合效果也很差。当 M = 9 时,多项式曲线通过每个数据点,训练误差为0。但是因为训练数据本身存在噪声,这种拟合曲线对未知数据的预测能力往往并不是最好的,即出现过拟合现象。当 M = 3 时,多项式对训练数据拟合效果足够好,模型也比较简单,是一个较好的选择

    这里写图片描述

  • 上图描述了训练误差和测试误差与模型的复杂度之间的关系,当模型的复杂度增大时,训练误差会逐渐减小并趋近于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度多大时,过拟合现象就会发生。于是介绍两种常用的模型选择方法:正则化与交叉验证

正则化与交叉验证

正则化

  • 定义:正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或罚项,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如正则化项可以是模型参数向量的范数
  • 形式: 以下第一项是经验风险,第二项是正则化项, λ0 为调整两者之间关系的系数
    这里写图片描述
    在回归问题中,损失函数是平方损失,正则化项是参数向量的 L2范数
    这里写图片描述

  • 正则化项符合奥卡姆剃刀原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率

交叉验证

  • 若给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型
  • 若数据集是不足的,可以采用交叉验证方法,其基本思想是重复地使用数据,把给定的数据进行切分,将切分的数据组合为训练集个测试集,在此基础上反复地进行训练、测试以及模型的选择
  • 简单交叉验证:首先随机地将已给数据分为训练集和测试集两部分(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型

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

  • 留-交叉验证:S 折交叉验证的特殊情况是 S=N,称为留-交叉验证,往往在数据缺乏的情况下使用,这里 N 是给定数据集的容量

泛化能力

  • 学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力,现实中采用最多的办法是通过测试误差来评价学习方法的能力。但这种评价是依赖于测试数据集的,因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。
  • 泛化误差反应了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效,事实上,泛化误差就是所学到的模型的期望风险

生成模型与判别模型

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

    这里写图片描述

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

  • 判别方法由数据直接学习决策函数 f(X) 或者条件概率分布 P(Y|X) 作为预测的模型,即判别模型。判别关心的是对给定的输入 X ,应该预测什么样的输出 Y 。典型的判别模型包括: k 近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
  • 生成方法的特点:生成方法可还原出联合概率分布 P(X,Y),而判别方法则不能;生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用
  • 判别方法的特点:判别方法直接学习的是条件概率或决策函数,直接面对预测,往往学习的准确率更高;由于直接学习条件概率或决策函数,可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题

分类问题

  1. 定义:当输出变量 Y 取有限个离散值,而输入变量没有限制时,预测问题就成为了分类问题。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类。可能的输出称为,分类问题包括学习分类两个过程。
  2. 评价分类器性能的指标一般是分类准确率,其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比,也就是损失函数是0-1损失时测试数据集上的准确率
  3. 二类分类问题的评价指标是精确度与召回率,通常以关注的类为正类,其他类为负类,以下4种情况出现的总数分别记作:

    • TP —— 将正类预测为正类数
    • FN—— 将正类预测为负类数
    • FP —— 将负类预测为正类数
    • TN—— 将负类预测为负类数
  4. 精确率定义为:P=TPTP+FP
    召回率定义为:R=TPTP+FN
    此外还有F1值,是精确率和召回率的调和均值,即
    2F=1P+1R
    F1=2TP2TP+FP+FN
    精确率和召回率都很高时,F1值也会高
  5. 应用场景:k 近邻法、感知机、朴素贝叶斯、决策树、决策列表、逻辑斯谛回归模型、支持向量机、提升方法、贝叶斯网络、神经网络、Winnow等

标注问题

  1. 可以认为标注问题是分类问题的一个推广,而标注问题又是更复杂的结构预测问题的简单形式。标注问题的目标是学习一个模型,使它能够对观测序列给出标记序列作为预测。注意,可能的标记个数是有限的,但其组合所成的标记序列的个数是依序列长度呈指数级增长
  2. 评价标注模型的指标与评价分类模型的指标一样,常用的有标注准确率、精确率和召回率,其定义与分类模型相同
  3. 应用场景:隐马尔可夫模型、条件随机场、信息抽取、自然语言处理

回归问题

  • 回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据
  • 回归问题按照输入变量的个数,分为一元回归和多元回归;按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归
  • 回归学习最常用的损失函数是平方损失函数,再次情况下,回归问题可以由著名的最小二乘法求解
0 0
原创粉丝点击