自信息量I(x)=-log(p(x)),其他依次类推。
离散变量x的熵H(x)=E(I(x))=-$\sum\limits_{x}{p(x)lnp(x)}$

连续变量x的微分熵H(x)=E(I(x))=-$\int{p(x)lnp(x)dx} $

条件熵H(y|x)=-$\int\int{p(x,y)lnp(y|x)dydx}$

两个变量X和 Y 的联合熵定义为:

H(X,Y)=-$\int\int{p(x,y)lnp(x,y)dxdy}$
H(x,y)=H(y|x)+H(x)
若x,y独立,H(x,y)=H(x)+H(y),此时对x的了解不能增进对y的了解。 交叉熵Cross Entropy H(p;q)=-$\int{p(x)lnq(x)dx}$ 很少见,通常使用KL距离 Kullback-Leibler divergence:KL(p||q)=-$\int{p(x)lnq(x)dx}-(-\int{p(x)lnp(x)dx})$=H(p)+H(p;q)=-$\int{p(x)ln{\frac{q(x)}{p(x)}}dx}$ p=q时,KL(p||q)=0,H(p;q)=H(p) 交叉熵与kl距离相差一个H(p) 当p未知而q已知时,通过改变KL中的p、q的位置,可以减少未知量,便于计算相似度。 交叉熵是一种万能的Monte-Carlo技术,常用于稀有事件的仿真建模、多峰函数的最优化问题。交叉熵技术已用于解决经典的旅行商问题、背包问题、最短路问题、最大割问题等。这里给一个文章链接:A Tutorial on the Cross-Entropy Method 交叉熵算法的推导过程中又牵扯出来一个问题:如何求一个数学期望?常用的方法有这么几种: 概率方法,比如Crude Monte-Carlo
测度变换法change of measure
偏微分方程的变量代换法
Green函数法
Fourier变换法
在实际中变量X服从的概率分布h往往是不知道的,我们会用g来近似地代替h----这本质上是一种函数估计。有一种度量g和h相近程度的方法叫 Kullback-Leibler距离,又叫交叉熵,通常选取g和h具有相同的概率分布类型(比如已知h是指数分布,那么就选g也是指数分布)----参数估计,只是pdf参数不一样(实际上h中的参数根本就是未知的)。 基于期望交叉熵的特征项选择 CE(w)=$\sum\limits_{i}p(c_{i}|w)log\frac{p(c_{i}|w}{p(c_{i}}$ p(ci|w)表示在出现词条w时文档属于类别ci的概率。 交叉熵反应了文本类别的概率分布与在出现了某个词条的情况下文本类别的概率分布之间的距离。词条的交叉熵越大,对文本类别分布影响也就越大。所以选CE最大的K个词条作为最终的特征项。 互信息Mutual Informantion yj对xi的互信息定义为后验概率与先验概率比值的对数。 I(x,y)=log$\frac{p(x|y)}{p(x)}=I(x)-I(x|y)$ 互信息越大,表明y对于确定x的取值的贡献度越大。 系统的平均互信息 I(X,Y)=H(X)-H(X|Y)=H(Y)-H(Y|X) 可见平均互信息就是信息增益! I(X,Y)=KL(p(x,y)||p(x)p(y))=-$\int\int{p(x,y)ln(\frac{p(x)p(y)}{p(x,y)})dxdy}$ 互信息在特征选择中的应用 词条w与类别ci的互信息为 MI(w,c)=log$\frac{p(w|c)}{p(w)}$ p(w)表示出现w的文档点总文档数目的比例,p(w|ci)表示在类别ci中出现w的文档点总文档数目的比例。 对整个系统来说,词条w的互信息为 $MI_{avg}(w,c)=\sum\limits_{i}p(c)log\frac{p(w|c)}{p(w)}$ 最后选互信息最大的前K个词条作为特征项。

各种形式的熵函数,KL距离的更多相关文章

  1. (转载)KL距离,Kullback-Leibler Divergence

    转自:KL距离,Kullback-Leibler Divergence   KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对 ...

  2. [NLP自然语言处理]计算熵和KL距离,java实现汉字和英文单词的识别,UTF8变长字符读取

    算法任务: 1. 给定一个文件,统计这个文件中所有字符的相对频率(相对频率就是这些字符出现的概率——该字符出现次数除以字符总个数,并计算该文件的熵). 2. 给定另外一个文件,按上述同样的方法计算字符 ...

  3. 最大熵与最大似然,以及KL距离。

    DNN中最常使用的离散数值优化目标,莫过于交差熵.两个分布p,q的交差熵,与KL距离实际上是同一回事. $-\sum plog(q)=D_{KL}(p\shortparallel q)-\sum pl ...

  4. KL距离,Kullback-Leibler Divergence

    http://www.cnblogs.com/ywl925/p/3554502.html http://www.cnblogs.com/hxsyl/p/4910218.html http://blog ...

  5. 【转载】 KL距离(相对熵)

    原文地址: https://www.cnblogs.com/nlpowen/p/3620470.html ----------------------------------------------- ...

  6. KL距离(相对熵)

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

  7. KL散度、JS散度、Wasserstein距离

    1. KL散度 KL散度又称为相对熵,信息散度,信息增益.KL散度是是两个概率分布 $P$ 和 $Q$  之间差别的非对称性的度量. KL散度是用来 度量使用基于 $Q$ 的编码来编码来自 $P$ 的 ...

  8. PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...

  9. 信息论相关概念:熵 交叉熵 KL散度 JS散度

    目录 机器学习基础--信息论相关概念总结以及理解 1. 信息量(熵) 2. KL散度 3. 交叉熵 4. JS散度 机器学习基础--信息论相关概念总结以及理解 摘要: 熵(entropy).KL 散度 ...

随机推荐

  1. Qt532.线程(_beginthread)

    1.(20180928)环境:Win7x64.Qt5.3.2 MSVC2010 OpenGL.ms2010 2.测试代码: ZC:我记得 之前在 VC6.vs08 上,还要选择 使用的是哪种 运行时线 ...

  2. Study之6 Neutron(配置使用 Routing)-devstack

    ●Neutron 的路由服务是由 l3 agent 提供的. 除此之外,l3 agent 通过 iptables 提供 firewall 和 floating ip 服务. l3 agent 需要正确 ...

  3. 算法笔记--最大流和最小割 && 最小费用最大流 && 上下界网络流

    最大流: 给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足条件的从S到T的最大流(MaxFlow). 最小割: 割是网 ...

  4. Pytorch Visdom可视化工具

    2018-12-04 14:05:49 Visdom是Facebook专门为PyTorch开发的一款可视化工具,其开源于2017年3月.Visdom十分轻量级,但却支持非常丰富的功能,能胜任大多数的科 ...

  5. 在不进入Guest OS的情况下,取得Guest OS的IP地址

    因为是个Headless 服务器,总是需要GUI VNC 到 Host OS, 然后进入里面的虚拟机,打 ipconfig / ifconfig  ,非常的不方便. 查了网上,找到上面的方法 1)确保 ...

  6. maven ----> 子工程中引入父工程

    创建父工程,打包方式指定为 pom <groupId>com.example</groupId> <artifactId>SleuthMain</artifa ...

  7. No address associated with hostname

    java.net.UnknownHostException: Unable to resolve host "www.baidu.com": No address associat ...

  8. PCM数据格式

    PCM数据格式          1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit ster ...

  9. 看到篇博文,用python pandas改写了下

    看到篇博文,https://blog.csdn.net/young2415/article/details/82795688 需求是需要统计部门礼品数量,自己简单绘制了个表格,如下: 大意是,每个部门 ...

  10. 20170920xlVBA_FTP_UpDownLoad_DownLoad

    '建立应用环境进程 Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpen ...