我想估计两个连续分布f和g之间的KL散度。但是,我无法写下f或g的密度。我可以通过某种方法(例如,马尔可夫链蒙特卡洛)从f和g中采样。
从f到g的KL散度定义如下
这是关于f 的期望,因此您可以想象一些蒙特卡洛估计
其中i索引从f提取的N个样本(即,对于i = 1,...,N,)
但是,由于我不知道f()和g(),因此甚至无法使用此蒙特卡洛估计。在这种情况下估算KL的标准方法是什么?
编辑:我不知道f()或g()的非归一化密度
我想估计两个连续分布f和g之间的KL散度。但是,我无法写下f或g的密度。我可以通过某种方法(例如,马尔可夫链蒙特卡洛)从f和g中采样。
从f到g的KL散度定义如下
这是关于f 的期望,因此您可以想象一些蒙特卡洛估计
其中i索引从f提取的N个样本(即,对于i = 1,...,N,)
但是,由于我不知道f()和g(),因此甚至无法使用此蒙特卡洛估计。在这种情况下估算KL的标准方法是什么?
编辑:我不知道f()或g()的非归一化密度
Answers:
我假设您可以将和评估为归一化常数。表示和。g f (x )= f u(x )/ c f g (x )= g u(x )/ c g
可以使用的一致估计量为 其中 是比率的重要性采样估计量。在这里,您使用和作为器乐密度和分别与目标非标准化密度的对数比。 - [R = 1 / Ñ
因此,让,和。(1)的分子收敛到。分母收敛到。该比率通过连续映射定理是一致的。通过再次连续映射,比率的对数是一致的。 { ÿ 我 } 〜π 克 { ž 我 } 〜π [R Ç ˚F Ç 克
关于估算器的另一部分, 由大数定律决定。
我的动机如下:
有关如何模拟似然比的更多想法,我发现了一篇包含以下内容的论文:https ://projecteuclid.org/download/pdf_1/euclid.aos/1031594732
在这里,我假设您只能从模型中采样;未归一化的密度函数不可用。
你写的
在这里我将概率比定义为。Alex Smola写道,尽管在不同的上下文中,您可以通过训练分类器来“轻松”地估算这些比率。让我们假设您获得了一个分类器,它可以告诉您观察值由生成的可能性。请注意,。然后:p (f | x )x f p (g | x )= 1 − p (f | x )
其中第一步归因于贝叶斯,而最后一步遵循的假设。
获得这样的分类器可能很容易,原因有两个。
首先,您可以进行随机更新。这意味着,如果您使用的是Logistic回归或神经网络常用的基于梯度的优化器,则只需从和中提取一个样本并进行更新即可。
其次,由于您实际上拥有无限的数据-您只需采样和即可死亡-您不必担心过度拟合等问题。
除了@bayerj提到的概率分类器方法外,您还可以使用在[1-2]中得出的KL散度的下限:
为了估计和之间的KL散度,我们将函数的下界wrt最大化。
参考文献:
[1] Nguyen,X.,Wainwright,MJ和密歇根州乔丹,2010。通过凸风险最小化估计散度函数和似然比。IEEE Transactions on Information Theory,56(11),第5847-5861页。
[2] Nowozin,S.,Cseke,B.和Tomioka,R.,2016年。f-gan:使用变分散度最小化训练生成型神经采样器。神经信息处理系统的进展(第271-279页)。