经验风险最小化、结构风险最小化、极大似然估计、最大后验概率估计...||《统计学习方法》李航_第1章_蓝皮(学习笔记)

本文主要是介绍经验风险最小化、结构风险最小化、极大似然估计、最大后验概率估计...||《统计学习方法》李航_第1章_蓝皮(学习笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第1章 统计学习方法概论

  • 监督学习
  • 统计学习三要素
    • 模型
    • 策略(经验风险和结构经验风险)
  • 判别模型与生成模型
  • 补充(含课后作业)
    • MLE、MAP和贝叶斯估计
    • 证明经验风险最小化等价于极大似然估计(在特定条件下)
    • 证明结构风险最小化与最大后验概率等价(在特定条件下)
    • 贝叶斯估计

挑重点记录一下。

监督学习

监督学习有一个重要的假设:设输入的随机变量 X X X Y Y Y遵循联合概率分布 P ( X , Y ) P\left( {X,Y} \right) P(X,Y),所有数据是独立同分布的。

统计学习三要素

包括模型、策略、算法(书中算法没有细讲)

模型

在监督学习过程中,模型是要学习的条件概率分布或者决策函数。模型的假设空间记为 F \mathcal F F

  1. 假设空间包括决策函数的集合: F \mathcal F F = { f ∣ Y = f ( X ) } \{ \it f \ | \ Y=\it f (X)\} {f  Y=f(X)}
    F \mathcal F F 通常是有参数 θ \theta θ决定的: F \mathcal F F = { f ∣ Y = f θ ( X ) , θ ∈ R n } \{ \it f\ |\ Y=\it f_\theta (X),\theta \in \bf R^n \} {f  Y=fθ(X),θRn}
  2. 假设空间是条件概率的集合: F \mathcal F F = { P ∣ P ( Y ∣ X ) } \{P\ |\ P ( Y|X ) \} {P  P(YX)}
    F \mathcal F F 通常是有参数 θ \theta θ决定的: F \mathcal F F = { P ∣ P θ ( Y ∣ X ) , θ ∈ R n } \{P\ |\ P_\theta ( Y|X ), \theta \in \bf R^n \} {P  Pθ(YX),θRn}

策略(经验风险和结构经验风险)

有了模型,就要考虑按照什么准则学习,或者如何选择最优模型

  1. 损失函数和风险函数
    ●损失函数一般指衡量预测值 f ( X ) \it f (X) f(X)和真实 Y Y Y之间差异,常用的有:
    (1)平方误差: L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y, \it f(X)) = (Y - \it f (X))^2 L(Y,f(X))=(Yf(X))2
    (2)对数似然函数: L ( Y , f ( X ) ) = − l o g P ( Y ∣ X ) L(Y, \it f(X)) = -log P(Y | X) L(Y,f(X))=logP(YX)
    ●风险函数指理论上模型 f ( X ) \it f (X) f(X)关于 P ( X , Y ) P( X,Y ) P(X,Y)的期望:
    R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] R_{exp} (f) = E_p[L(Y, \it f(X)) ] Rexp(f)=Ep[L(Y,f(X))] = ∫ x , y L ( y , f ( x ) ) P ( x , y ) d x d y \int_{x,y}^{}\ {L(y, \it f(x))P( x,y )}\ dxdy x,y L(y,f(x))P(x,y) dxdy
    然而,我们没有那么多数据,所以引出了:

  2. 经验风险和结构经验风险
    ●经验风险就是在给定的N个数据 ( x i , y i ) , i ∈ { 1... N } (x_i,y_i),i \in \{1...N\} (xi,yi),i{1...N}情况下,利用大数定律,用经验风险逼近期望风险,公式如下:
    R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f) = \frac {1} {N} \sum_{i=1}^{N} {L(y_i, \it f(x_i))} Remp(f)=N1i=1NL(yi,f(xi))
    但是由于样本不多,所以引入结构风险:
    ●结构风险是为了防止过拟合(在样本数量不足但参数过多时容易过拟合,公式如下:
    R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f) = \frac {1} {N} \sum_{i=1}^{N} {L(y_i, \it f(x_i))} \ +\ \lambda J(\it f) Rsrm(f)=N1i=1NL(yi,f(xi)) + λJ(f)
    J ( f ) J(\it f) J(f)是复杂度,模型越复杂, J ( f ) J(\it f) J(f)就越大,也就是说复杂度表示了对复杂模型的惩罚。

因此我们的策略就是求解最小化经验风险或者结构风险:
min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min \limits_{\it f \in \mathcal F} \ \frac {1} {N} \sum_{i=1}^{N} {L(y_i, \it f(x_i))} \ +\ \lambda J(\it f) fFmin N1i=1NL(yi,f(xi)) + λJ(f)

另外,
当 模 型 是 条 件 概 率 分 布 , 损 失 函 数 是 负 对 数 函 数 时 , 经 验 风 险 最 小 化 等 价 于 极 大 似 然 估 计 ( M L E ) ; \color{Red}{当模型是条件概率分布,损失函数是负对数函数时,经验风险最小化等价于极大似然估计(MLE);} MLE
结 构 风 险 最 小 化 等 价 于 最 大 后 验 概 率 估 计 ( M A P ) \color{Red}{结构风险最小化等价于最大后验概率估计(MAP)} MAP . . . . . . . . 后面会证明。

判别模型与生成模型

  1. 生成方法
    由数据学习得到联合概率分布 P ( X , Y ) P\left( {X,Y} \right) P(X,Y),然后求出条件概率分布 P ( Y ∣ X ) P(Y | X) P(YX)
    主要模型有:朴素贝叶斯模型和隐马尔可夫模型,比较难。
  2. 判别方法
    由数据直接学习 P ( Y ∣ X ) P(Y | X) P(YX)或者判别函数 f ( X ) \it f (X) f(X)
    主要模型有:k近邻、感知器、决策树、逻辑回归、最大熵模型、SVM、条件随机场等。


补充(含课后作业)

先介绍一下极大似然估计、最大后验概率估计以及贝叶斯估计(每次看见这几个都有点恍惚,这次要全部弄懂!)

MLE、MAP和贝叶斯估计

首先弄明白估计是在估计什么:三种估计都是对概率分布的参数进行求解,比如高斯分布的均值 μ \mu μ、方差 σ \sigma σ或者伯努利分布的概率 p p p,以上所有都用 θ \theta θ代替。
也就是说,我们可能有一堆数据,知道 P ( X ∣ θ ) P(X|\theta) P(Xθ)(求参数),其中 θ \theta θ是变量,那怎么求(找策略),所以有三种策略,极大似然估计、MAP和贝叶斯估计。

因为经常搞不清条件概率和似然函数的区别,所以查了很多资料,下面这个理解感觉能解释得通:

对于这个函数: P(x|θ)
P(x|θ) 输入有两个:x表示某一个具体的数据;θ表示模型的参数。
如果θ是已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。
如果x是已知确定的,θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。

举例(作业题):求N次独立伯努利实验下,结果中有k次的结果为1(说明所有x已知),估计结果为1的概率(求参数)。
其中伯努利分布是一个0-1分布,即P(x=1)=θ, P(x=0)=1-θ;
对应的似然就是P(x=1 | θ)=θ, P(x=0 | θ)=1-θ;(注意是小写x)

证明经验风险最小化等价于极大似然估计(在特定条件下)

1. 极大似然估计
所以依据所有实验数据, 似 然 函 数 等 于 所 有 似 然 概 率 的 乘 积 \color{Red}{似然函数等于所有似然概率的乘积} (一般都是这样定义),加上我们独立同分布的假设,得到似然函数(注意我们求解的依然是条件概率):
L ( θ ∣ X ) = P ( X ∣ θ ) = ∏ i = 1 N P ( x i ∣ θ ) L(\theta | X)=P(X|\theta) = \prod_{i=1}^{N}{P(x_i|\theta)} L(θX)=P(Xθ)=i=1NP(xiθ)
我们一般写成对数形式,方便求解,即,
L ( θ ∣ X ) = ∑ i = 1 N l n P ( x i ∣ θ ) L(\theta | X)= \sum_{i=1}^{N}{lnP(x_i|\theta)} L(θX)=i=1NlnP(xiθ)
极大似然估计,就是求使得似然函数概率最大的值,则我们得到优化函数:
max ⁡ θ L ( θ ∣ X ) = max ⁡ θ ∑ i = 1 N l n P ( x i ∣ θ ) \max \limits_{\theta} L(\theta | X)=\max \limits_{\theta} \sum_{i=1}^{N}{lnP(x_i|\theta)} θmaxL(θX)=θmaxi=1NlnP(xiθ)
取负对数:
min ⁡ θ L ( θ ∣ X ) = min ⁡ θ ∑ i = 1 N − l n P ( x i ∣ θ ) \min \limits_{\theta} L(\theta | X)=\min \limits_{\theta} \sum_{i=1}^{N}{-lnP(x_i|\theta)} θminL(θX)=θmini=1NlnP(xiθ)
比较经验风险最小化: min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \min \limits_{\it f \in \mathcal F} \ \frac {1} {N} \sum_{i=1}^{N} {L(y_i, \it f(x_i))} fFmin N1i=1NL(yi,f(xi))
可 以 看 到 极 大 似 然 估 计 取 负 对 数 时 与 经 验 风 险 最 小 化 等 价 \color{Red}{可以看到极大似然估计取负对数时与经验风险最小化等价}
求解的算法就是求导,另导数为0即可得到最优 θ ∗ \theta^* θ

得到 θ \theta θ的目的也是为了预测,我们的最终目的是去预测新事件基于这个参数下发生的概率:
图1
因为是估计值,所以是约等于


因此,带入作业可以得到
L ( θ ) = ∏ i = 1 N P ( x i ∣ θ ) = θ k ( 1 − θ ) N − k L(\theta) = \prod_{i=1}^{N}{P(x_i|\theta)} = {\theta}^k {(1-\theta)}^{N-k} L(θ)=i=1NP(xiθ)=θk(1θ)Nk
对数形式为
L ( θ ∣ X ) = ∑ i = 1 N l n P ( x i ∣ θ ) = l n θ k ( 1 − θ ) N − k L(\theta | X)= \sum_{i=1}^{N}{lnP(x_i|\theta)} = ln {\theta}^k {(1-\theta)}^{N-k} L(θX)=i=1NlnP(xiθ)=lnθk(1θ)Nk
求导赋0得
k l n θ + ( N − k ) l n ( 1 − θ ) = 0 kln\theta + (N-k)ln(1-\theta)=0 klnθ+(Nk)ln(1θ)=0
解得
θ ∗ = k N \theta^* = \frac{k}{N} θ=Nk


可以看出,极大似然估计以实验中概率大的结果,没有考虑先验信息等。因此提出最大后验概率策略。

证明结构风险最小化与最大后验概率等价(在特定条件下)

2.最大后验概率估计
最大后验概率引入了参数的先验概率,根据贝叶斯公式,后验概率为:

P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) / P ( X ) P(\theta|X)= {P(X|\theta) P(\theta)}/{P(X)} P(θX)=P(Xθ)P(θ)/P(X),但在一个实验中,如N次伯努利实验,正反面的概率已知,所以 P ( X ) P(X) P(X)是已知的。因此我们可以认为最大后验概率是求 P ( X ∣ θ ) P ( θ ) P(X|\theta)P(\theta) P(Xθ)P(θ)最大。
此时的似然函数为:
L ( θ ∣ X ) = P ( θ ∣ X ) ∝ ∏ i = 1 N P ( x i ∣ θ ) P ( θ ) L(\theta | X)=P(\theta|X) \propto \prod_{i=1}^{N}{P(x_i|\theta)P(\theta)} L(θX)=P(θX)i=1NP(xiθ)P(θ)
对数形式为:
L ( θ ∣ X ) = ∑ i = 1 N l n P ( x i ∣ θ ) + l n P ( θ ) L(\theta | X)= \sum_{i=1}^{N}{lnP(x_i|\theta)+lnP(\theta)} L(θX)=i=1NlnP(xiθ)+lnP(θ)
优化函数:
max ⁡ θ L ( θ ∣ X ) = max ⁡ θ ∑ i = 1 N l n P ( x i ∣ θ ) + l n P ( θ ) \max \limits_{\theta} L(\theta | X)=\max \limits_{\theta} \sum_{i=1}^{N}{lnP(x_i|\theta) + lnP(\theta)} θmaxL(θX)=θmaxi=1NlnP(xiθ)+lnP(θ)
取负对数:
min ⁡ θ L ( θ ∣ X ) = min ⁡ θ − { ∑ i = 1 N l n P ( x i ∣ θ ) + l n P ( θ ) \min \limits_{\theta} L(\theta | X)=\min \limits_{\theta}- \{\sum_{i=1}^{N}{lnP(x_i|\theta) + lnP(\theta)} θminL(θX)=θmin{i=1NlnP(xiθ)+lnP(θ)}
比较结构风险最小化:
min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min \limits_{\it f \in \mathcal F} \ \frac {1} {N} \sum_{i=1}^{N} {L(y_i, \it f(x_i))} \ +\ \lambda J(\it f) fFmin N1i=1NL(yi,f(xi)) + λJ(f)
可 以 看 到 最 大 后 验 概 率 估 计 取 负 对 数 时 与 结 构 风 险 最 小 化 等 价 \color{Red}{可以看到最大后验概率估计取负对数时与结构风险最小化等价}

求解的算法还是求导,得到一个最优 θ ∗ \theta^* θ

求出参数值之后,当然接下来就要预测了,
在这里插入图片描述
因为是估计值,所以是约等于

贝叶斯估计

完全参考贝叶斯估计
总结一下就是,不求 θ \theta θ,求出后验分布出来

在这里插入图片描述


其他参考:
https://blog.csdn.net/u011508640/article/details/72815981
https://blog.csdn.net/u013884727/article/details/23544633

这篇关于经验风险最小化、结构风险最小化、极大似然估计、最大后验概率估计...||《统计学习方法》李航_第1章_蓝皮(学习笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/168512

相关文章

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

Pandas进行周期与时间戳转换的方法

《Pandas进行周期与时间戳转换的方法》本教程将深入讲解如何在pandas中使用to_period()和to_timestamp()方法,完成时间戳与周期之间的转换,并结合实际应用场景展示这些方法的... 目录to_period() 时间戳转周期基本操作应用示例to_timestamp() 周期转时间戳基

在 PyQt 加载 UI 三种常见方法

《在PyQt加载UI三种常见方法》在PyQt中,加载UI文件通常指的是使用QtDesigner设计的.ui文件,并将其转换为Python代码,以便在PyQt应用程序中使用,这篇文章给大家介绍在... 目录方法一:使用 uic 模块动态加载 (不推荐用于大型项目)方法二:将 UI 文件编译为 python 模

Python将字库文件打包成可执行文件的常见方法

《Python将字库文件打包成可执行文件的常见方法》在Python打包时,如果你想将字库文件一起打包成一个可执行文件,有几种常见的方法,具体取决于你使用的打包工具,下面就跟随小编一起了解下具体的实现方... 目录使用 PyInstaller基本方法 - 使用 --add-data 参数使用 spec 文件(