概率距离度量方式
Posted zhouyc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了概率距离度量方式相关的知识,希望对你有一定的参考价值。
信息熵
信息熵是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个度量。信息量是对信息的度量,就跟时间的度量是秒一样,当我们考虑一个离散的随机变量 x 的时候,当我们观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢?多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如湖南产生 的地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生嘛, 没什么信息量)。这很好理解!因此一个具体事件的信息量应该是随着其发生概率而递减的,且不能为负
[H(x)=-sum p(x)log p(x)]
1.KL散度(相对熵)KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布P和Q 差别的非对称性的度量。常用于衡量两个概率分布之间的差异或相似度,或衡量利用Q拟合P时的能量消耗 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。其定义如下:
[D_{KL}(P|Q)=sum_{xin i}P(x_i) log frac{P(x_i)}{Q(x_i)}]
[D_{KL}(P|Q)=sum_{xin i}P(x_i)*log P(x_i)-P(x_i)log Q(x_i)]
此处我们可以看到, 等号左边是熵, 右边就是交叉熵
有时会将KL散度称为KL距离,但它并不满足距离的性质:- KL散度不是对称的: (D(P|Q)!=D(Q|P))
- KL散度不满足三角不等式。
2.JS散度
JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题。一般地,JS散度是对称的,其取值是0到1之间,一般地,JS散度是对称的,其取值是0到1之间。若两个分布完全没有交集,那么JS散度取最大值1;若两个分布完全一样,那么 JS 散度取最小值 0。
定义如下:
[JS(P_1|P_2)=frac{1}{2}KL(P_1||frac{P_1+P_2}{2})+frac{1}{2}KL(P_2||frac{P_1+P_2}{2})]
KL散度和JS散度度量的时候有一个问题:
如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。
Wasserstein距离(EM距离):解决JS和KL距离的缺点
Wessertein距离相比KL散度和JS散度的优势在于:即使两个分布的支撑集没有重叠或者重叠非常少,仍然能反映两个分布的远近。而JS散度在此情况下是常量,KL散度可能无意义。
wasserstein距离就是衡量把概率分布q“搬到” p的最小代价。Wasserstein距离度量两个概率分布之间的距离,定义如下:
[W(P_1,P_2)=inflimits_{gamma-prod(P_1,P_2)}E_{(x,y)-gamma}[||x-y||]]
其中, (prod(P_1,P_2))是(P_1,P_2)组合起来的,所有可能的联合分布, 对于每一个可能的分布(gamma)而言, 我们都可以采样到(x,y), 并计算他们的距离的期望值, 一般, 在代码实现的时候, 会直接取平均值
以上是关于概率距离度量方式的主要内容,如果未能解决你的问题,请参考以下文章