码迷,mamicode.com
首页 > Web开发 > 详细

JS散度(Jensen–Shannon divergence)

时间:2021-06-15 17:39:50      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:公式   范围   sha   gen   targe   csdn   splay   time   sdn   

1. 概述

KL散度存在不对称性,为解决这个问题,在KL散度基础上引入了JS散度。

\[J S\left(P_{1} \| P_{2}\right)=\frac{1}{2} K L\left(P_{1} \| \frac{P_{1}+P_{2}}{2}\right)+\frac{1}{2} K L\left(P_{2} \| \frac{P_{1}+P_{2}}{2}\right) \]

JS散度的值域范围是[0,1],相同则是0,相反为1

2. 性质

这个公式对于\(P_1\)和\(P_2\)明显是对称的,而且由于是两个KL叠加,故JS具有对称性和非负性。
当 \(P_{1} = \frac{P_{1}+P_{2}}{2} = P_{2}时\),两个KL值均为0,故JS为0。也就是说当两个分布相同时JS为0。

KL散度和JS散度度量的时候有一个问题:
如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。

3. 证明

证明两个分布完全不重叠时,JS散度是一个常数。

\[\begin{aligned} JS(P \| Q) &= \frac{1}{2} K L\left(P_{1} \| \frac{P_{1}+P_{2}}{2}\right)+\frac{1}{2} K L\left(P_{2} \| \frac{P_{1}+P_{2}}{2}\right) \&=\frac{1}{2} \sum p(x) \log \left(\frac{p(x)}{\frac{p(x)+q(x)}{2}}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{q(x)}{\frac{p(x)+q(x)}{2}}\right) \&=\frac{1}{2} \sum p(x) \log \left(\frac{2 p(x)}{p(x)+q(x)}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{2 q(x)}{p(x)+q(x)}\right) \&=\frac{1}{2} \sum p(x) \log \left(\frac{p(x)}{p(x)+q(x)}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{q(x)}{p(x)+q(x)}\right)+\log 2 \end{aligned} \]

由于两个分布完全不重叠,故必有p(x)或q(x)为0
p(x)=0时

\[\begin{aligned} JS(P \| Q) &=\frac{1}{2} \sum p(x) \log \left(\frac{p(x)}{p(x)+q(x)}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{q(x)}{p(x)+q(x)}\right)+\log 2 \&=\frac{1}{2} \sum 0 \times \log \left(\frac{0}{0+q(x)}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{q(x)}{0+q(x)}\right)+\log 2 \&= \log 2 \end{aligned} \]

q(x)=0时

\[\begin{aligned} JS(P \| Q) &=\frac{1}{2} \sum p(x) \log \left(\frac{p(x)}{p(x)+q(x)}\right)+\frac{1}{2} \sum q(x) \log \left(\frac{q(x)}{p(x)+q(x)}\right)+\log 2 \&=\frac{1}{2} \sum p(x) \log \left(\frac{p(x)}{p(x)+0}\right)+\frac{1}{2} \sum 0 \times \log \left(\frac{0}{p(x)+0}\right)+\log 2 \&=\log 2 \end{aligned} \]

这就是JS散度的缺陷,当两个分布完全不重叠时,即便两个分布的中心距离有多近,其JS散度都是一个常数,导致梯度为0,无法更新。

参考链接

https://blog.csdn.net/weixinhum/article/details/85227476
https://blog.csdn.net/Invokar/article/details/88917214

JS散度(Jensen–Shannon divergence)

标签:公式   范围   sha   gen   targe   csdn   splay   time   sdn   

原文地址:https://www.cnblogs.com/MorStar/p/14882813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!