信息熵/相对熵/交叉熵

信息熵

信息熵也被称为熵,用来表示所有信息量的期望。

其中X是一个离散型随机变量。

相对熵

相对熵即KL散度。如果随机变量X有两个单独的概率分布P(x)和Q(x),用KL散度即相对熵来衡量两个概率分布之间的差异。

KL散度越接小,代表两个分布越接近。训练Q(x)来使得Q(x)逼近P(x)。

交叉熵

相对熵=交叉熵-信息熵

在机器学习训练网络的过程中,输入数据和标签是确定的,所以真实概率分布P(x)也是确定的,那么信息熵就是一个常量。训练目标是最小化相对熵,由于信息熵是常量,所以等价于最小化交叉熵(且交叉熵比相对熵好算)。所以机器学习中,常常使用交叉熵作为Loss Function。

为什么分类要用交叉熵?

1、交叉熵=相对熵+信息熵。交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,即真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。
2、交叉熵在分类问题中常常与softmax是标配。

为什么交叉熵和softmax是标配?

首先在二元分类的情况下,Softmax 退化为了 Sigmoid。详见:
softmax与sigmoid

从梯度消失的角度讲:sigmiod函数在z值很大或很小的时候几乎不变,也就是梯度接近零,如果用最小二乘不会解决这个梯度消失问题,故不选择最小二乘损失。
那为什么交叉熵损失却可以呢?因为-log抵消掉了exp!
根据推导,可以看到原因有两个:1、梯度与z有关,而与z'无关,从而避免了梯度弥散。2、z-y表示误差,误差越大,梯度更新值越大,加快收敛对。

你可能感兴趣的:(信息熵/相对熵/交叉熵)