天津理工大学 信息论与编码实验2 熵的极值性验证

一、实验目的
离散集的平均自信息量定义为熵,熵表示了集合中所有事件是否发生的平均不定性的大小。本实验通过验证熵的一些基本性质,加深对信源熵概念的理解。
熟悉基础编程。

二、实验仪器及材料
计算机

三、实验原理
信源输出的各消息的自信息量的数学期望为信源的信息熵,表达式如下

信源熵是信源的统计平均不确定性的描述,是概率 的函数。

四、实验内容
写出实验内容中的程序并附上实现的结果。

极值性与非负性验证:设一个二元离散信源,其概率空间为:

[■(X@P)]=[■(0&1@p&1-p)]
编程画出熵H与概率p的关系图,观察熵H的取值范围,并说明当P呈现什么分布时,平均信息量熵达到最大。

import numpy as np
import matplotlib.pyplot as plt
def selfinformation(p):
    return  (-1)*np.log2(p)
a = np.linspace(0,1,100)
b = 1-a
c= []
for i in range(100):
    m = a[i] * selfinformation(a[i]) + b[i] *selfinformation(b[i])
    c.append(m)
plt.plot(a,c)

天津理工大学 信息论与编码实验2 熵的极值性验证_第1张图片
天津理工大学 信息论与编码实验2 熵的极值性验证_第2张图片

你可能感兴趣的:(信息论与编码,python,机器学习,信息熵)