zoukankan      html  css  js  c++  java
  • 第一章-统计学习方法概论

    统计学习

    统计学习是关于计算机 基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。总的来说,统计学习也称为统计机器学习。

    统计学习的特点
    • 以计算机以及网络为平台;

    • 以数据为对象,是数据驱动的学科;

    • 目的是对数据进行预测和分析;

    • 以方法为中心,构建模型并应用模型进行预测和分析;

    • 是概率论、统计学、信息论、计算理论、最优化理论以及计算机科学等多个领域的交叉学科,具有独立的理论体系和方法论。

    统计学习的对象

    统计学习的对象是数据(Data).从数据出发,提取数据特征,抽象出数学模型,发现数学中的知识,又回到对数据分析和预测中去。数据是多样的,包括存在计算机上的一些数字、图片、音频等。

    统计学习的方法
    方法
    • 监督学习:监督学习的任务就是学习一个模型,使得模型能够对任意给定的输入,对其相应的输出做出一个好的预测。

    • 非监督学习

    • 半监督学习

    • 强化学习

    统计学习三要素

    • 模型——Model

    • 策略——Strategy

    • 算法——Algorithm

    模型

    统计学习首要考虑的问题就是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或者决策函数。模型的假设空间包含所有可能条件概率分布或者决策函数。

    策略

    1.损失函数和风险函数

    监督学习问题实在假设空间中选取模型作为决策函数,对于给定的输入X,由函数给出相应的输出Y,这个输出的值可能和预测值不一样。用一个损失函数或者代价函数来度量预测的错误的程度。统计学习常用的损失函数有如下几种:

    • 0-1损失函数

      [L(Y,f(X)) = left{ egin{aligned} 1 & , & Y eq f(X) \ 0 & , & Y = f(X) end{aligned} ight. ]

    • 平方损失函数

      [L(Y,f(X)) =(Y-f(X))^2 ]

    • 绝对损失函数

      [L(Y,f(X)) = | Y - f(X)| ]

    • 对数损失函数或者对数似然损失函数

      [L(Y,f(X)) = -lg P(Y|X) ]

      损失函数值越小,说明模型越好。由于模型的输入、输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是:

      [R_{exp}(f) = E_p[L(Y,f(X))]=int_{x imes y} L(y,f(x))P(x,y)dxdy ]

      这称为风险函数或者期望损失(Expected Loss)。但是在实际情况下,由于联合分布P(X,Y)是未知的,期望损失还是难以计算的。此时需要计算经验风险,也即是模型关于选练级的平均损失,当样本容量趋于无穷大时,经验风险时趋近于期望风险。实际上,这也是统计学习方法中的两种策略:经验风险最小化和结构风险最小化。

      经验风险最小化和结构最小化

      经验风险最小化(empirical risk minimization,ERM)策略表示经验风险最小的模型是最优的模型。即:

      [min limits_{f epsilon F} frac{1}{N} sum^N_{i=1} L(y_i,f(x_i)) ]

      当样本容量较大时,经验风险最小化能提供一个很好的效果,但是当样本容量过小时,模型容易出现“过拟合”的现象。此时需要考虑结构风险最小化(structural risk minimization,SRM),它是为了防止过拟合而提出来的策略。结构风险最小化等于正则化。结构风险需要在经验风险上再加上正则化项或者惩罚项,可定义如下:

      [经验风险: R_{emp}(f)= frac{1}{N} sum^N_{i=1} L(y_i,f(x_i)) \ 结构风险: R_{srm}(f) = frac{1}{N} sum^N_{i=1} L(y_i,f(x_i)) + lambda J(f) ]

      其中J(f)表示模型的复杂度。复杂度表示了对复杂模型的惩罚。如贝叶斯估计就是最好的结构最小化策略的例子。

      最终的问题编程求解最优解问题:

      [min limits_{f epsilon F} frac{1}{N} sum^N_{i=1} L(y_i,f(x_i)) + lambda J(f) ]

    算法

    算法是指学习模型的具体计算的方法。

    模型的评估和选择

    训练误差和测试误差

    训练误差的大小反应的是判断给定的问题是不是一个容易学习的问题是有意义的,测试误差反映了学习方法对未知的测试数据集的预测能力。测试误差小的方法具有更好的预测的能力,通常将学习方法对未知数据的预测能力称为泛化能力。

    过拟合

    当所选的模型的复杂度比真模型更高,这种现象称为过拟合。过拟合表示学习时选择的模型包含的参数过多,以至于出现这一模型对已知数据预测得更好,但对未知测试数据得预测能力差。此时采取的策略可以是使用正则化等。

    模型选择的方法:正则化与交叉验证
    • 模型选择得典型方法是正则化。正则化是结构风险最小化策略得实现。

    • 交叉验证

      • 简单交叉验证

      • S折交叉验证

      • 留一交叉验证:S折交叉验证的特殊情形。

    泛化能力

    如果学到的模型是f,那么这个模型对未知数据预测的误差是:

    [R_{exp}(f) = E_p[L(Y,f(X))]=int_{x imes y} L(y,f(x))P(x,y)dxdy ]

    泛化误差反映了学习方法的泛化能力。实际上,泛化误差也是期望误差。

    泛化误差上界

    学习方法的泛化能力往往是通过分析研究泛化误差的概率上界进行的,简称为泛化误差上界。

    定理:对于而分类问题,当假设空间是有限个函数的集合F={f1,f2,...fd}时,对任意一个函数f属于F,至少满足以下不等式:

    [R(f) leq overline {R}(f) + varepsilon(d,N,delta) \ 其中,varepsilon(d,N,delta)= sqrt{frac{1}{2N}(lg d+ lg frac{1}{delta})} ]

    右边式子中第一项是训练误差,训练误差越小,泛化误差也就越小。第2项是单调递减函数,当N趋于无穷时趋于0.

    证明过程如下:

    [提示:在证明过程中需要用到Hoeffding不等式。\ Hoeffding不等式描述如下:\ 设S_n=sum_{i=1}Xi 是随机变量X_1、X_2、...X_n之和,X_i epsilon[a_i,b_i],则对任意t>0,以下不等式成立:\ P(S_n-ES_n geq t)leq exp(frac{-2t^2}{sum_{i=1}(b_i - a_i)})\ P(ES_n-S_n geq t)leq exp(frac{-2t^2}{sum_{i=1}(b_i - a_i)})\ 对于任意函数f epsilon F,overline {R}(f)是N个独立随机变量L(Y,f(X))的样本均值,R(f)是随机变量值的期望值。\ 对于样本空间中的所有随机变量,\ ecause S_n = X_1 + X_2+...X_n,overline{X}=frac{1}{N}S_n,ES_n=E(sum_{i=1} Xi) \ herefore E(overline{X})= frac{1}{N}ES_n\ herefore P(overline{X_n}-E(overline{X_n})geq t)=P(S_n-ES_n geq nt) leq exp(frac{-2t^2}{sum_{i=1}(b_i - a_i)})\ 即:P(overline{X_n}-E(overline{X_n})geq t)=P(S_n-ES_n geq nt) leq exp(frac{-2n^2t^2}{sum_{i=1}(b_i - a_i)})\ 对于二分类任务,在样本空间中:\ R(f)= E[L(Y,f(X))]代表着期望风险,表示备选模型在测试集上的表现\ overline{R}(f)=frac{1}{N}sum^n_{i=1}L(y_i,f(x_i)),代表经验风险,表示着备选模型在训练集上的表现\ ecause 损失函数取值于[0,1],即对所有i,[a_i,b_i]=[0,1]。\ herefore P(overline{X_n}-E(overline{X_n})geq t)\ =P(S_n-ES_n geq nt)\ leq exp(frac{-2n^2t^2}{sum_{i=1}(b_i - a_i)}) = exp(frac{-2n^2t^2}{n})=exp(-2nt^2)\ herefore 对于 forall varepsilon > 0,以下满足:\ P(R(f)-overline{R}(f) geq varepsilon) leq exp(-2nvarepsilon ^2)\ ecause 命题是对任意一个函数f属于F,至少都有概率1-delta满足不等式成立\ herefore 对于d个备选模型,有P(exists f in F,P(R(f)-overline{R}(f) geq varepsilon)\ = P(R(f_1)-overline{R}(f_1) geq varepsilon igcup R(f_2)-overline{R}(f_2) geq varepsilon ... igcup R(f_n)-overline{R}(f_n) geq varepsilon) \ leq sum_{i=1}^d P(R(f_i)-overline{R}(f_i) geq varepsilon)\ leq d exp(-2nvarepsilon ^2)\ herefore 原命题满足:P(forall f in F,P(R(f)-overline{R}(f) leq varepsilon) geq 1-d exp(-2nvarepsilon ^2)\ 令1-d exp(-2nvarepsilon ^2)=delta,则varepsilon=varepsilon(d,n,delta)= sqrt{frac{1}{2n}(lg d+ lg frac{1}{delta})},\ 其中varepsilon是一个三元组,d是备选模型个数,n是样本数\ 即:上述不等式P(forall f in F,P(R(f)-overline{R}(f) leq varepsilon) geq 1- delta成立 ]

    生成模型和判别模型的区别

    监督学习包括生成模型和判别模型。

    区别

    生成模型:由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型。由给定输入的X产生输出Y。常见模型:朴素贝叶斯法、隐马尔科夫模型。

    [P(Y|X) = frac{P(X,Y)}{P(X)} ]

    判别模型:由数据直接学习方法决策函数F(X)或者条件概率分布P(Y|X)作为预测模型。判别方法关心给定的输入X,应该如何预测如何的模型。常见的判别模型:K近邻方法、感知机、决策树、逻辑回归、最大熵模型、支持向量机、条件随机场等。

    比较
    • 生成方法:

      • 生成方法可以还原出联合概率分布,而判别方法不能。
      • 学习收敛方法更快。
      • 当隐变量存在时,仍可以用生成方法学习,但判别方法不能。
    • 判别方法:

      • 直接学习得是体条件概率分布或者决策函数,直接预测,准确率高;
      • 由于直接学习P(Y|X)或者f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,可以简化学习问题。

    思维导图

  • 相关阅读:
    Tomcat性能优化总结
    shell 服务器监控 cpu 和 java 占用 CPU 脚本
    编写shell时,遇到let: not found错误及解决办法
    Studio 3T 破解 mogodb
    nginx/iptables动态IP黑白名单实现方案
    创业公司这两年
    致所有的开发者们
    如何成为一名全栈开发工程师
    谈谈在创业公司的几点感触
    推荐阅读《赢在下班后》
  • 原文地址:https://www.cnblogs.com/cecilia-2019/p/11322350.html
Copyright © 2011-2022 走看看