美文网首页R语言与统计分析
第一章 统计学习方法概论

第一章 统计学习方法概论

作者: 毛毛虫_wendy | 来源:发表于2018-08-12 17:00 被阅读243次

    Class Content
    layout post
    title 第一章 统计学习方法概论
    categories Course
    description: 李航 《统计学习方法》的学习, 主要介绍基本概念,详细叙述了监督学习,提出统计学习的三要素:模型\策略\算法,另外还介绍了模型选择:包括正则化\交叉验证与学习的泛化能力,此外还介绍了生成模型和判别模型.
    keywords 监督学习 模型三要素 模型选择 生成模型 判别模型

    1.1 统计学习

    a. ~概念:

    又叫统计机器学习,人们提到的机器学习往往指统计机器学习, 它是利用计算机对数据构建的概论统计模型,并运行模型对新的数据进行预测和分析

    b. ~特点:
    (1)平台[计算机及网络] ;
    (2)对象:数据;
    (3)目的:分析和预测;
    (4)中心:统计学习方法;
    (5)多领域交叉[概率论\统计学\信息论\最优化\计算理论\计算机科学等]

    c. ~前提假设:

    同一类数据具有一定的统计规律性[因为它具有统计规律,所以可以用概率统计的方法进行处理,eg 用随机变量描述数据的特征,概论分布描述数据的统计规律]

    d. ~方法:

    统计学习方法可以分为: 监督学习\非监督学习\半监督学习\强化学习等

    e. 统计学习方法三要素:

    方法 = 模型+策略+算法

    模型: 这里不再赘述
    策略: 按照什么准则学习或者选择最优模型,引用了损失函数(loss function)与风险函数(risk function),详细介绍见博文《详解机器学习中的损失函数和风险函数》.
    算法:学习模型的具体计算方法,根据学习策略从假设空间中选择最优模型,最后需要考虑用什么方法计算最优模型,转化为最优化问题,可能出现有显式的解析解,也可能需要用数值计算的方法进行求解.

    注: 假设训练集和测试集数据是独立同分布产生的

    f. ~步骤:

    • 得到一个有限的训练数据集合;
    • 确定包含所有可能的模型的假设空间,即学习模型的集合;
    • 确定模型选择的准则,即学习的策略;
    • 实现求解最优模型的算法,即学习的算法;
    • 通过学习选择最优模型;
    • 利用学习的最优模型对新数据进行分析和预测.

    g. ~重要性 : 统计学习是处理海量数据最强有力的工具,是计算机智能化的有效手段.


    1.2 监督学习

    a. 监督学习概念:

    是统计学习的方法之一, 它是学习一个模型,使得模型能对任意给定的输入,对其相应的输出做出一个好的预测. [最好的判断方式是看它是否有标签]

    b. 输入空间\特征空间\输出空间:

    输入与输出所有可能的取值的集合称为输入空间与输出空间,通常输出空间小于输入空间.特征空间表示所有特征存在的空间,而模型实际上是定义在特征空间上的.

    c.训练集和测试集的表示:

    X表示输入随机变量,Y表示输出随机变量,xy是定义在输入和输出空间上随机变量的取值.
    训练集: Train=\lbrace(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\rbrace
    测试集: Test=\lbrace(x_{1}^*,y_{1}^*),(x_{2}^*,y_{2}^*),...,(x_{n}^*,y_{n}^*)\rbrace
    输入和输出对又称为样本或样本点

    d. 不同预测任务的名称:

    输入变量和输出变量均为连续的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量和输出变量均为变量序列的预测问题被称为标注问题.

    注: 对于标注问题,目前还没有做过类似的项目,初步理解如下:
    标注问题:

    • 输入序列: x_i = (x_{i}^{(1)},x_{i}^{(2)},...,x_{i}^{(n)})^T ,i = 1,...,N
    • 输出标记序列: y_i = (y_{i}^{(1)},y_{i}^{(2)},...,y_{i}^{(n)})^T ,i = 1,...,N
      其中n为序列长度,不同的样本可以有不同的长度
    • 条件概率分布为:P(Y^{(1)},Y^{(2)},...,Y^{(n)}|X^{(1)},X^{(2)},...,X^{(n)})
    • 评价指标与分类问题的一致
    • 常用的机器学习方法:隐马尔可夫模型\条件随机场等
    • 应用场景:eg 自然语言词性标注.

    e. 监督学习的基本假设: 监督学习假设输入和输出的随机变量XY遵循联合概率分布P(X,Y),训练集和测试集被看做上依联合概率分布P(X,Y)独立同分布产生的.

    f. 假设空间:

    是指包含所有可能的模型的集合,以监督学习为例,假设空间包含所有可能的条件概率分布或决策函数, 它是有参数向量决定的函数族或者条件概率分布族,表示为
    \lbrace f|Y=f_\theta(X), \theta\in R^n\rbrace 或者 \lbrace P|P(Y|X)), \theta\in R^n\rbrace

    而模型是输入到输出的映射,,学习的目的是找到最好的模型,所有假设空间就确定了学习范围.而监督学习的模型可以是概率模型(P(Y|X))也可以是非概率模型Y=f(X),所以对于一特定的实例,输出预测为P(y|x)y=f(x).

    g. 监督学习形式化如下:

    1-1 监督学习图

    阐释: 监督学习假设训练集和测试集都是依联合概率分布P(X,Y)独立同分布产生的.从训练集出发,学习系统先训练数据, 应用某个评价准则从假设空间里选择最佳的模型,使得模型对训练数据和新数据在给定的评价准则下有最优的预测,学习到的模型表示为P(Y|X)或者Y=f(X),所以在预测过程,给定输入x_{(n+1)},由模型得到y_{(n+1)}^*


    1.3 模型评估与模型选择

    a. 训练误差\测试误差\泛化误差的概念:

    统计学习不仅要对训练数据有较好的拟合效果,还要对未知数据有较好的泛化能力. 对于给定的损失函数,基于损失函数的模型的训练误差[针对训练集]和模型的测试误差[针对测试集]是学习方法的评估标准. 测试误差反映模型对未知数据的预测能力,测试误差越小,预测能力,即泛化能力越强.

    注: 1. 学习所采用的损失函数可以与预测采用的损失函数不同,但是一般是一致的.

    • 训练误差:R_{exp}(f) = \frac {1}{N}\sum_{i=1}^{N} L(y_i,y_i^*)
      训练误差为模型Y=f(X)关于训练集的平均损失,N为训练样本容量
    • 测试误差: R_{test}(f) = \frac {1}{N^{'}}\sum_{i=1}^{N^{'}} L(y_i,y_i^*)
      测试误差为模型Y=f(X)关于测试集的平均损失,N^{'}为训练样本容量
    • 泛化误差: 泛化能力是指对未知数据的预测能力,而泛化误差反映了学习方法的泛化能力,泛化误差越小,方法越有效, 它实际上就是模型的期望风险,可以表示为R_{exp}(f) = E_p[L(Y.f(X))]=\int_{X \times Y}L(y,f(x))P(x,y)

    举例说明
    当损失函数为0-1损失时,测试误差为 e_{test} = \frac {1}{N^{'}}\sum_{i=1}^{N^{'}} I(y_i \neq y_i^*) 其中I为指示函数,即y_i \neq y_i^*为1,否则为0.
    相应地,测试集上的准确率为 1-e_{test}

    b. 过拟合和模型选择

    • 模型选择: 由于假设空间含有不同复杂度的模型,模型选择的目的是选择尽可能最优的模型去逼近真模型.
    • 过拟合: 为了追求训练集的预测能力,提高模型的复杂度[主要是模型包含过多参数],从而导致模型对训练集预测效果很好,对未知数据泛化能力很差.

    举例说明:多项式曲线拟合
    给定一组训练集,表示为T =\lbrace(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\rbrace, 对训练集我用下面的多项式进行拟合:
    y^*(x,w)= w_0+w_1x+w_2x^2+...+w_Mx^M= \sum_{j=0}^Mw_j^{x_j}
    L(w)=\frac{1}{2}\sum_{n=1}^N\lbrace(y^*(x_n,w)-y_n)\rbrace^2
    其中y^*(x_n,w)是模型预测结果,y^n为原始的正确结果,通过最小二乘法可以求得拟合的多项式系数的唯一解.

    拟合结果如(图1-2),图中给出了M=0,1,3,9的拟合效果,可以看出,当M=0时,多项式曲线是常数,拟合效果很差,M=1时,多项式曲线为直线,拟合效果依然很差,相反M=9,多项式曲线拟合了所以点.对于M=0和3的情况下,表现为欠拟合(即拟合不够), 而M=9为过拟合现象.


    1-2 不同阶数的多项式曲线,⽤红⾊曲线表⽰

    那么再看一下此时的训练误差和测试误差与模型复杂度关系如(图1-3),随着模型复杂度增加,训练误差和测试误差都先降低,但是随着复杂度变得更高的时候,训练误差变得更小甚至趋近于0,而测试误差陡然上升,此时出现了过拟合现象,模型对训练集过拟合,而对未知数据泛化能力下降.

    1-3 预测误差与模型复杂度关系
    另外,我们在看一下参数与模型复杂度的关系, 随着模型复杂度增加 1-4 参数与模型复杂度关系

    问题来了,那么如何防止过拟合呢?

    • 1. 增加训练集
      对于多项式曲线拟合的例子,通过增加训练集数量可以有效减缓过拟合, 可以看出N=15时,模型拟合效果很好,而增加数据,模型难以将每一个数据的都拟合到,所以增加训练集数量可以有效防止过拟合.

      1-5 增加数据集减缓过拟合
    • 2. 正则化
      正则化是指在经验风险的基础上加上正则化项,正则化项可以取不同的形式,可以是参数向量的L_2范数,也可以是L_1范数,但是一般来说,正则化项是模型复杂度单调递增函数
      L(w)=\frac{1}{2}\sum_{n=1}^N\lbrace(y^*(x_n,w)-y_n)\rbrace^2+\frac{\lambda}{2}||w||^2
      其中,公式前一部分是经验风险,公式后一部分\frac{\lambda}{2}||w||^2是正则化项,||w||^2= w^Tw=w_0^2+w_1^2+...+w_M^2,通常,系数w_0从正则化项中省略,因为包含w_0会使得结果依赖于⽬标变量原点的选择,
      (Hastie et al., 2001), 而\lambda的作用是调节经验风险和正则化项关系的系数,而正则化的作用是选择经验风险和模型复杂度都较小的模型
      下图是M=9的模型,利用正则抑制过拟合的例子,图左通过加入正则化项,于\ln\lambda = −18,过拟合现象被压制,而图右\lambda过大未能调节好经验风险和正则化项关系,模型拟合效果也差.

      1-6 M=9正则抑制过拟合
      ⽤M = 9的多项式拟合,拟合的多项式的对应的系数在表1.7中给出,表明正则
      化在减⼩系数的值⽅⾯产⽣了预期的效果.
      1-7 λ控制参数
      但是\lambda该取值多少呢?
      可以从下图1-8看出,\lambda控制了模型的复杂性,因此决定了过拟合的程度.
      1-8. 不同λ训练误差和测试误差的变化
      总结: 在损失函数中加入正则项可以有效避免过拟合,而正则项的\lambda决定了过拟合程度,因为起为高参,需要做参数实验取得最佳值.而从贝叶斯估计的角度看,正则化项对应于模型的先验概率,复杂的模型先验概率小,简单的模型先验概率大.
    • 3. 交叉验证
      交叉验证的基本思想是重复使用数据,把给定的数据切分成为训练集和测试集,在此基础上反复进行训练]测试以及模型选择.
      详细的交叉验证方法以及如何交叉验证见博客《简述交叉验证》


    1.4 生成模型和判别模型

    监督学习模型可以分为两种:生成模型(generative model)和判别模型(discriminative model).

    • 生成模型:由于模型给定了输入X和输出Y的关系,所以学习到联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测,eg 朴素贝叶斯\隐马尔可夫模型.
      生成模型表示为:P(Y|X)=\frac{P(X,Y)}{P(X)}
    • 判别模型:由数据直接学出决策函数f(X)或者条件概率分布P(Y|X),只关心给定输入X预测输出Y,eg.K-近邻\感知机\决策树\最大熵\SVM等.

    总结

    本章主要介绍了机器学习的基本概念,详细讲解了监督学习,训练误差\预测误差\泛化误差,生成模型和判别模型等,文章框架依据李航《统计学习方法》第一章而来,准备地说,是自己对其的归纳和简述,同时举例参考bishop的经典《模式识别和机器学习》书籍.

    如有疑问,联系:dengwenjun818@gmail.com

    相关文章

      网友评论

        本文标题:第一章 统计学习方法概论

        本文链接:https://www.haomeiwen.com/subject/nrusbftx.html