SoftMax

熵、交叉熵

在信息论中,一个离散型随机变量X的熵被定义为:

交叉熵则用来描述xi的实际输出概率和期望输出概率间的距离,定义函数q()为实际概率分布、p()为期望概率分布,那么交叉熵H()为:

 

交叉熵损失函数交叉熵损失函数被广泛应用于分类问题。

在二分类问题中,定义y为样本标签(正标签为1,负标签为0),p预测为正样本的概率,此时交叉熵损失函数为:

可以很容易的将二分类问题拓展到多分类问题上。定义K为分类数,在多分类问题中的交叉熵损失函数为:

此时,求交叉熵损失函数J关于pi的偏导得到:

 

交叉熵损失函数与SoftMax

e为自然底数,softmax函数形如:

如下图所示,通过softmax可以将来自多个神经元的输出值映射到(0,1]区间内,并且所有输出的映射值之和为1(映射值满足概率性质)。

通常情况下,softmax激活函数与交叉熵损失函数搭配使用。

在反向传播时,通过链式法则求解损失函数L关于某一参数的偏导w(也就是梯度),而后辅以学习率,向梯度的反方向更新该参数:

 若损失函数为交叉熵损失函数则L=J,同时激活函数为softmax,由于学习率与输入值已知,我们只需求解交叉熵损失函数的偏导与softmax的偏导:

softmax的偏导需要分情况讨论

当i==j时:

 

 当i!=j时

 

 所以将softmax的偏导与交叉熵损失函数的偏导结合得到:

 

 针对分类问题,我们给定的结果y_i最终只会有一个类别是1,其他类别都是0,因此,对于分类问题,这个梯度等于:

 

 辅以学习率,我们可以非常快速的向梯度的反方向更新参数:

 

posted @ 2020-10-04 01:09  声声醉如兰  阅读(322)  评论(0编辑  收藏  举报