为了回答您的问题,我们应该回顾一下KL散度的定义:
DKL(Y||X)=∑i=1Nln(YiXi)Yi
首先,您必须从必须具备的内容着手进行概率分布。为此,您应该对数据进行归一化,以使其总数为一:
Xi:=Xi∑Ni=1Xi ; ; Yi:=Yi∑Ni=1YiZi:=Zi∑Ni=1Zi
然后,对于离散值,我们有一个非常重要的假设需要用来评估KL散度,并且经常被违反:
Xi=0应该暗示。Yi=0
如果和都等于零,则假定为零(作为极限值)。XiYiln(Yi/Xi)Yi
在您的数据集中,这意味着您可以找到,但是找不到例如(因为第二个条目)。DKL(X||Y)DKL(Y||X)
从实际的角度来看,我可以建议的是:
要么使您的事件“更大”,以使您的零更少
或获取更多数据,以便您至少要输入一项就可以涵盖罕见事件。
如果您不能使用以上两个建议,则可能需要在分布之间找到另一个指标。例如,
互信息,定义为。其中是两个事件的联合概率。I(X,Y)=∑Ni=1∑Nj=1p(Xi,Yj)ln(p(Xi,Yj)p(Xi)p(Yj))p(Xi,Yi)
希望它会有所帮助。