神经网络之softmax(作用,工作原理【示例说明】,损失计算)

1、softmax作用

softmax将输出的分类结果映射到(0-1)之间,将神经网络的分类结果转化成对应的概率。不同的概率,表示此样本属于对应类别的可能性大小,概率越大,样本属于该分类的可能性越大。概率的总和为1。

2、softmax工作原理

softmax位于网络输出层的后边,其在网络结构中的位置如下图所示:

和隐藏层神经元计算类似,softmax层对输出数据先进行线性运算,再使用softmax激活函数将输出转化为概率。

假设softmax的前一层输出用 a^{[l-1]}表示,则softmax首先进行线性运算:

z^{[l]}=w^{[l]}a^{[l-1]}+b^{[l]}

线性运算结束后进行softmax激活函数计算,激活函数公式为:

a^{[l]} =\frac{e^{z^{[l]}}}{\sum_{j=1}^{n}e^{z_{j}^{[l]}}}

示例说明:

为了更好地理解softmax激活函数作用,假设在一个分类任务中,softmax前一层输出经线性运算后的结果是[5, 2, -1, 3],即z^{[l]}=[5, 2, -1, 3]

采用softmax激活函数将输出转化为概率值。其中

扫描二维码关注公众号,回复: 15105713 查看本文章

a{_{1}}^{[l]}=\frac{e^{5}}{e^{5}+e^{2}+e^{-1}+e^{3}}\approx 0.842

a{_{2}}^{[l]}=\frac{e^{2}}{e^{5}+e^{2}+e^{-1}+e^{3}}\approx 0.042

a{_{3}}^{[l]}=\frac{e^{-1}}{e^{5}+e^{2}+e^{-1}+e^{3}}\approx 0.002

a{_{4}}^{[l]}=\frac{e^{3}}{e^{5}+e^{2}+e^{-1}+e^{3}}\approx 0.114

根据softmax公式分别算出每一类的概率,得到最终的概率输出为a^{[l]}=[0.841, 0.042, 0.002, 0.114]

3、损失计算

假设分类任务的真实结果是y=[0,1,0,0],经过softmax预测结果是\hat{y}=[0.3, 0.2, 0.1, 0.4],根据如下损失计算公式:

L(\hat{y},y)=-\sum_{j=1}^{n}y_{j} log\hat{y}_{j}

在假设的例子中,n=4,则L(\hat{y},y)=-(0\times log0.3+1\times log0.2+0\times log0.1+0\times log0.4)

假设有m个样本,损失为:

J(w^{[1]},b^{[1]},...)=\frac{1}{m}\sum_{i=1}^{m}L(\hat{y}^{(i)},y^{(i)})

猜你喜欢

转载自blog.csdn.net/m0_45267220/article/details/129399964