『损失函数』softmax loss

最近,在学习深度学习中的一系列损失函数。本文就softmax loss损失函数做原理分析。

思路:softmax函数–>softmax loss损失函数

1.softmax函数

  • 首先,要明白的是,softmax是一个函数;

  • 然后,要明白的是,该函数的输出值是一个向量,且取值范围为[0,1]。

  • 最后,要明白的是,该函数是个输出函数。

​ 公式如下所示:
S j = e a J k = 1 T e a k S_j=\frac{e^{a_J}}{\sum_{k=1}^{T}{e^{a_k}}}
​ 其中, T T 代表样本输出总类别数; a k a_k 表示输出结果中第 k k 个位置上的数值。

​ 如:10分类问题,其中每个样本输出的结果是靠近10个标签值的概率值。当概率最大的为分类结果时,其余视为0。经典示意图如下(图1、图2)所示:

在这里插入图片描述

图1 神经网络输出多分类结果,并使用softmax函数作为输出层

在这里插入图片描述

图2 softmax函数作为输出层

2.softmax loss损失函数

softmax loss是一个损失函数。公式如下所示:
L = J = 1 T y j l o g S j L=-\sum_{J=1}^{T}{y_j}{log}{S_j}
​ 其中, S J S_J 是softmax函数输出的向量的第 j j 个值,表示该样本靠近标签的概率值; y j y_j 的取值为0或1,当得到分类结果正确时,取值1,其余情况取值0。

​ 从下方函数图3可以看出,当得到正确分类项得到的概率值越低( l o g S j logS_j ),其对应损失函数( L L )也就越大。

在这里插入图片描述

图3 softmax loss函数图像
发布了29 篇原创文章 · 获赞 45 · 访问量 5041

猜你喜欢

转载自blog.csdn.net/sinat_39783664/article/details/104311392