前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >两种交叉熵损失函数的异同

两种交叉熵损失函数的异同

作者头像
ke1th
发布2018-01-02 11:49:39
7510
发布2018-01-02 11:49:39
举报

在学习机器学习的时候,我们会看到两个长的不一样的交叉熵损失函数。 假设我们现在有一个样本 {x,t},这两种损失函数分别是。

t_j说明样本的ground-truth是第j类。

这两个都是交叉熵损失函数,但是看起来长的却有天壤之别。为什么同是交叉熵损失函数,长的却不一样呢?

因为这两个交叉熵损失函数对应不同的最后一层的输出。第一个对应的最后一层是softmax,第二个对应的最后一层是sigmoid。

如果看到这个答案就明白了的话,就没必要往下看了,如果感觉云里雾里的话,请听细细分解。

首先来看信息论中交叉熵的定义:

现在来看softmax作为最后一层的情况。g(x)是什么呢?就是最后一层的输出 y 。p(x)是什么呢?就是我们的one-hot标签。我们带入交叉熵的定义中算一下,就会得到第一个式子:

  • j : 样本x属于第j类。

再来看sigmoid作为最后一层的情况。sigmoid作为最后一层输出的话,那就不能吧最后一层的输出看作成一个分布了,因为加起来不为1。现在应该将最后一层的每个神经元看作一个分布,对应的 target 属于二项分布(target的值代表是这个类的概率),那么第 i 个神经元交叉熵为:

,所以最后一层总的交叉熵损失函数是

解释完了,最后总结一下:这两个长的不一样的交叉熵损失函数实际上是对应的不同的输出层。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档