熵、交叉熵
在信息论中,一个离散型随机变量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,因此,对于分类问题,这个梯度等于:
辅以学习率,我们可以非常快速的向梯度的反方向更新参数: