信息熵、KL散度、交叉熵、互信息、点互信息

news2024/11/25 20:33:46

信息熵

信息量

信息量是对信息的度量,衡量事件的不确定性,越小概率的事件发生了产生的信息量越大。我们应该用什么形式的函数表达信息量呢?除了随着概率增大而减少,这个函数还有具有以下性质:

如果有两个事件x和y彼此独立,那么:

p(x,y)=p(x)*p(y)

并且,x和y同时发生时我们获得的信息应该等于这两个事件分别发生时我们获得的信息之和:

H(x,y)=H(x)+H(y)

不难看出,H(x)应该与对数有关。因为我们将信息量定义为如下公式:

负号是为了确保信息一定是正数或者0,底数是任意的,底数为2时表示编码信息所需要的最少二进制位个数bits。

信息熵 

信息量度量的是一个事件发生了所带来的信息,而信息熵是在结果出来之前对所有可能产生的信息量的期望——考虑随机变量的所有可能取值,即事件的所有可能性所带来的信息量的期望。简言之,熵是信息量的期望。

其中 P(x_i)代表随机事件X为x_i的概率

K-L散度 Kullback-Leibler Divergence(相对熵)

K-L散度用来衡量两个分布对于同一变量的差异情况。在概率学中,我们经常使用更简单的分布来近似观察数据或复杂分布。K-L散度能帮助我们度量使用一种分布近似另一种分布时所损失的信息量。p为观察得到的概率分布,q为另一分布来近似p,则pqK-L散度为:

显然,根据上述公式,K-L散度其实是统一随机变量x的原始分布p和近似分布q之间的对数差值的期望。如果继续用2为底的对数计算,则K-L散度值表示信息损失的二进制位数。K-L散度通常也被写为以下形式:

散度并非距离

有人把K-L散度看做不同分布之间距离的度量,这是不对的,因为K-L散度不满足对称性。也就是说,用p近似q和用q近似p,二者所损失的信息是不一样的。

交叉熵

交叉熵,用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小。这也是为什么在机器学习分类算法中,我们总是最小化交叉熵,因为交叉熵越低,就证明由算法所产生的策略最接近最优策略,也间接证明我们算法所算出的非真实分布越接近真实分布。而KL散度(相对熵),是用来衡量不同策略之间的差异的。

我们将KL散度公式变形:

等式的前一部分恰巧就是p的熵,等式的后一部分,就是交叉熵:

在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即 D_{KL}(y||\tilde{y}),由于KL散度中的前一部分−H(y)不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。

互信息MI

互信息(Mutual Information)度量两个随机变量共享的信息——知道随机变量X,随机变量Y不确定性减小的程度(或者知道随机变量Y,随机变量X不确定性减小的程度),用I(x;y)表示。

举例来说,随机变量X表示一个均衡的六面骰子投掷出的点数,Y表示X的奇偶性。这里我们设X是偶数时,Y=0;X是奇数时,Y=1。如果我们知道X,如X=1,则可以判断Y=1。(失去Y=0这一信息的可能性,Y的不确定性信息减少了)。同样的,如果我们知道Y=0,则可以判断X=2或4或6。(失去X=1或3或5这一信息的可能性,X的不确定性信息减少了)因此,我们说随机变量X和Y之间存在互信息。

我们可以通过下面这张互信息的韦恩图来形象的理解互信息和熵的关系与区别:

关于这张图的理解:

最后,我们通过一系列的数学公式的推导,得到以下互信息的定义式:

 点互信息(PMI)

点互信息(Pointwise Mutual Information),衡量两个事物之间的相关性,比如两个单词。

如果x和y相互独立,则p(x,y)=p(x)*p(y),此时PMI为0,其计算过程如下:

如果x和y的出现不是独立事件,即某个字的出现会提升另一个字出现的概率,那么PMI大于0,其计算过程如下:

 

但是由于log0=-inf,即负无穷。为此,我们通常使用PPMI(Positive PMI)来避免出现-inf,即:

 回顾互信息的计算公式为:

衡量的是两个随机变量的相关性,即一个随机变量中包含另一个随机变量的信息量。

可以看出,互信息其实就是对X和Y的所有可能取值的点互信息的加权和

参考链接:

通俗理解信息熵 - 知乎

如何理解K-L散度(相对熵) - 简书

如何通俗的解释交叉熵与相对熵? - 知乎

特征选择之互信息(mutual information)算法思想及其python代码实现_mutual_info_score-CSDN博客

[DataAnalysis]点互信息_点的互信息-CSDN博客

NLP之【点互信息PMI】——衡量两变量之间的相关性_点互信息(pmi)-CSDN博客 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用Python爬取高德地图全国地铁站点信息

利用Python中的requests库进行地铁站点信息的获取,同时将数据保存在本机excel中 # 首先引入所需要的包 import requests from bs4 import BeautifulSoup import pandas as pd import json# 发送 GET 请求获取网页内容 url http://map.amap.com/subway/index.html response r…

K线实战分析系列之二十三:塔形顶部和塔形底部

K线实战分析系列之二十三:塔形顶部和塔形底部 一、塔形顶部和塔形底部二、塔形顶部和塔形底部总结 一、塔形顶部和塔形底部 塔形顶部:预示着阶段性顶部的形成 塔型底部:预示着阶段性底部的形成 二、塔形顶部和塔形底部总结 形态的两…

字节后端实习 一面凉经

心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊,求捞~(boss小公司也不理我) 很纠结要不要干脆直接面暑期实习,又怕因为没有后端实习经历,面不到大厂实习。死锁了

2195. 深海机器人问题(网络流,费用流,上下界可行流,网格图模型)

活动 - AcWing 深海资源考察探险队的潜艇将到达深海的海底进行科学考察。 潜艇内有多个深海机器人。 潜艇到达深海海底后,深海机器人将离开潜艇向预定目标移动。 深海机器人在移动中还必须沿途采集海底生物标本。 沿途生物标本由最先遇到它的深海机器人完成采…

微信公众号公司主体变更怎么办?

公众号迁移的好处有哪些?迁移后原公众号还能用吗?1)获得更多权限功能如果公众号是个人主体,想进行认证,拥有更多权限功能。例如菜单栏跳转外部链接,相拥有留言功能,服务号认证获得开发权限等。就…

@德人合科技|公司数据防泄漏软件,防止内部文件数据资料外泄!

现如今,企业都普遍面临数据安全问题的挑战,随着数据泄漏事件不断增加,企业需要强有力的数据防泄漏系统来保护机密信息。 www.drhchina.com 德人合科技 | 公司数据防泄漏软件,防止内部文件数据资料外泄! 公司数据防泄漏…

基于springboot的精品在线试题库系统设计与实现(程序+数据库+文档)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 目录 一、研…

微软研究深度报告:Sora文转视频AI模型全景剖析及未来展望

论文由微软研究团队撰写,这篇论文深入探讨了Sora的发展背景、核心技术、新兴应用场景、现有的局限性以及未来的发展机会,基于公开资料和团队自行进行的逆向工程分析。文中详尽且逻辑清晰,建议细读全文以获得深入了解。 原文:Sora…

优思学院《质量工程师入门攻略2024》

作为一名质量工程师,进入这个行业首先需要理解“质量”的本质含义。质量并非单一维度,而是产品或服务在满足预期程度上的体现。从狭义到广义的质量,涵盖从产品细节到客户满意度的多个方面。 1. 质量的定义是以顾客需求为准 第一&#xff0c…

高级语言讲义2018计专(仅高级语言部分)

1.编写完整程序解决中国古代数学家张丘健在他的《算经》中提出的”百钱百鸡问题“:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁,母,雏各几何 …

每日一题-链表的中间结点

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” 上面是解题题目: 解题思路:快慢指针法--慢指针一次指向下一个,快指针一次指向下两个 解答过程: /*** Definition for singly-linked…

shopify 如何实现阶梯价展示

在Shopify中,您可以通过使用变体(variants)和价格规则(price rules)来实现阶梯价展示。阶梯价是指随着购买数量的增加,商品价格逐渐降低的策略。以下是在Shopify上实现阶梯价展示的步骤: 1. 创…

全志D1s开发板软件入门之Hello World演示

Hello Word 本章节将讲解如何使用电脑(上位机)交叉编译一个打印 hello word 的小应用,并将其push到开发板(下位机)上运行起来,打印出 hello word。这是嵌入式应用开发的最基础步骤。在此之前,你…

JavaScript的for循环与双重for循环,聪明人已经收藏了

css盒模型 1,css盒模型基本概念? 2,标准模型和IE模型的区别:计算高度和宽度的不同,怎么不同,高度宽度是怎么计算的? 3,css如何设置这两种模型? 4,js如何设置…

【BUG】Windows状态栏总卡死解决办法

屋漏偏逢连夜雨,正在赶deadline呢,Windows状态老卡死,一时间崩溃。 解决办法: 右键状态栏新闻和咨询关掉 这个烧笔新闻与资讯我真服了

做分析用什么工具

做分析用什么工具 导读 数据分析是数据辅助决策的最后一公里,是最终的数据可视化展示与探索分析的部分,选择使用最适合的数据展示方式,可以帮助分析人员大大提升分析效率。 问题: ● 纠结选择哪个工具 ● 纠结从哪里学起&#x…

Java 学习和实践笔记(27):Object类的基本特性、toString方法以及IDEA的部分快捷键介绍

Object类基本特性: 1.Object类是所有类的父类,所有的Java对象都拥有Object类的属性和方法(注意拥有并不等于可以直接使用) 2.如果在类的声明中未使用extends,则默认继承Object类。 toString方法是Object类里定义的一个…

连接器中的PI “电源完整性”

【摘要/前言】 在连接器中,我们经常谈论信号完整性(SI)以及我们为最新应用开发新的高速连接器解决方案的工作。很多厂商在112Gbps PAM4信令领域非常活跃,但我们也经常谈论224Gbps PAM4。在之前对Samtec产品管理总监Keith Guetig的…

26.基于springboot + vue实现的前后端分离-就业管理系统

项目介绍 系统分为管理员、企业、求职者三个角色 管理员: 登录、个人中心、学生信息管理、企业信息管理、岗位分类管理、学历信息管理、友情链接管理、新闻资讯管理、收藏管理、招聘信息管理、应聘信息管理、求职者信息管理 企业: 注册、登录、个人…

【Leetcode 2673】使二叉树所有路径值相等的最小代价 —— 贪心法

2673. 使二叉树所有路径值相等的最小代价 给你一个整数n表示一棵 满二叉树 里面节点的数目,节点编号从1到n。根节点编号为1,树中每个非叶子节点i都有两个孩子,分别是左孩子2 * i和右孩子2 * i 1。 树中每个节点都有一个值,用下…