引言
文章目录
-
- 引言
- 基本性质
- 二分类交叉熵
- Softmax 多分类交叉熵
- 另一版推导(包含向量表示形式)
交叉熵,顾名思义,取的是两者交叉的熵值;而在机器学习中的所谓两者,自然是真实分布(或实际输出概率)与预测分布(或期望输出概率),通过熵值计算的方法来刻画两者距离,可以评估两个概率分布(或特征工程里的两个特征变量)的相似度。当交叉熵的值越小时,两个概率分布也就越接近,实际与期望的差距也就越小。
作为一类重要的损失函数,交叉熵较常用于分类问题,特别是神经网络的分类问题。与平方损失函数相比较,由于学习速率可以被输出误差所控制的缘故,交叉熵能在梯度下降时避免均方误差损失函数学习速率降低的问题,有着更为出色的效果。除此之外,由于交叉熵的计算涉及到各个类别的概率,所以说起交叉熵几乎与sigmoid/softmax函数形影不离,这些我们都会在下文中一一印证。
下面我们以神经网络最后一层输出为例,看一下交叉熵的具体应用场景:
(1)在神经网络的最后一层里,我们首先得到了每个类别的得分scores;
(2)这个得分经过sigmoid(或softmax)函数的变换会获得一个概率输出;
(3)将得到的概率输出与真实类别的one hot形式进行交叉熵损失函数的计算。
基本性质
当问题为二分类问题时,交叉熵的损失函数形式为:
L=−[ylog(p)+(1−y)log(1−p)]L=-[ylog(p)+(1-y)log(1-p)]L=−[ylog(p)+(1−y)log(1−