交叉熵以及相对熵的理解

简介: 笔记


我们现已知的一个概念是,“熵”可以表示一个系统的混乱程度,从数学上来讲也是求期望的过程,是信息量与其对应概率相乘的结果。【关于熵具体的定义大家应该看了很多,这里我主要叙述交叉熵和相对熵】

1.gif



在深度学习当中我们经常用交叉熵或者相对熵作为损失函数,用来衡量网络的输出结果和真实值的差距或者是概率分布上的相似性。这里将更进一步了解这一过程是怎么做到的。


交叉熵


先写出交叉熵公式


2.gif


已知两个概率分布P与Q,可以将P视为我们真实值概率分布,Q为网络预测的概率分布(这里的概率都是经过softmax的soft label,不是hard label) 。在神经网络中,m是输入图片的数量,3.gif就是输入的4.gif(真实值,也是一个概率值),这个概率值就是要么是狗,要么就不是狗,输出的预测值就是判断有多像狗。再对上式基础上,我们还可以拓展一下【可以想成一个二分类】:


5.gif


公式的中x是输入的图像,真实值,y是网络预测值。公式前半部分就是判断这张图中目标是狗的熵是多少,后半部分为不是狗的熵。


相对熵


也叫KL散度,对于两个概率系统P与Q,定义为:

6.png7.gif

以P为基准,去考虑P与Q相差多少。对于某个事件,系统Q的信息量fq减去它对应到P中的信息量fp,差值求整体的期望。这个差值直观理解就是Q如果想和P一样,应该补充多少差值;

对上式继续展开:


8.gif

其中前半部分就是交叉熵H(P,Q)。从上式可以看出,是将P的熵分成了两个部分,前面是交叉熵,后面是自己的熵值【我的理解就是也可以类比成前面预测值,后面真实值,然后两者的差值,或者说两者的举例】


交叉熵和相对熵都是度量两个概率分布的相似性,所以可以用来做损失函数,和以单纯的以欧氏距离或者去计算真实值和预测值的差值考虑的更全。


还有一点就是,我们通常认为熵应该越小越好,这个其实应该看应用于什么场景,我们在对话通信方面,希望的是熵,信息量越小越好。但在深度学习中,熵应该是越大越好,熵越大,系统程度混乱,说明了两个样本(猫和狗)的概率分布越大,相似性越小,概率分布越独立【个人理解】。


目录
相关文章
|
1月前
|
机器学习/深度学习
为什么在二分类问题中使用交叉熵函数作为损失函数
为什么在二分类问题中使用交叉熵函数作为损失函数
58 2
|
1月前
|
机器学习/深度学习 JavaScript Python
熵、联合熵、相对熵、交叉熵、JS散度、互信息、条件熵
熵、联合熵、相对熵、交叉熵、JS散度、互信息、条件熵
14 1
|
9月前
|
机器学习/深度学习
信息熵、KL散度、交叉熵、softmax函数学习小记
信息熵、KL散度、交叉熵、softmax函数学习小记
61 0
|
机器学习/深度学习 算法
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
|
机器学习/深度学习
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-2
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-2
|
机器学习/深度学习 人工智能 JavaScript
【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
对抗神经网络(如DIM模型)及图神经网络(如DGI模型)中,使用互信息来作为无监督方式提取特征的方法。
625 0
|
机器学习/深度学习 数据挖掘
KL散度和交叉熵的对比介绍
KL散度(Kullback-Leibler Divergence)和交叉熵(Cross Entropy)是在机器学习中广泛使用的概念。这两者都用于比较两个概率分布之间的相似性,但在一些方面,它们也有所不同。本文将对KL散度和交叉熵的详细解释和比较。
530 0
|
机器学习/深度学习
损失函数:均方误和交叉熵,激活函数的作用
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
157 1
损失函数:均方误和交叉熵,激活函数的作用
决策树中熵、条件熵、信息增益及信息增益比的python实现
决策树中熵、条件熵、信息增益及信息增益比的python实现
决策树中熵、条件熵、信息增益及信息增益比的python实现