最大似然估计(Maximum Likelihood Estimation) - 机器学习基础

本文主要是介绍最大似然估计(Maximum Likelihood Estimation) - 机器学习基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容总结自自花书《deep learning》Chapter 5.5,由英文版翻译而来。英文版官网可以免费查阅:http://www.deeplearningbook.org/

估计器(estimators)从何而来?相较于猜测某个函数可能产生一个好的估计器,然后再分析其偏差和方差,我们更愿意拥有一些原则,可以用来推导针对不同模型的好的估计器的特定函数。

最常用的这种原则就是最大似然原则(maximum likelihood principle)。
在这里插入图片描述在这里插入图片描述
一种对最大似然估计的解释是将其看做是对模型的分布和训练集所定义的实验分布 p ^ d a t a \hat{p}_{data} p^data的差异的最小化。差异的程度使用Kl散度来衡量。
在这里插入图片描述
最小化KL散度恰恰对应于最小化分布之间的交叉熵。很多作者会对伯努利分布和softmax分布的负log似然使用交叉熵这个术语,这实际上是错误使用。任何包含负log似然的loss函数都是训练集定义的实验分布和模型定义的概率分布的交叉熵。例如,MSE是实验分布和高斯模型的交叉熵(原书前面有详细推导过程,证明了最小化高斯模型的交叉熵和最小化MSE是一致的,5.5.1也有一个类型的推导过程。)。

这样我就得到了不管是最大化似然还是最小化KL散度都是在得到最优的 θ \pmb{\theta} θθθ。最大似然这样就变成了最小化负log似然(NLL),或者等价的,交叉熵的最小化。把最大似然看作是KL散度的最小化是非常有帮助的,因为KL散度有一个已知的最小值0,而负log似然实际上在 x \pmb{x} xxx是实数值时可以是负的。

最大似然的性质

最大似然主要的吸引力在于它可以被证明是最好的估计器逼近,当样本数量m趋近于无穷时,它收敛的比率随着m增大而增大。

在以下两个条件下,最大似然估计器具有一致性(consistency)的性质:
在这里插入图片描述
然而,具备一致性的估计器在统计效率(statistical efficiency)上可以是不同的,这意味着一个一致估计器在固定数量上的m样本上可以取得低泛化误差(generalizarion error),或者等价地说,只需要更少的样本就足以取得固定水平的泛化误差。

统计效率通常在在有参(parametric case)情况下被研究。

Cramér-Rao lower bound (Rao, 1945; Cramér, 1946)证明了没有其他的一致性估计器能比最大似然估计器取得更低的MSE。

因为一致性和高效性,最大似然通常是使用机器学习的首选估计器。当样本数量足够小以至于会产生过拟合时,可以采用诸如权重衰减等正则策略来得到一个具有更小方差的最大似然的有偏版本,尤其是在训练数据受限时。

这篇关于最大似然估计(Maximum Likelihood Estimation) - 机器学习基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623299

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操