信息熵的公式
设X是一个取有限个值的离散随机变量 其概率分布如下
则随机变量X的熵可以表示为
这个公式是如何来的? 下面我将为大家详细介绍一下
首先介绍一个概念——信息量 。信息量是对信息的一个度量。信息量跟一件事情所发生的概率有关。 通常而言一件事情发生的概率越大,那它产生的信息就越小。
举个例子:
假如我是一个每天都按时上学的乖孩子
某个普通的星期一
我跟妈妈说:妈妈我去上学了 妈妈继续做她手里的事情说 哦,注意安全
但是如果我跟妈妈说 妈妈我今天不去上学了 妈妈可能反应比较大 问 为什么不去上学 你是生病了吗? 还是在学校受欺负了? 等等
我们可以看出 我去上学是一件概率很大的事,所以几乎没有产生什么信息。而我不去上学发生的概率很小,产生了较大的信息。
由此可以看出,我们可以用一个递减的函数来表示某件事情发生的概率与这件事情发生产生的信息量的关系。
h(x) =f(p(x)) 其中 f 表示一个递减的函数
但是递减的函数好多呀 用哪一个呢?
注意到还有一个性质: 如果两个事件 X,Y是相互独立的那么 这两个事件同时发生所产生的信息量等于这两个事情各自独立发生产生的信息量之和 即 h(x,y) = h(x)+h(y)
而这两个事情同时发生的概率是 p(x,y) =p(x)*p(y)
通过这个性质我们很自然的会想到对数函数
h(x,y)=-log(p(x,y))=-log(p(x)*p(y))=-(log(p(x))+log(p(y)))= -(h(x)+h(y))
(log按通常取值以2为底 当然也可以以e为底)
之所以在前面需要加一个负号 是因为p(x,y) 是一个概率 必然取值在[0,1] 之间 而当x在[0,1]时 log(x) 是一个小于0 的值 但是信息量明显是一个大于0的值,所以我们在前面加上一个负号
log2(x) 的图像如下 这样一个事件 X 发生时产生的信息量
可以表示为 H(X)=-log(P(X))
由于我们之前在介绍信息熵公式的时候说了X是一个取有限个值的离散随机变量 ,说明X可以取多个值, 所以信息熵其实是当X取不同值时对信息量取了期望
也就是最后的公式啦