3.5、α-散度
当α→0或1时,可以得到KL散度或者reverse KL散度.
只有当α=0.5的时候对称.
3.6、F-散度
散度是用来衡量两个概率密度P,Q区别的函数,即:两个分布的相似程度.
这里的f需要满足2个条件:f是凸函数且f(1)=0.
可以证明:因为f是凸函数,由Jensen不等式可知E[f(x)]≥f(E[x])
如果f(X)=XlogX,那就是KL散度;如果是f(X)=-logX,那就表示reverse KL散度。甚至,当取某些函数时,它还可以表达α-散度。具体的,下面的表格给出了F-散度的一些特例.
3.7、互信息
互信息(Mutual Information)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
互信息定义如下:
假设X与Y相互独立,那么p(x,y)=p(x)p(y),于是互信息的直观意义就是X、Y在假设独立情况下和真实的非独立情况下的编码长度之差在X和Y联合分布上的期望。
对上式继续进行化解,有:
因此互信息也可以看成条件分布p(x|y)到分布p(x)的KL散度在Y上的期望。
此外互信息还和条件熵有着极大关系——互信息可以看成熵和条件熵的差:
互信息的性质:
(1) 对称性:I(xi ;yj) = I(xi ;yj);
(2) X与Y独立时:I(xi ;yj)= 0;
(3) I(xi ;yj)非负:平均互信息量不是从两个具体消息出发, 而是从随机变量X和Y的整体角度出发, 并在平均意义上观察问题, 所以平均互信息量不会出现负值。或者说从一个事件提取关于另一个事件的信息, 最坏的情况是0, 不会由于知道了一个事件,反而使另一个事件的不确定度增加。
互信息是计算语言学模型分析的常用方法,它度量两个对象之间的相互性。
在过滤问题中用于度量特征对于主题的区分度。互信息的定义与交叉熵近似。
互信息本来是信息论中的一个概念,用于表示信息之间的关系, 是两个随机变量统计相关性的测度,使用互信息理论进行特征抽取是基于如下假设:在某个特定类别出现频率高,但在其他类别出现频率比较低的词条与该类的互信息比较大。
通常用互信息作为特征词和类别之间的测度,如果特征词属于该类的话,它们的互信息量最大。由于该方法不需要对特征词和类别之间关系的性质作任何假设,因此非常适合于文本分类的特征和类别的配准工作
3.8、Wasserstein距离
KL散度和JS散度度量的问题:如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。
Wasserstein距离度量两个概率分布之间的距离,定义如下:
Π(P1,P2)是P1和P2分布组合起来的所有可能的联合分布的集合。对于每一个可能的联合分布γ,可以从中采样(x,y)~γ得到一个样本x和y,并计算出这对样本的距离||x−y||,所以可以计算该联合分布γ下,样本对距离的期望值E(x,y)~γ[||x−y||]。在所有可能的联合分布中能够对这个期望值取到的下界infγ~Π(P1,P2)E(x,y)~γ[||x−y||]就是Wasserstein距离。
直观上可以把E(x,y)~γ[||x−y||]理解为在γ这个路径规划下把土堆P1挪到土堆P2所需要的消耗。而Wasserstein距离就是在最优路径规划下的最小消耗。所以Wesserstein距离又叫Earth-Mover距离。
Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近;而JS散度在此情况下是常量,KL散度可能无意义。WGAN本作通过简单的例子展示了这一点。考虑如下二维空间中的两个分布P1和P2,P1在线段AB上均匀分布,P2在线段CD上均匀分布,通过控制参数θ可以控制着两个分布的距离远近。
此时容易得到:
KL散度和JS散度是突变的,要么最大要么最小,Wasserstein距离却是平滑的,如果我们要用梯度下降法优化θ这个参数,前两者根本提供不了梯度,Wasserstein距离却可以。类似地,在高维空间中如果两个分布不重叠或者重叠部分可忽略,则KL和JS既反映不了远近,也提供不了梯度,但是Wasserstein却可以提供有意义的梯度。
使用 Wasserstein distance 来刻画分布之间的不同是必要的:右边的那个gene expression的分布,看上去十分像是把左边那个分布往上挤了之后的结果。所以如果要刻画这种“原因”导致的区别,用Wasserstein distance比其他要更合理。
3.9、Bregman散度
上述,F散度已经可以表达我们提到的所有散度,目前为止它是最通用的散度形式。但很多paper种也会出现另一种叫做Bregman的散度,它和F散度不太一样,是另一大类散度。
Bregman散度定义如下:设函数f是一个定义在凸函数Ω∈Rd上的可导且严格凸的函数,F定义域上的任意两点x,y∈Ω,则在F函数上的Bregman散度为:
对上式在y点进行泰勒展开:
由上式可以得到,Bregman散度就是函数f(x)在y点进行一阶泰勒展开的余项Rn(x),即函数f(x)与其自身的线性近似(一阶泰勒展开)之间的“距离”,如下图所示:
和F散度类似,Bregman散度也是一大类散度的通用表达形式,具体的,根据f取不同的函数,它可以表示不同的散度,其中KL散度就是它的一个特例。下图给出了一些特例。