经验风险最小化、结构风险最小化、极大似然估计、最大后验概率估计...||《统计学习方法》李航_第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

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu