KL散度计算

KL散度(Kullback-Leibler Divergence)是用来度量两个概率分布相似度的指标,是经典损失函数,应用于PPO等算法参数估计设计。

KL散度的定义

假设对随机变量\(\xi\),存在两个概率分布P和Q。如果\(\xi\)为离散变量,则定义从P到Q的KL散度为:

\[D_{KL}(P||Q)=\sum_i P(i)ln(\frac{P(i)}{Q(i)}) \]

如果如果\(\xi\)为连续变量,则定义从P到Q的KL散度为:

\[D_{KL}(P||Q)=\int_{-\infty}^{\infty} p(x)ln(\frac{p(x)}{q(x)})dx \]

KL散度的性质(以离散形式为例)

  • 非负性

    \[D_{KL}(P||Q) \geq 0, D_{KL}(P||Q)=0 当且仅当P=Q \]

  • 仿射变换不变性
    假设\(y=ax+b\),那么:

    \[D_{KL}(P(x)||Q(x))= D_{KL}(P(y)||Q(y)) \]

  • 非对称性

    \[D_{KL}(P||Q) \neq D_{KL}(Q||P) \]

  • 值域
    $ D_{KL}(P||Q)$在一定条件下可以趋向于无穷。

KL散度的应用和常见分布KL散度的计算

详见[link](关于KL散度(Kullback-Leibler Divergence)的笔记 - 捡到一束光的文章 - 知乎
https://zhuanlan.zhihu.com/p/438129018)

参考文章:关于KL散度(Kullback-Leibler Divergence)的笔记 - 捡到一束光的文章 - 知乎
https://zhuanlan.zhihu.com/p/438129018

posted @ 2025-01-15 21:56  霜尘FrostDust  阅读(796)  评论(0)    收藏  举报