JS散度和Wasserstein距离,交叉熵

交叉熵的计算公式:相对熵的计算公式:可以发现两者在计算方式上类似 , 但表示的含义却不同:交叉熵表示了用非真实分布对真实分布进行编码所需的平均码长;相对熵则是用真实分布进行编码所需的平均编码长度和交叉熵之间的差值 。可以看出在形式上同交叉熵的计算公式基本类似 。
为什么交叉熵cross-entropy可以用于计算代价?

JS散度和Wasserstein距离,交叉熵


交叉熵在机器学习中时一种的衡量损失的函数 , 即衡量预测值和目标值之间的差距 , 常常作为分类问题最小化的指标 。那么为什么这里会用交叉熵呢?这里先从机器学习是如何发挥作用的说起 。我们都知道机器学习是通过数据来进行学习的 , 那机器学习模型从数据中学习到了什么 , 才能实现对新数据的预测呢 。一种从概率角度的解释是:机器学习实际是在学习数据的分布 。
这里假设数据的是从某一真实分布P(real)中独立采样出来的 , 也就是我们观察到了的数据 。但是 , 这些数据由于数目的不足以及采样过程中的噪声 , 使得数据并不能完全表示出真实分布 。于是 , 这里我们用P(data)来表示数据的分布 , 而且P(data)~P(real) 。而机器学习利用数据进行反复训练 , 模型学习到的数据分布用P(model)来表示 。
机器学习算法的设计就是要让P(model)尽可能的与P(data)相近 , 从而接近真实分布P(real) 。那么在了解了上述过程之后 , 就有了一个新的问题 , 我们该如何度量两种分布之间的相似度呢?在概率统计中 , 衡量分布之间差异的方法有两种分别是相对熵和交叉熵 。交叉熵的计算公式:相对熵的计算公式:可以发现两者在计算方式上类似 , 但表示的含义却不同:交叉熵表示了用非真实分布对真实分布进行编码所需的平均码长;相对熵则是用真实分布进行编码所需的平均编码长度和交叉熵之间的差值 。
【JS散度和Wasserstein距离,交叉熵】同时 , 对两者进行最小化都能达到拉近分布之间距离的目的 , 此外交叉熵从形式上更为简洁 。因此就将交叉熵作为衡量分布之间差异性的损失函数 。在机器学习二分类问题中实际使用的交叉熵损失函数为:其中y表示真实标签(通常为0-1) , a表示实际输出标签 。可以看出在形式上同交叉熵的计算公式基本类似 。通过最小化交叉熵损失 , 这样也就能使得P(model)和P(data)的分布尽可能接近 , 从而让模型能学习到真实分布P(real) , 拥有更好的泛化能力 。

    推荐阅读