https://blog.csdn.net/b1055077005/article/details/100152102

https://blog.csdn.net/tsyccnh/article/details/79163834

文中重要总结:

相对熵(KL散度)

如果对于同一个随机变量X有两个单独的概率分布P ( x )和Q ( x ) 【在机器学习中,常常使用P ( x )来表示样本的真实分布,Q ( x )来表示模型所预测的分布】,则我们可以使用KL散度来衡量这两个概率分布之间的差异。KL散度越小,表示P ( x )与Q ( x )的分布更加接近,可以通过反复训练Q ( x )来使Q ( x )的分布逼近P ( x )。

KL散度 = 交叉熵 - 信息熵

在机器学习训练网络时,输入数据与标签常常已经确定,那么真实概率分布P ( x )也就确定下来了,所以信息熵在这里就是一个常量。由于KL散度的值表示真实概率分布P ( x ) 与预测概率分布Q ( x )之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。

总结:

  • 交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好
  • 交叉熵在分类问题中常常与softmax是标配,softmax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。

交叉熵损失函数原理详解,KL散度相关推荐

  1. 交叉熵损失函数原理详解

    交叉熵损失函数原理详解 之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问题中经常使用的一种损失函数,对于其内部的原理总是模模糊糊,而且一般使用交叉熵作为损失函 ...

  2. 【Pytorch】交叉熵损失函数 CrossEntropyLoss() 详解

    文章目录 一.损失函数 nn.CrossEntropyLoss() 二.什么是交叉熵 三.Pytorch 中的 CrossEntropyLoss() 函数 参考链接 一.损失函数 nn.CrossEn ...

  3. 【机器学习】 二次损失函数的不足及交叉熵损失softmax详解

    二次代价函数的不足: 以sigmoid激活函数为例,由于初始化是随机的,假设目标值为0,第一次随机初始化使得输入为0.82,那么还可以,多次迭代之后可以收敛到0.09,但如果第一次随机初始化到0.98 ...

  4. 交叉熵损失函数原理深层理解

    说起交叉熵损失函数「Cross Entropy Loss」,相信大家都非常熟悉,但是要深入理解交叉熵损失函数的原理和作用,还得溯本追源才能对其有一个真实的理解与认知. 交叉熵 交叉熵是用来度量两个概率 ...

  5. 交叉熵损失函数原理及pytorch实现

    ​ torch.nn.functional.cross_entropy代码定义(可参考大牛写的这篇博客:https://blog.csdn.net/chao_shine/article/details ...

  6. 【交叉熵损失函数】关于交叉熵损失函数的一些理解

    目录 0. 前言 1.损失函数(Loss Function) 1.1 损失项 1.2 正则化项 2. 交叉熵损失函数 2.1 softmax 2.2 交叉熵 0. 前言 有段时间没写博客了,前段时间主 ...

  7. 史上最全交叉熵损失函数详解

    在我们自学神经网络神经网络的损失函数的时候会发现有一个思路就是交叉熵损失函数,交叉熵的概念源于信息论,一般用来求目标与预测值之间的差距.比如说我们在人脑中有一个模型,在神经网络中还有一个模型,我们需要 ...

  8. 交叉熵损失函数(Cross Entropy Loss)

    基础不牢,地动山摇,读研到现在有一年多了,发现自己对很多经常打交道的知识并不了解,仅仅是会改一改别人的代码,这使我感到非常焦虑,自此开始我的打基础之路.如果博客中有错误的地方,欢迎大家评论指出,我们互 ...

  9. 交叉熵损失函数、修正Huber损失、极大似然估计、负对数似然、似然与交叉熵、KL散度

    交叉熵损失函数.修正Huber损失.极大似然估计.负对数似然.似然与交叉熵.KL散度 目录

最新文章

  1. 区块链论文:OmniLedger,一种区块链分片技术
  2. SQLer:无需编程语言即可将SQL查询转换为RESTful API的工具
  3. java模拟post请求,HttpURLConnection--代码积累
  4. 4.2 神经网络算法代码实现
  5. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
  6. 张恩民 php,php100教程_php100张恩民php视频 56课时_网站编程_寂涯网络学习基地
  7. h5带mysql数据库的留言板_html5实现留言板的代码实例分享
  8. Python图像处理库PIL的基本概念介绍(一)
  9. 解决在win2003 enterprise上搭建IIS遇到的“需要Service Pack 2 CD-Rom 上的文件“问题
  10. 把多个txt文件合成一个txt文件
  11. zepto.js 处理Touch事件
  12. 世界安全生产与健康日 国美零售这些家电与你息息相关
  13. 新浪微博html5手机版,新浪微博手机版2018
  14. qt在表格中如何画线_Qt之表格控件蚂蚁线
  15. 【C#】CurrentCulture和CurrentUICulture的区别及winform多语言版本设置
  16. systemverilog中的时间单位和时间精度
  17. 红孩子拟今年完成 1亿美元融资
  18. css的scal()函数使用
  19. 路平石模具铺设路缘石公路项目质量提升的过程
  20. ASP.NET GridView分页

热门文章

  1. 【KERAS/直方图均衡化】图像数据集扩充
  2. Servlet - 会话跟踪
  3. 微信小游戏的前端攻城狮玩法
  4. ubuntu下修改网卡名称
  5. 行云管家堡垒机的使用方法之二——新增登录凭证
  6. sendBroadcast和sendStickyBroadcast的区别
  7. Java 嵌套类和内部类演示样例lt;二gt;
  8. [C/C++标准库]_[0基础]_[怎样实现std::string自己的Format(sprintf)函数]
  9. jdk动态代理和cglib的区别
  10. Scala的抽象语法树打印小工具-小拉达