【代价函数】Cross_entropy:交叉熵损失函数(Cross_entropy loss)

1.Cross_entropy公式及导数推导

损失函数:


a=σ(z), where z=wx+b

利用SGD等算法优化损失函数,通过梯度下降法改变参数从而最小化损失函数:
对两个参数权重和偏置进行求偏导:

推导过程如下(关于偏置的推导是一样的):

【代价函数】Cross_entropy:交叉熵损失函数(Cross_entropy loss)_第1张图片

Note:这个推导中利用了sigmoid激活函数求导,才化简成最后的结果的。sigmoid求导详解

2.分析交叉熵Loss的特点

导数中没有σ′(z)这一项,权重的更新是受σ(z)−y这一项影响,即受误差的影响。所以当误差大的时候,权重更新就快,当误差小的时候,权重的更新就慢。这一特性很好的解决了L2 loss的不足。

#####3.关于softmax和sigmoid
我们最后一层(也就是输出)是通过sigmoid函数,因此采用了交叉熵代价函数。而深度学习中更普遍的做法是将softmax作为最后一层,此时常用的是代价函数是log-likelihood cost。

其实这两者是一致的,logistic回归用的就是sigmoid函数,softmax回归是logistic回归的多类别推广。log-likelihood代价函数在二类别时就可以化简为交叉熵代价函数的形式。具体可以参考UFLDL教程。

red_stone解释交叉熵损失

你可能感兴趣的:(深度学习Trick)