交叉熵损失函数
程序员文章站
2022-07-04 22:59:37
...
监督学习的两大种类是分类问题和回归问题。
交叉熵损失函数主要应用于分类问题。
先上实现代码,这个函数的功能就是计算labels和logits之间的交叉熵。
tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_)
一、交叉熵
首先一个问题,什么是交叉熵?
交叉熵(Cross Entropy)主要用于度量两个概率分布间的差异性信息。
交叉熵刻画了两个概率分布之间的距离。
(概率分布刻画了不同事件发生的概率,而且所有事件的概率求和为 1 )
假设两个概率分布p、q,p为真实分布,q为非真实分布(或预测分布),通过q来表示p的交叉熵为:
交叉熵刻画的是两个概率分布之间的距离,但是神经网络的输出却不一定是一个概率分布。
那么如何将神经网络前向传播得到的结果也编程概率分布呢?
二、Softmax
这就需要用到Softmax回归。
首先看一下加上Softmax回归的神经网络结构图:
从图中可以看出Softmax层其实是一层处理层,原始输出层通过Softmax层转化成一个概率分布,然后作为最终输出。
假设原始的神经网络输出为,那么经过Softmax回归处理之后的输出为:
参考书籍《TensorFlow实战Google深度学习框架》
推荐阅读
-
TensorFlow损失函数专题详解
-
【开源计划】图像配准中常用损失函数的pytorch实现
-
tensorflow学习笔记(北京大学) tf4_5.py 完全解析 设损失函数 loss=(w+1)^2
-
pytorch中的二分类及多分类交叉熵损失函数
-
深度学习损失函数原理解析(一)
-
PyTorch学习笔记(16)损失函数(一)
-
PyTorch学习笔记(17)损失函数(二)
-
回归问题(附篇1):当目标函数为一元一次函数,即其最小二乘的损失函数为二元二次函数时,在python中采用全量梯度下降、随机梯度下降、批量梯度下降求解损失函数。
-
【深度学习学习笔记】3.LogisticRegression之一:实现sigmoid的交叉熵损失函数
-
【深度学习学习笔记】3.softmaxRegression:实现softmax的交叉熵损失函数