我是靠谱客的博主 明理芹菜,最近开发中收集的这篇文章主要介绍从理论上理解采用交叉熵作为损失函数的意义,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简要解释为什么要使用交叉熵作为损失函数。用简短的话来解释就是:我们需要得到最大似然估计,即模型得到的预测分布应该与数据的实际分布情况尽可能相近。KL散度(相对熵)是用来衡量两个概率分布之间的差异。模型需要得到最大似然估计,乘以负Log以后就相当于求最小值,此时等价于求最小化KL散度(相对熵)。所以得到KL散度就得到了最大似然。又因为KL散度中包含两个部分,第一部分是交叉熵,第二部分是信息熵,即KL=交叉熵−信息熵。信息熵是消除不确定性所需信息量的度量,简单来说就是真实的概率分布,而这部分是固定的。所以优化KL散度就是近似于优化交叉熵。

即:最小化交叉熵完全等价于极大似然估计;

        求最小化交叉熵等价于求KL散度。

首先推导最小化交叉熵完全等价于极大似然估计,具体的证明公式参考:最小化交叉熵损失与极大似然 - 知乎。给出简单的推导:

第一步是最大似然估计,通俗来讲就是我们需要从参数集中找出一组参数,使得观察到的概率值最大。最后一步就是我们的最小化交叉熵,也是一般神经网络的优化目标。

最后

以上就是明理芹菜为你收集整理的从理论上理解采用交叉熵作为损失函数的意义的全部内容,希望文章能够帮你解决从理论上理解采用交叉熵作为损失函数的意义所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部