今天,我们介绍机器学习里非常常用的一个概念,KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标。我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会对数据的整体做一个近似的估计,而数据整体本身有一个真实的分布(我们可能永远无法知道),那么近似估计的概率分布和数据整体真实的概率分布的相似度,或者说差异程度,可以用 KL 散度来表示。

KL 散度,最早是从信息论里演化而来的,所以在介绍 KL 散度之前,我们要先介绍一下信息熵。信息熵的定义如下:

H=−∑i=1Np(xi)log⁡p(xi)H = - \sum_{i=1}^{N} p(x_i) \log p(x_i) H=−i=1∑N​p(xi​)logp(xi​)

p(xi)p(x_i)p(xi​) 表示事件 xix_ixi​ 发生的概率,信息熵其实反映的就是要表示一个概率分布需要的平均信息量。

在信息熵的基础上,我们定义 KL 散度为:

DKL(p∣∣q)=∑i=1Np(xi)⋅(log⁡p(xi)−log⁡(q(xi))D_{KL} (p || q) = \sum_{i=1}^{N} p(x_i) \cdot ( \log p(x_i) - \log(q(x_i)) DKL​(p∣∣q)=i=1∑N​p(xi​)⋅(logp(xi​)−log(q(xi​))

或者表示成下面这种形式:

DKL(p∣∣q)=∑i=1Np(xi)⋅log⁡p(xi)q(xi)D_{KL} (p || q) = \sum_{i=1}^{N} p(x_i) \cdot \log \frac { p(x_i) }{ q(x_i)} DKL​(p∣∣q)=i=1∑N​p(xi​)⋅logq(xi​)p(xi​)​

DKL(p∣∣q)D_{KL} (p || q)DKL​(p∣∣q) 表示的就是概率 qqq 与概率 ppp 之间的差异,很显然,散度越小,说明 概率 qqq 与概率 ppp 之间越接近,那么估计的概率分布于真实的概率分布也就越接近。

KL 散度可以帮助我们选择最优的参数,比如 p(x)p(x)p(x) 是我们需要估计的一个未知的分布,我们无法直接得知 p(x)p(x)p(x) 的分布,不过我们可以建立一个分布 q(x∣θ)q(x | \theta)q(x∣θ) 去估计 p(x)p(x)p(x),为了确定参数 θ\thetaθ,虽然我们无法得知 p(x)p(x)p(x) 的真实分布,但可以利用采样的方法,从 p(x)p(x)p(x) 中采样 NNN 个样本,构建如下的目标函数:

DKL(p∣∣q)=∑i=1N{log⁡p(xi)−log⁡q(xi∣θ)}D_{KL} (p || q) = \sum_{i=1}^{N} \{ \log p(x_i) - \log q(x_i | \theta ) \} DKL​(p∣∣q)=i=1∑N​{logp(xi​)−logq(xi​∣θ)}

因为我们要预估的是参数 θ\thetaθ,上面的第一项 log⁡p(xi)\log p(x_i)logp(xi​) 与参数 θ\thetaθ 无关,所以我们要优化的其实是 −log⁡q(xi∣θ)- \log q(x_i | \theta )−logq(xi​∣θ),而这个就是我们熟悉的最大似然估计。

机器学习:Kullback-Leibler Divergence (KL 散度)相关推荐

  1. Kullback–Leibler divergence(相对熵,KL距离,KL散度)

    1 前言 注意两个名词的区别: 相对熵:Kullback–Leibler divergence 交叉熵:cross entropy KL距离的几个用途: ① 衡量两个概率分布的差异. ② 衡量利用概率 ...

  2. 相对熵/KL散度(Kullback–Leibler divergence,KLD)

    相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(in ...

  3. KL Divergence KL散度

    在概率论或信息论中,KL散度( Kullback–Leibler divergence),又称相对熵(relative entropy),是描述两个概率分布P和Q差异的一种方法.它是非对称的,这意味着 ...

  4. KL散度(Kullback–Leibler divergence,KLD)

    一篇来自知乎问答 https://www.zhihu.com/question/41252833 一篇来自COUNT BAYESIE https://www.countbayesie.com/blog ...

  5. 交叉熵和mse_交叉熵 相对熵(KL散度/互熵)

    香农熵 熵考察(香农熵)的是单个的信息(分布)的期望:反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 交叉熵 交叉熵考察的是两个的信息(分布)的期望: 交叉熵和熵,相 ...

  6. 机器学习基础——香农熵、相对熵(KL散度)与交叉熵

    1. 香农熵(Shannon entropy) 信息熵(又叫香农熵)反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 如果一个随机变量 X 的可能取值为 X={x1,x ...

  7. KL距离,Kullback-Leibler Divergence 浅谈KL散度

    KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy).它衡量的是相同事件空间里的两个概率分 ...

  8. python计算矩阵的散度_python 3计算KL散度(KL Divergence)

    KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...

  9. kl散度学习笔记python实现

    KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...

  10. 信息论常见概念:熵、互信息、KL散度和信息增益

    文章目录 信息论在机器学习中的常见概念 1. 信息量 2. 熵 3. 联合熵 4. 条件熵 5. 相对熵 6. 互信息 7. 信息增益 公式与推导 信息论在机器学习中的常见概念 信息的不确定度表示. ...

最新文章

  1. Android性能优化工具
  2. CodeForces - 1200E Compress Words(字符串哈希)
  3. 我在中关村,给不了的你爱的国贸(ZZ)
  4. mysql数据库 day04
  5. yum无法正常使用的解决办法
  6. poj1066--Treasure Hunt(规范相交)
  7. 【转】Topshelf 搭建 Windows 服务
  8. Windows 微软雅黑(Microsoft YaHei)+ Monaco 字体整合方案
  9. 易辅客栈第六套零基础开发商业脚本_网页游戏篇
  10. 腾讯云轻量型服务器与云服务器的区别
  11. python量化交易策略技巧与实战_量化交易策略基本框架
  12. 计算机专业我的生涯规划档案,大学生学业生涯规划登记表11.doc
  13. 0704暑假集训前的欢乐大杂烩总结
  14. 设置gradle远程仓库_Gradle 创建java项目详细步骤
  15. redis主从、哨兵、集群
  16. Unreal Engine蓝图编程学习(四)
  17. VB:SysInfo控件
  18. 更简单获取到Bean对象(1)
  19. 垃圾渗滤液除氨氮深度处理膜后除氨氮用离子交换树脂
  20. 一名阿里安全一线AI算法工程师的“三观”

热门文章

  1. 学习单片机对社会的帮助是很大的
  2. 基于ARIMA模型预测中国GDP及全国GDP可视化
  3. FOREX嘉盛外汇 forex-jsfx.com外汇入门新手必看:外汇交易系统中还存在着这些陷阱!
  4. 板绘教程|日漫风格插画,夸张与现实的意境
  5. python中squeeze函数_Python numpy.squeeze()用法及代码示例
  6. qq飞车手游早上会服务器维护吗,qq飞车手游:28号迎来全服大更新,这些注意事项你都知道吗...
  7. 无法对表创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引的问题
  8. Windows Server 2016-MS服务器应用程序兼容性列表
  9. Problem:Cow Art
  10. 男人消费不如“狗”?那是因为他们有大目光!