Softmax-with-Loss 层(Softmax 函数和交叉熵误差)的计算说明
https://blog.****.net/weixin_43114885/article/details/90478622
笔记(八),其中
Softmax-with-Loss 层(Softmax 函数和交叉熵误差)的计算图如下:
其中Softmax 函数(笔记四)
- 可以减去输入的最大值来防止溢出
a = np.array([1010, 1000, 990])
y=np.exp(a) / np.sum(np.exp(a)) # softmax函数的运算
print(y) # 没有被正确计算
c = np.max(a) # 1010
c = a - c #将每个元素值减小
print(c)
y=np.exp(c) / np.sum(np.exp(c))
print(y)
笔记(五)
交叉熵误差
−lnx对应的函数图像如下:
而
0≤yk≤1
所以输出的概率越小损失函数越大,和监督数据越不吻合。