在神经网络中,我们经常可以看到以下公式,用于计算结点的激活值:
直接甩出Softmax的公式:
n表示类别数,z表示输出向量,zj表示向量z的第j个值。
对Softmax求导:
显然是目标是和
根据求导的链式法则:
所以核心问题就转换为求 ,在接触到这个式子的时候,考虑到一个问题,为什么这里是对求导而不是对求导,
接下来举例说明:
从图中可以得到
z4 = w41*o1+w42*o2+w43*o3
z5 = w51*o1+w52*o2+w53*o3
z6 = w61*o1+w62*o2+w63*o3
那么我们可以经过softmax函数得到:
在中,仅包含了,也包含了、,也一样,不仅包含了,也包含了、,如果只使用求导,
会有大量的不参与计算,所以要使用,对和分情况讨论即可。
接下来进行求导:
当时:
由(2)可得:
当时:
可得:
根据(2)可得:
因此可得出: