信息量理解、信息熵公式的推导

1, 了解信息熵先弄明白信息量的概念

信息量是指信息多少的量度。

信息量有两个重要的特点:
(1)一个事件的信息量与这个事件发生的概率是呈负相关的。这个很好理解,就拿生活中的例子来说,越大概率事件所涵盖的信息量越小,如:晴天的早上太阳从东边升起,这可以说是一个必然事件,给我们带来的信息几乎为零。如:国足踢进了世界杯,对于这种几乎不可能的小概率事件,人们估计都会想把它搞清楚,想把他们搞清楚需要的信息很多,比如谁踢进的球,他们赛场上表现如何,犯规了吗等等…变量的不确定性越大,把它搞清楚所需要的信息量也就越大,这很容易理解。
(2)如果两个事件X、Y的发生没有相互影响的关系(两事件不相关),则信息量满足可加性:I(X,Y) = I(X)+ I(Y)

我们知道两个不相关事件X、Y发生的概率满足公式:P(X,Y)= P(X)* P(Y)。
由此我们想找到描述信息量与概率关系的函数公式,很显然log对数函数满足我们的需要,所以我们想出了信息量与概率的函数雏形:I(X) = log(P(X))。
此时我们需要思考一下,我们前面讲到信息量的性质(1)“一个事件的信息量与其发生的概率是呈负相关的”,由于log对数函数在定义域内是单调递增的,很显然我们的公式雏形不满足一点。这好办,前面加个符号就行了呗~ 即:I(X) = -log(P(X))。这下满足了吧!
由此我们得出了信息量与概率的函数:I(X) = -log(P(X))。我们可以简化一下:I = -logP

2,了解了信息量的含义之后,我们来看一下何为信息熵

信息熵可以理解为平均信息量。

假设有一个事件D有n种可能情况记为:

### 信息熵公式的来源与推导 信息熵公式来源于对信息量的基本性质的研究。信息论中,信息量 $ I(X) $ 表示一个事件 $ X $ 发生时所携带的信息量信息量与其发生的概率呈负相关,即一个事件发生的概率越小,其发生时所携带的信息量越大 [^1]。 为了描述信息量与概率之间的关系,可以使用对数函数来构建这一关系。由于对数函数在其定义域内是单调递增的,而信息量与事件发生的概率呈负相关,因此引入负号来调整方向。由此得出信息量的表达式为: $$ I(X) = -\log(P(X)) $$ 其中 $ P(X) $ 是事件 $ X $ 发生的概率 [^1]。 信息熵 $ H(Y) $ 则是对整个随机变量 $ Y $ 的不确定性进行度量,它是所有可能事件的信息量的期望值。对于离散随机变量 $ Y $,其信息熵的计算公式如下: $$ H(Y) = -\sum_{i=1}^{n} p_i \log(p_i) $$ 这里 $ p_i $ 是随机变量 $ Y $ 取第 $ i $ 个值的概率 [^3]。 这个公式的合理性在于它满足了几个重要的性质:非负性、对称性和可加性。特别是当两个不相关的事件同时发生时,它们的联合信息量等于各自信息量之和,这可以通过对数函数的性质来验证 [^3]。 在实际应用中,信息熵的概念被广泛应用于数据压缩和机器学习等领域,特别是在决策树算法中,信息熵用于计算信息增益,进而选择最优特征进行划分 [^2]。 #### 示例代码:计算信息熵 下面是一个简单的 Python 函数,用于计算给定数据集的经验熵: ```python import math def calculate_entropy(data): """ 计算数据集的经验熵 :param data: 目标变量的列表,例如 ['yes', 'no', 'yes'] :return: 经验熵值 """ from collections import Counter labels = Counter(data) total = len(data) entropy = 0 for count in labels.values(): prob = count / total entropy -= prob * math.log2(prob) return entropy # 示例数据 data = ['yes', 'no', 'yes', 'yes', 'no', 'no', 'yes'] entropy = calculate_entropy(data) print("经验熵:", entropy) ``` 在这个例子中,`calculate_entropy` 函数接收一个目标变量的列表,并返回该列表的经验熵。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值