softmax用于多分类过程中,往往加在神经网络的他将多个神经元的输出,映射到(0,1)区间内,看成概率来解,这些值的累和为1,在选取输出节点的时候选取概率最大的节点作为我们的预测目标,从而进行多分类。
softmax 相关求导 当对分类的Loss进行改进时,我们通过梯度下降,每次优化一个step大小的梯度,要求Loss对每个权重矩阵求偏导,然后应用链式法则。
每次计算softmax偏导值,相当于做一次减法和乘法,在梯度反向传播的过程中,给链式法则的那条链造成的负担特别低。(因此比较受欢迎)
反向传播,我们使用梯度下降,用交叉熵作为我们的损失函数
H ( p , q ) = − ∑ x p ( x ) l o g q ( x ) H(p, q)={-\sum_{x}p(x)log q(x)} H(p,q)=−∑xp(x)logq(x)
交叉熵刻画的是两个概率分布之间的距离,或者说他刻画的是通过概率q来表达概率p的困难程度,p一般代表真实值,q一般代表预测值,交叉熵越小代表概率的分布越接近,可以说预测值很好的接近了真实值。 而softmax就是将传播得到的结果变成概率分布,所以可以和交叉熵一起用。 L o s s = − ∑ i y i l n a i Loss = -{\sum_{i}} y_{i}lna_{i} Loss=−∑iyilnai y代表真实值,a代表我们softmax求出的值 如果只预测一个结果,那么在目标中只有一个节点的值为1,其他的为0
详解softmax函数以及相关求导过程 softmax与交叉熵