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

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

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

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

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

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

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

交叉熵是用来描述两个分布的距离的,神经网络训练的目的就是使 g(x)g(x) 逼近 p(x)p(x)。

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

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

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云时之间

EM算法学习(一)

EM算法是英文expectation-maximization算法的英文简写,翻译过来就是期望最大化算法,其实是一种根据求参的极大似然估计的一种迭代的优化策略,...

3537
来自专栏瓜大三哥

感知器神经网络

感知器是一种前馈人工神经网络,是人工神经网络中的一种典型结构。感知器具有分层结构,信息从输入层进入网络,逐层向前传递到输出层。根据感知器神经元变换函数、隐层数以...

23210
来自专栏云时之间

EM算法学习(一)

EM算法是英文expectation-maximization算法的英文简写,翻译过来就是期望最大化算法,其实是一种根据求参的极大似然估计的一种迭代的优化策略,...

3288
来自专栏Petrichor的专栏

opencv: 获取 图像属性 (源码)

  说明了读取的图片是一张 大小 为 (424, 600, 3) ,数据类型 为 uint8 ,像素总数 为 763200 的图片。

421
来自专栏木东居士的专栏

【Andrew Ng 机器学习】Week 1(二):代价函数和梯度下降

1622
来自专栏机器学习原理

机器学习(4)——逻辑回归Logistic回归softmax回归

前言:这里是分类问题,之所以放到线性回归的下面介绍,是因为逻辑回归的步骤几乎是和前面一样的,写出目标函数,找到损失函数,求最小值,求解参数,建立模型,模型评估。...

3428
来自专栏企鹅号快讯

反向传播算法原理推导及代码实现

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来...

2389
来自专栏SIGAI学习与实践平台

【实验】理解SVM的核函数和参数

支持向量机(SVM)在很多分类问题上曾经取得了当时最好的性能,使用非线性核的支持向量机可以处理线性不可分的问题。仅仅通过一个简单的核函数映射,就能达到如此好的效...

551
来自专栏红色石头的机器学习之路

Coursera吴恩达《神经网络与深度学习》课程笔记(4)-- 浅层神经网络

上节课我们主要介绍了向量化、矩阵计算的方法和python编程的相关技巧。并以逻辑回归为例,将其算法流程包括梯度下降转换为向量化的形式,从而大大提高了程序运算速度...

2340
来自专栏云时之间

EM算法学习(一)

EM算法是英文expectation-maximization算法的英文简写,翻译过来就是期望最大化算法,其实是一种根据求参的极大似然估计的一种迭代的优化策略,...

4426

扫码关注云+社区