2019-04-30

softmax函数的求导过程,https://deepnotes.io/softmax-crossentropy。

对分子分母都乘以一个常数C,可防止指数次方的数溢出,很容易溢出,比如800的e次方就溢出了。logC = -max(X),新的X = X - Max(X)。

This property of softmax function that it outputs a probability distribution makes it suitable for probabilistic interpretation in classification tasks.

这篇文章对softmax的求导描述的再精确不过了,建议先从cross entropy作为损失函数看起,为什么使用cross entropy作为损失函数?他写的多清楚啊,牛逼。当输出为概率分布时,cross entropy就是用来估计两个概率分布之间的距离的。距离越小越好,损失函数越小越好,梯度下降求极小值。


为什么用cross entropy作为损失函数

当问题是二分类时,我们使用sigmoid函数作为activation,则cross entropy简化成只有两项,当多分类时,yi pi都为向量。对其求导均为dc/dz = zi - yi。这是对一个输入来说的,对于多个输入example比如m个, dc/dz =1/m* sum( zi - yi ),我个人理解这是用了统计学的求平均值。。

stackoverflow

你可能感兴趣的:(2019-04-30)