IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 最大似然估计、交叉熵、KL散度的联系与区别 -> 正文阅读

[人工智能]最大似然估计、交叉熵、KL散度的联系与区别

深度学习中交叉熵和KL散度和最大似然估计之间的关系

机器学习的面试题中经常会被问到交叉熵(cross entropy)和最大似然估计(MLE)或者KL散度有什么关系,查了一些资料发现优化这3个东西其实是等价的。

熵和交叉熵

提到交叉熵就需要了解下信息论中熵的定义。信息论认为:

确定的事件没有信息,随机事件包含最多的信息。

事件信息的定义为: I ( x ) = ? l o g ( P ( x ) ) I(x)=?log(P(x)) I(x)=?log(P(x));而熵就是描述信息量: H ( x ) = E x ~ P [ I ( x ) ] H(x)=E_{x~P}[I(x)] H(x)=ExP?[I(x)],也就是 H ( x ) = E x ~ P [ ? l o g ( P ( x ) ) ] = ? Σ x P ( x ) l o g ( P ( x ) ) H(x)=E_{x~P}[?log(P(x))]=?Σ_xP(x)log(P(x)) H(x)=ExP?[?log(P(x))]=?Σx?P(x)log(P(x))。如果log的base是2,熵可以认为是衡量编码对应的信息需要的最少bits数;那么交叉熵就是来衡量用特定的编码方案Q来对分布为P的信息x进行编码时需要的最少的bits数。定义如下:
H ( P , Q ) = ? Σ x P ( x ) l o g ( Q ( x ) ) H(P,Q)=?Σ_xP(x)log(Q(x)) H(P,Q)=?Σx?P(x)log(Q(x))
在深度学习中,P是label的真实分布;Q就是网络学习后输出的分布。

最大似然估计

机器学习中,通过最大似然估计方法使参数为 Θ ^ \hatΘ Θ^的模型使预测值贴近真实数据的概率最大化,即 Θ ^ = a r g m a x θ ∏ i = 1 N p ( x i ∣ Θ ) \hatΘ=argmax_θ\prod_{i=1}^Np(x_i|Θ) Θ^=argmaxθ?i=1N?p(xi?Θ)。实际操作中,连乘很容易出现最大值或最小值溢出,造成计算不稳定,由于log函数的单调性,所以将上式进行取对数取负,最小化负对数似然(NLL)的结果与原始式子是一样的,即 Θ ^ = a r g m i n θ ? ∑ i = 1 N p ( x i ∣ Θ ) \hatΘ=argmin_θ-\sum_{i=1}^Np(x_i|Θ) Θ^=argminθ??i=1N?p(xi?Θ)

对模型的预测值进行最大似然估计,
Θ ^ = a r g m i n θ ? ∑ i = 1 N p ( x i ∣ Θ ) = a r g m i n Θ ? Σ x ∈ X p ( x ) l o g ( q ( x ∣ Θ ) ) = a r g m i n Θ H ( p , q ) \hatΘ=argmin_θ-\sum_{i=1}^Np(x_i|Θ)\\ =argmin_Θ?Σ_{x∈X}p(x)log(q(x|Θ))\\ =arg min_ΘH(p,q) Θ^=argminθ??i=1N?p(xi?Θ)=argminΘ??ΣxX?p(x)log(q(xΘ))=argminΘ?H(p,q)

所以最小化NLL和最小化交叉熵最后达到的效果是一样的。

KL散度

在深度学习中,KL散度用来评估模型输出的预测值分布与真值分布之间的差异,定义如下:
在这里插入图片描述

也就是交叉熵就是真值分布的熵与KL散度的和,而真值的熵是确定的,与模型的参数Θ无关,所以梯度下降求导时 ? H ( P , Q ) = ? D K L ( P ∣ ∣ Q ) ?H(P,Q)=?D_{KL}(P||Q) ?H(P,Q)=?DKL?(PQ),也就是说最小化交叉熵与最小化KL散度是一样的。

总结

从优化模型参数角度来说,最小化交叉熵,NLL,KL散度这3种方式对模型参数的更新来说是一样的。从这点来看也解释了为什么在深度学习中交叉熵是非常常用的损失函数的原因了。

参考

https://www.cnblogs.com/arkenstone/p/10524720.html

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:44:50  更:2021-07-30 12:46:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:17:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码