机器学习:Kullback-Leibler Divergence (KL 散度)
今天,我们介绍机器学习里非常常用的一个概念,KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标。我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会对数据的整体做一个近似的估计,而数据整体本身有一个真实的分布(我们可能永远无法知道),那么近似估计的概率分布和数据整体真实的概率分布的相似度,或者说差异程度,可以用 KL 散度来表示。
KL 散度,最早是从信息论里演化而来的,所以在介绍 KL 散度之前,我们要先介绍一下信息熵。信息熵的定义如下:
H=−∑i=1Np(xi)logp(xi)H = - \sum_{i=1}^{N} p(x_i) \log p(x_i) H=−i=1∑Np(xi)logp(xi)
p(xi)p(x_i)p(xi) 表示事件 xix_ixi 发生的概率,信息熵其实反映的就是要表示一个概率分布需要的平均信息量。
在信息熵的基础上,我们定义 KL 散度为:
DKL(p∣∣q)=∑i=1Np(xi)⋅(logp(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∑Np(xi)⋅(logp(xi)−log(q(xi))
或者表示成下面这种形式:
DKL(p∣∣q)=∑i=1Np(xi)⋅logp(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∑Np(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{logp(xi)−logq(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θ,上面的第一项 logp(xi)\log p(x_i)logp(xi) 与参数 θ\thetaθ 无关,所以我们要优化的其实是 −logq(xi∣θ)- \log q(x_i | \theta )−logq(xi∣θ),而这个就是我们熟悉的最大似然估计。
机器学习:Kullback-Leibler Divergence (KL 散度)相关推荐
- Kullback–Leibler divergence(相对熵,KL距离,KL散度)
1 前言 注意两个名词的区别: 相对熵:Kullback–Leibler divergence 交叉熵:cross entropy KL距离的几个用途: ① 衡量两个概率分布的差异. ② 衡量利用概率 ...
- 相对熵/KL散度(Kullback–Leibler divergence,KLD)
相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(in ...
- KL Divergence KL散度
在概率论或信息论中,KL散度( Kullback–Leibler divergence),又称相对熵(relative entropy),是描述两个概率分布P和Q差异的一种方法.它是非对称的,这意味着 ...
- KL散度(Kullback–Leibler divergence,KLD)
一篇来自知乎问答 https://www.zhihu.com/question/41252833 一篇来自COUNT BAYESIE https://www.countbayesie.com/blog ...
- 交叉熵和mse_交叉熵 相对熵(KL散度/互熵)
香农熵 熵考察(香农熵)的是单个的信息(分布)的期望:反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 交叉熵 交叉熵考察的是两个的信息(分布)的期望: 交叉熵和熵,相 ...
- 机器学习基础——香农熵、相对熵(KL散度)与交叉熵
1. 香农熵(Shannon entropy) 信息熵(又叫香农熵)反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 如果一个随机变量 X 的可能取值为 X={x1,x ...
- KL距离,Kullback-Leibler Divergence 浅谈KL散度
KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy).它衡量的是相同事件空间里的两个概率分 ...
- python计算矩阵的散度_python 3计算KL散度(KL Divergence)
KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...
- kl散度学习笔记python实现
KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...
- 信息论常见概念:熵、互信息、KL散度和信息增益
文章目录 信息论在机器学习中的常见概念 1. 信息量 2. 熵 3. 联合熵 4. 条件熵 5. 相对熵 6. 互信息 7. 信息增益 公式与推导 信息论在机器学习中的常见概念 信息的不确定度表示. ...
最新文章
- Android性能优化工具
- CodeForces - 1200E Compress Words(字符串哈希)
- 我在中关村,给不了的你爱的国贸(ZZ)
- mysql数据库 day04
- yum无法正常使用的解决办法
- poj1066--Treasure Hunt(规范相交)
- 【转】Topshelf 搭建 Windows 服务
- Windows 微软雅黑(Microsoft YaHei)+ Monaco 字体整合方案
- 易辅客栈第六套零基础开发商业脚本_网页游戏篇
- 腾讯云轻量型服务器与云服务器的区别
- python量化交易策略技巧与实战_量化交易策略基本框架
- 计算机专业我的生涯规划档案,大学生学业生涯规划登记表11.doc
- 0704暑假集训前的欢乐大杂烩总结
- 设置gradle远程仓库_Gradle 创建java项目详细步骤
- redis主从、哨兵、集群
- Unreal Engine蓝图编程学习(四)
- VB:SysInfo控件
- 更简单获取到Bean对象(1)
- 垃圾渗滤液除氨氮深度处理膜后除氨氮用离子交换树脂
- 一名阿里安全一线AI算法工程师的“三观”
热门文章
- 学习单片机对社会的帮助是很大的
- 基于ARIMA模型预测中国GDP及全国GDP可视化
- FOREX嘉盛外汇 forex-jsfx.com外汇入门新手必看:外汇交易系统中还存在着这些陷阱!
- 板绘教程|日漫风格插画,夸张与现实的意境
- python中squeeze函数_Python numpy.squeeze()用法及代码示例
- qq飞车手游早上会服务器维护吗,qq飞车手游:28号迎来全服大更新,这些注意事项你都知道吗...
- 无法对表创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引的问题
- Windows Server 2016-MS服务器应用程序兼容性列表
- Problem:Cow Art
- 男人消费不如“狗”?那是因为他们有大目光!