机器学习:什么是条件熵?

机器学习:什么是条件熵?转自 通俗理解条件熵前面我们总结了信息熵的概念通俗理解信息熵 知乎专栏 这次我们来理解一下条件熵 我们首先知道信息熵是考虑该随机变量的所有可能取值 即所有可能发生事件所带来的信息量的期望 公式如下 我们的条件熵的定义是 定义为 X 给定条件下 Y 的条件概率分布的熵对 X 的数学期望这个还是比较抽象 下面我们解释一下 设有随机变量 X Y 其联合概率分布为条件熵 H Y X 表示在已知随机变量 X 的条件下随机变量 Y 的不确定性 随机变量 X 给定的条件下随机变量 Y 的条件熵 H Y

转自:通俗理解条件熵

前面我们总结了信息熵的概念通俗理解信息熵 – 知乎专栏,这次我们来理解一下条件熵。

我们首先知道信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。公式如下:

 

机器学习:什么是条件熵?

我们的条件熵的定义是:定义为X给定条件下,Y的条件概率分布的熵对X的数学期望

这个还是比较抽象,下面我们解释一下:

设有随机变量(X,Y),其联合概率分布为

 

机器学习:什么是条件熵?

条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X)

公式

下面推导一下条件熵的公式:

机器学习:什么是条件熵?

注意

注意,这个条件熵,是指在给定某个数(某个变量为某个值)的情况下,另一个变量的熵是多少,变量的不确定性是多少?

因为条件熵中X也是一个变量,意思是在一个变量X的条件下(变量X的每个值都会取),另一个变量Y熵对X的期望。

这是最容易错的!

例子

下面通过例子来解释一下:

机器学习:什么是条件熵?

 

假如我们有上面数据:

设随机变量Y={嫁,不嫁}

我们可以统计出,嫁的个数为6/12 = 1/2

不嫁的个数为6/12 = 1/2

那么Y的熵,根据熵的公式来算,可以得到H(Y) = -1/2log1/2 -1/2log1/2

为了引出条件熵,我们现在还有一个变量X,代表长相是帅还是不帅,当长相是不帅的时候,统计如下红色所示:

机器学习:什么是条件熵?

可以得出,当已知不帅的条件下,满足条件的只有4个数据了,这四个数据中,不嫁的个数为1个,占1/4

嫁的个数为3个,占3/4

那么此时的H(Y|X = 不帅) = -1/4log1/4-3/4log3/4

p(X = 不帅) = 4/12 = 1/3

 

同理我们可以得到:

当已知帅的条件下,满足条件的有8个数据了,这八个数据中,不嫁的个数为5个,占5/8

嫁的个数为3个,占3/8

那么此时的H(Y|X = 帅) = -5/8log5/8-3/8log3/8

p(X = 帅) = 8/12 = 2/3

计算结果

有了上面的铺垫之后,我们终于可以计算我们的条件熵了,我们现在需要求:

H(Y|X = 长相)

也就是说,我们想要求出当已知长相的条件下的条件熵。

根据公式我们可以知道,长相可以取帅与不帅俩种

条件熵是另一个变量Y熵对X(条件)的期望。

公式为:

机器学习:什么是条件熵?

 

H(Y|X=长相) = p(X =帅)*H(Y|X=帅)+p(X =不帅)*H(Y|X=不帅)

然后将上面已经求得的答案带入即可求出条件熵!

这里比较容易错误就是忽略了X也是可以取多个值,然后对其求期望!!

转自:通俗理解条件熵

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231121.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jboss版本查询_趣步2.0.7版本下载

    jboss版本查询_趣步2.0.7版本下载JBoss在2006年被RedHat收购。在各种J2EE应用服务器中,JBoss是最受欢迎而且功能最为强大的应用服务器。不过JBoss从8.0开始改名为WildFly,这个新名称在我看来似乎并不朗朗上口。在折腾JavaEE的配置时,新增一个Server,发现JBoss最多只到JBossv5.0,官网上明明已经更新到7.1了,为何这里只显示这么古老的版本,而且我用的是Eclipse

    2022年10月3日
    3
  • Go语言之append函数

    Go语言之append函数append函数的作用官方解释append函数是向slice里面追加一个或多个元素,然后返回一个和slice一样类型的slice,其签名为funcappend(slice[]T,elements…T)[]Tappend所做的是在切片尾添加元素并返回结果。结果需要返回因为,正如我们手写的Append,底层的数组可能更改。使用示例:x:=[]int{1,2

    2022年6月18日
    45
  • linux生成license,License生成秘钥

    linux生成license,License生成秘钥一License简介开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开…

    2022年7月26日
    11
  • vim 命令备忘

    vim 命令备忘

    2021年9月8日
    61
  • 解读非主流_所谓的非主流

    解读非主流_所谓的非主流解读非主流——当非主流成为主流互联网上非主流信息以几何级数倍增,作为非主流信息集聚载体的网站的建设者的我们——站长,该如何应对呢?如何适应这种大环境大气候的变化呢?《谁动了我的奶酪》告诉我们,要感觉良好,就好主动变化,而非被动挨打。全面投入非主流《——》主流的管道建设,实在是当务之急,也是有利可图的聪明人做的事情。下面就从主流的角度,解读下非主流…

    2022年10月17日
    3
  • 【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI)

    【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI)SemiGlobalMa SGM 立体匹配经典算法 理论详解教学

    2026年1月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号