定义如下:
对数函数为凸函数,所以KL散度的值为分复数。
KL散度有时也称为KL距离,但它并不满足距离的性质:
1、KL散度不是对称的;
2、KL散度不满足三角不等式。
JS散度是度量两个概率分布的相似度,是基于KL散度的变体,解决了KL散度非对称的问题。
定义如下:
KL散度和JS散度度量的时候都有一个问题:如果两个分布P,Q距离较远,完全没有重叠的时候,KL散度是没有意义的,在学习的时候,这就意味着在这一点的梯度为0,即梯度消失了。
Wasserstein距离度量的是两个管理分布之间的距离。定义如下:
为 和 的分布组合起来的所有可能的联合分布的集合。对于每一个可能的联合分布 ,可以从中采样(x,y)~r得到一个样本x和y,并计算出这对样本的距离||x-y||,进而可以计算样本对距离的期望值。在所有可能的联合分布中能够对这个期望取到的下界就是Wasserstein距离。
直观上就是在r这个路径的规划下把土堆 挪到土堆 所需要的消耗。Wasserstein距离就是在最优的路径下的最小消耗。
Wasserstein距离相比于KL散度和JS散度的优势在于:即使两个分布的支撑没有重叠或者重叠较少,仍然能够反映两个分布之间的远近。
KL距离,即Kullback-Leibler Divergence,也被成为信息熵(Relative Entropy)。一般KL距离用来衡量同意事件中,两种概率分布的相似程度,这个值越小,则相似程度越高。
计算的实例:
我们抛两枚硬币,真实的概率为A,但是我们只能通过观察得到B和C,如下所示。
A(0) = 1/2, A(1) = 1/2
B(0) = 1/4, A(1) = 3/4
C(0) = 1/8, C(1) = 7/8
进一步计算A与B和C的KL距离:
D(A||B) = (1/2)log((1/2)/(1/4)) + (1/2)log((1/2)/(3/4)) = 1/2log(4/3)
D(A||C) = (1/2)log((1/2)/(1/8)) + (1/2)log((1/2)/(7/8)) = 1/2log(16/7)
可以看到,B比C更接近与实际的A分布。
需要注意的是,KL距离虽然叫做距离,但是并不是真正的距离,不符合距离的对称性和三角不等式。
JS散度是基于KL距离提出的改进,取值在0到1之间:
JS散度是对称的并且取值在0-1之间,另外,KL与JSD都存在一个问题,在很极端的情况下,KL值没有意义,JSD会趋于一个常数,这样在算法中梯度变为了0.
欢迎关注!
综述:令A=Pi+Qj+Rk;
则div(uA)=∂uP/∂x+∂uQ/∂y+∂uR/∂z;
=P∂u/∂x+u∂P/∂x+Q∂u/∂y+u∂Q/∂y+R∂u/∂z+u∂R/∂z;
=udivA+Agradu。
散度是描述空气从周围汇合到某一处或从某一处流散开来程度地量。水平散度是气体在单位时间内水平面积的变化率。
如果面积增大,散度取正值,为水平辐散;如果面积缩小,散度取负值,为水平辐合。三维空间的散度表示任意气块在单位时间内其单位体积的变化率。气块的体积膨胀称为辐散,气块体积收缩称为辐合。
在大气科学中散度指衡量速度场辐散、辐合强度的物理量。单位为/秒。表示单位时间内体积的膨胀率。在不可压缩流体中散度为0,所以水平方向有辐散或辐合,垂直方向就会发生补偿性的收缩和延伸,而出现垂直运动。因此,可以通过水平散度计算大气中的垂直速度。