阅读 102

机器学习基础知识—KL 散度

今天将探讨一种比较两个概率分布的方法,称为 Kullback-Leibler 散度(通常简称为KL散度)。我们先给出公式

DKL(P∣∣Q)=∑iP(i)log⁡P(i)Q(i)DKL(P∣∣Q)=∫P(x)log⁡P(x)Q(x)dxD_{KL}(P||Q) = \sum_i P(i) \log \frac{P(i)}{Q(i)}\\ D_{KL}(P||Q) = \int P(x) \log \frac{P(x)}{Q(x)} dx\\DKL(PQ)=iP(i)logQ(i)P(i)DKL(PQ)=P(x)logQ(x)P(x)dx

上面公式是看 Q(i)Q(i)Q(i) 与目标 P(i)P(i)P(i) 概率的差距。对于KL散度具有非对称性和非负性。

对于投硬币的问题我们假设我们观察到的是在投掷了 N 次中,正面朝上的次数为 NHN_HNH,而背面朝上的次数为 NTN_TNT。假设有两个概率分布分别为 P (real coin)和 Q,其中 P 概率分布表示为 p1,p2p_1,p_2p1,p2 这两概率表示在 P 概率分布中正面朝上的概率为 p1p_1p1 而背面朝上的概率为 p2p_2p2。而预测概率分布为 Q(coin1),其中 分布中正面朝上的概率为 q1q_1q1 而背面朝上的概率为 q2q_2q2

P(Observations∣real coin)=p1NHp2NTP(Observations∣coin1)=q1NHq2NTP(Observations|real\,coin) = p_1^{N_H}p_2^{N_T}\\ P(Observations|coin1 ) = q_1^{N_H}q_2^{N_T}\\P(Observationsrealcoin)=p1NHp2NTP(Observationscoin1)=q1NHq2NT

分别用概率分布 P 和概率分布 Q 前提,看到 N 次中,正面朝上的次数为 NHN_HNH,而背面朝上的次数为 NTN_TNT观察值,也就是似然。

log⁡(p1NHp2NTq1NHq2NT)1N\log(\frac{p_1^{N_H}p_2^{N_T}}{q_1^{N_H}q_2^{N_T}})^{\frac{1}{N}}log(q1NHq2NTp1NHp2NT)N1

上面对其比值进行正则化,也就是取 1N\frac{1}{N}N1 后取 log

NHNlog⁡p1+NTNlog⁡p2−NHNlog⁡q1−NTNlog⁡q2q1log⁡p1+q1log⁡p2−q1log⁡p1−q2log⁡p2q1q1log⁡p1q1+q2log⁡p2q2=∑iqipiqi\frac{N_H}{N} \log p_1 + \frac{N_T}{N} \log p_2 - \frac{N_H}{N} \log q_1 -\frac{N_T}{N} \log q_2\\ q_1 \log p_1 + q_1 \log p_2 - q_1 \log p_1 - q_2 \log p_2\\ q_1\\ q_1 \log \frac{p_1}{q_1} + q_2 \log \frac{p_2}{q_2}\\ =\sum_i q_i \frac{p_i}{q_i}NNHlogp1+NNTlogp2NNHlogq1NNTlogq2q1logp1+q1logp2q1logp1q2logp2q1q1logq1p1+q2logq2p2=iqiqipi

这就是整个推导过程。


作者:zidea
链接:https://juejin.cn/post/7024072585063170055


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐