信息熵公式的详细解释和计算示例

信息熵的定义公式:
E ( D ) = − ∑ k = 1 Y p k log ⁡ p k E(D) = - \sum_{k=1}^Y p_k \log p_k E(D)=k=1Ypklogpk

公式的详细解释:

  1. E ( D ) E(D) E(D):这是数据集 D D D 的信息熵(Entropy)。信息熵是用来衡量数据的不确定性的指标,特别是当数据需要划分成不同类别时,信息熵表示了每个类别数据分布的均匀性。如果一个分类中所有数据都属于同一类,信息熵会很小;反之,若分类中数据分布较为均匀,则信息熵会较大。

  2. p k p_k pk:这是数据集中属于第 k k k 类的样本所占的概率。假设数据集中总共有 Y Y Y 个类别,每个类别对应的概率为 p k p_k pk,且 ∑ k = 1 Y p k = 1 \sum_{k=1}^Y p_k = 1 k=1Ypk=1。比如在一个分类任务中,如果有 3 个类别,分别占比为 0.5 , 0.3 , 0.2 0.5, 0.3, 0.2 0.5,0.3,0.2,那么这就是这些类别对应的 p k p_k pk 值。

  3. log ⁡ p k \log p_k logpk:这是类别 k k k 的对数概率。对数函数用于计算信息熵中的每个类别的权重。因为信息熵是衡量不确定性的,取对数是为了放大较小概率类别的影响,从而更好地反映不确定性。

  4. ∑ k = 1 Y \sum_{k=1}^Y k=1Y:这个符号表示对所有类别进行求和。信息熵需要考虑数据集中每个类别的概率分布,所以我们将所有类别的贡献加起来。

  5. 负号:前面的负号是因为 log ⁡ p k \log p_k logpk 通常是负数,而信息熵是一个非负数,因此我们加上负号使其为正数。

信息熵的作用:

  • 信息熵的核心作用 是衡量数据的混乱程度。在决策树算法中,信息熵通常用于衡量某个特征的分割效果。如果某个特征的划分能够使数据更加纯(即熵更低),那么这个特征就是一个好的划分标准。
  • 熵的值越大,表示数据越混乱、分布越均匀,类别之间没有明显的区别。
  • 熵的值越小,表示数据分布得越纯,分类效果越好。

例子:

假设有一个分类任务,数据集 D D D 包含 10 个样本,分为 3 类,类别 A、B、C 的样本数量分别是 5、3、2。那么每个类别的概率 p k p_k pk 可以计算如下:

  • 类别 A 的概率: p A = 5 10 = 0.5 p_A = \frac{5}{10} = 0.5 pA=105=0.5
  • 类别 B 的概率: p B = 3 10 = 0.3 p_B = \frac{3}{10} = 0.3 pB=103=0.3
  • 类别 C 的概率: p C = 2 10 = 0.2 p_C = \frac{2}{10} = 0.2 pC=102=0.2

根据公式 7-2,信息熵 E ( D ) E(D) E(D) 的计算过程为:
E ( D ) = − ( p A log ⁡ p A + p B log ⁡ p B + p C log ⁡ p C ) E(D) = - \left( p_A \log p_A + p_B \log p_B + p_C \log p_C \right) E(D)=(pAlogpA+pBlogpB+pClogpC)

E ( D ) = − ( 0.5 log ⁡ 0.5 + 0.3 log ⁡ 0.3 + 0.2 log ⁡ 0.2 ) E(D) = - \left( 0.5 \log 0.5 + 0.3 \log 0.3 + 0.2 \log 0.2 \right) E(D)=(0.5log0.5+0.3log0.3+0.2log0.2)

我们现在计算各项的对数值(以 2 为底):

  • log ⁡ 0.5 = − 1 \log 0.5 = -1 log0.5=1
  • log ⁡ 0.3 ≈ − 1.737 \log 0.3 \approx -1.737 log0.31.737
  • log ⁡ 0.2 ≈ − 2.322 \log 0.2 \approx -2.322 log0.22.322

代入公式:
E ( D ) = − ( 0.5 × ( − 1 ) + 0.3 × ( − 1.737 ) + 0.2 × ( − 2.322 ) ) E(D) = - \left( 0.5 \times (-1) + 0.3 \times (-1.737) + 0.2 \times (-2.322) \right) E(D)=(0.5×(1)+0.3×(1.737)+0.2×(2.322))

E ( D ) = − ( − 0.5 − 0.5211 − 0.4644 ) E(D) = - \left( -0.5 - 0.5211 - 0.4644 \right) E(D)=(0.50.52110.4644)

E ( D ) = 1.4855 E(D) = 1.4855 E(D)=1.4855

因此,该数据集的熵 E ( D ) ≈ 1.49 E(D) \approx 1.49 E(D)1.49。这个值表示该数据集的混乱程度,数值越接近 0,说明分类越纯;数值越大,说明数据越混乱、不确定性越高。

总结:

  • 信息熵公式 E ( D ) E(D) E(D) 衡量了数据集分类的不确定性。
  • 通过熵的大小,可以判断一个特征划分的好坏,熵越小说明划分越好。
  • 在决策树算法中,常用信息增益来选择分裂特征,而信息增益正是基于熵的减少量。
### 图像信息熵计算公式 在IT领域中,图像信息熵计算通常基于概率论信息理论的基础概念。对于一幅图像而言,其信息熵可以用来衡量该图像所包含的信息量或者不确定性程度。 #### 定义与公式 图像信息熵 \( H(X) \) 的定义如下: \[ H(X) = -\sum_{x \in \chi} p(x) \log_2 p(x) \] 其中: - \( x \) 表示图像灰度级的一个可能取值; - \( \chi \) 是所有可能灰度级别的集合; - \( p(x) \) 是灰度级别 \( x \) 出现的概率[^3]。 此公式表明,信息熵是对每个灰度级别出现的概率与其对应的对数函数乘积求后的负值。通过这种方式,能够量化图像像素分布的随机性复杂性。 #### 应用场景 信息熵的概念广泛应用于图像压缩、编码优化等领域。例如,在熵编码技术中,为了最小化存储需求并最大化效率,需要依据上述公式来评估不同方案的有效性。如果某个特定灰度值更频繁地出现在图像里,则应为其分配较短的码字长度;反之亦然。 ```python import numpy as np from scipy.stats import entropy def calculate_image_entropy(image_array): hist, _ = np.histogram(image_array.flatten(), bins=256, range=(0, 255)) probabilities = hist / np.sum(hist) non_zero_probabilities = probabilities[np.nonzero(probabilities)] image_entropy = -np.sum(non_zero_probabilities * np.log2(non_zero_probabilities)) return image_entropy # Example usage with a dummy grayscale image array image_data = np.random.randint(0, 256, size=(100, 100), dtype=np.uint8) entropy_value = calculate_image_entropy(image_data) print(f"The calculated entropy of the image is {entropy_value}") ``` 以上Python代码片段展示了如何根据给定的二维数组形式表示的一幅灰阶图片数据集,运用前面提到过的数学表达式手动完成一次具体的数值运算过程演示[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值