信息熵

在学习信息熵时,一直不太理解它到底有什么含义,所以写一点笔记来稍微记录一下。
以下仅为个人理解,如有错误欢迎指正。

信息是个很抽象的概念,人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。
信息熵就是用来度量某条信息中信息量的多少(或者说信息中的不确定性的多少)的概念。

信息的传递

在通信时,存在一个信息发送方和信息接受方,我们通常认为发送方发出的信息是不确定的,只有当接受方收到并检查信息时才能确定信息的内容。

在发送方发出信息后,接受方检查信息前,这条信息对于接收方来说都是不确定的。从接收方的视角来看,这条信息的产生可以看作是从一个包含信息中全部符号的符号池(其中每个符号都有自己的出现概率)中随机挑选符号的过程。比如接收方收到了一条长度为5个符号的信息,可以看做从符号池中依次挑选5个符号来填充这条信息。

如果符号池中包含多个符号,那么我们每一次从符号池中挑选符号的时候并不知道会选出什么符号来,这就造成了不确定性。当挑选过程完成时,这个不确定性就消除了。消除这种不确定性就是通信的目的和结果。

如果符号池中只包含一个符号,那么我们并没有选择,每次只能挑选同一个符号。这时接收方不需要检查发送方的信息就可以预测出信息的内容。


信息的不确定性

来看一个问题,假设我们现在用数字0和1来表示符号,那么:

  • 如果这个信息长度为1,那么可能的信息有2( 2 1 2^1 21)条
  • 如果这个信息长度为2,那么可能的信息有4( 2 2 2^2 22)条
  • 如果这个信息长度为3,那么可能的信息有8( 2 3 2^3 23)条
  • 如果这个信息长度为4,那么可能的信息有16( 2 4 2^4 24)条

所以对于长度为4的信息,我们最多需要16次检测就可以确定这条信息的内容,那么我们可以使用可能产生的信息总数来衡量某条信息的不确定性吗?

再来回顾一下信息的产生过程,我们从符号池中随机挑选一个符号来填充信息的一个位置,换言之,如果信息长度为4,那么只需要4次挑选过程就可以确定一条信息。所以我们应该使用信息长度而非所有可能的信息总数来衡量信息的不确定性。


信息熵

在信息论中,我们用信息熵来衡量信息的不确定性。信息熵是按位(bit)来度量的。在前面我们用数字来充当符号,那么熵的单位就是bits per digits;如果我们用字母来充当符号,那么熵的单位就是bits per letter。这里的符号就是指信息中最小的填充单位。

信息熵的计算公式为:
H = − ∑ i = 1 n p i l o g p i   b i t s   p e r   s y m b o l H = - \sum^n_{i=1}p_i\mathrm{log}p_i\ \mathrm{bits\ per\ symbol} H=i=1npilogpi bits per symbol

信息熵会随着接收方收到信息的不确定性的增加而增加,随着收方收到信息的不确定性的减少而减少。

先用一个简单的例子来了解信息熵:

假设现在符号池中有两个符号X和Y,挑选任意一个都不会影响另外一个被挑选的概率。并且我们知道X被挑选的概率为 p 0 p_0 p0,Y被挑选的概率为 p 1 p_1 p1。这时的熵写为:
H = − ( p 0   l o g   p 0 + p 1   l o g   p 1 )   b i t s   p e r   s y m b o l H = -(p_0\ \mathrm{log}\ p_0 + p_1\ \mathrm{log}\ p_1) \ \mathrm{bits\ per\ symbol} H=(p0 log p0+p1 log p1) bits per symbol

假设现在有一枚硬币,抛出后正面朝上和反面朝上的概率都是0.5。我们可以令X=正面朝上,Y=反面朝上, p 0 = p 1 = 0.5 p_0 = p_1 = 0.5 p0=p1=0.5。根据公式可得信息熵为:
H = − ( 1 2 l o g 1 2 + 1 2 l o g 1 2 ) H = 1   b i t s   p e r   t o s s \begin{aligned} H &= -(\frac{1}{2} \mathrm{log}\frac{1}{2} + \frac{1}{2} \mathrm{log}\frac{1}{2}) \\ H &= 1\ \mathrm{bits\ per\ toss} \end{aligned} HH=(21log21+21log21)=1 bits per toss

也就是说,如果我们连续抛投这枚硬币,每一次只需要1位信息就可以表示结果。

假设现在这枚硬币正面朝上的概率为0.75,反面朝上的概率为0.25,那么:
p 0 = 0.75 p 1 = 0.25 H = − ( 3 4 l o g 3 4 + 1 4 l o g 1 4 ) H = 0.811   b i t s   p e r   t o s s \begin{aligned} p_0 &= 0.75 \\ p_1 &= 0.25 \\ H &= -(\frac{3}{4} \mathrm{log}\frac{3}{4} + \frac{1}{4} \mathrm{log}\frac{1}{4}) \\ H &= 0.811\ \mathrm{bits\ per\ toss} \end{aligned} p0p1HH=0.75=0.25=(43log43+41log41)=0.811 bits per toss
此时的熵小于1,也就是说在理想情况下,我们只需要0.811位信息就可以表示结果。

在第二种情况下,硬币正面朝上和反面朝上的概率是不相等的,我们有更大的概率得到正面朝上的结果。换句话说,此时我们从符号池中挑选符号时,有更大的概率挑出正面朝上的结果,结果的不确定性降低了。

在Matlab中,可以使用Entropy函数来计算信号的信息熵信息熵是用来衡量信号的不确定性和信息量的度量指标。通过计算信号的概率分布和对数运算,可以得到信号的信息熵。下面是一个示例代码: ```matlab % 生成两个随机信号 x1 = randn(1000,1); x2 = rand(1000,1); % 计算信号的信息熵 H1 = entropy(x1); H2 = entropy(x2); disp(['Signal 1 entropy: ', num2str(H1)]); disp(['Signal 2 entropy: ', num2str(H2)]); ``` 在这个示例中,我们生成了两个随机信号x1和x2,并使用Entropy函数分别计算了它们的信息熵信息熵的值越大,表示信号的不确定性和信息量越高。根据信号的概率分布情况,可以得出信号的信息熵值。需要注意的是,确定的事件的信息熵值为零,而时间不确定的事件的信息熵值会大于零。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlab求信号的信息熵](https://blog.csdn.net/weixin_44463965/article/details/130250850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【熵与特征提取】基于“信息熵”的特征指标及其MATLAB代码实现(功率谱熵、奇异谱熵、能量熵)](https://blog.csdn.net/fengzhuqiaoqiu/article/details/121177862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值