概念说明
经验熵和经验条件熵都是信息论中的概念,用于度量随机变量的不确定性或信息量。它们在决策树和信息增益的计算中经常被使用。
-
经验熵(Empirical Entropy):
经验熵用来度量随机变量的不确定性或混乱程度。对于一个随机变量 X X X,它的经验熵 H ( X ) H(X) H(X) 可以通过以下公式来计算:H ( X ) = − ∑ i = 1 n P ( x i ) log 2 P ( x i ) H(X) = -\sum_{i=1}^{n} P(x_i) \log_2 P(x_i) H(X)=−i=1∑nP(xi)log2P(xi)
其中, n n n 是 X X X 的可能取值的数量, x i x_i xi 是其中一个可能的取值, P ( x i ) P(x_i) P(xi) 是 X X X 取值为 x i x_i xi 的概率。经验熵的单位通常是比特(或者以 2 2 2 为底的对数单位)。经验熵越高,表示随机变量的不确定性越大,混乱程度越高。
-
经验条件熵(Conditional Empirical Entropy):
经验条件熵用于度量在已知另一个随机变量的条件下,随机变量的不确定性或混乱程度。对于两个随机变量 X X X 和 Y Y Y, X X X 在已知 Y Y Y 的条件下的经验条件熵 H ( X ∣ Y ) H(X|Y) H(X∣Y) 可以通过以下公式来计算:H ( X ∣ Y ) = − ∑ i = 1 n ∑ j = 1 m P ( x i , y j ) log 2 P ( x i , y j ) P ( y j ) H(X|Y) = -\sum_{i=1}^{n} \sum_{j=1}^{m} P(x_i, y_j) \log_2 \frac{P(x_i, y_j)}{P(y_j)} H(X∣Y)=−i=1∑nj=1∑mP(xi,yj)log2P(yj)P(xi,yj)
其中, n n n 是 X X X 的可能取值的数量, m m m 是 Y Y Y 的可能取值的数量, x i x_i xi 是 X X X 的一个可能取值, y j y_j yj 是 Y Y Y 的一个可能取值, P ( x i , y j ) P(x_i, y_j) P(xi,yj) 是 X X X 取值为 x i x_i xi 且 Y Y Y 取值为 y j y_j yj 的联合概率, P ( y j ) P(y_j) P(yj) 是 Y Y Y 取值为 y j y_j yj 的概率。经验条件熵的单位也是比特。
经验条件熵衡量了在已知条件下,随机变量 X X X 的不确定性或混乱程度。如果经验条件熵 H ( X ∣ Y ) H(X|Y) H(X∣Y) 较大,表示在已知 Y Y Y 的条件下, X X X 的取值仍然有较大的不确定性。
在决策树的上下文中,经验熵和经验条件熵常用于计算信息增益,帮助选择最佳的特征来进行数据集的划分,以便构建一个更好的决策树模型。
举例说明
当我们使用观测数据来计算经验熵和经验条件熵时,常见的情景是分类问题。让我们通过一个简单的分类问题来说明这两个概念。
问题描述:
假设我们有一个水果分类器,它根据水果的颜色(红、绿、黄)和形状(圆、椭圆)将水果分为三类:苹果、香蕉和橙子。我们有一些观测数据来估计水果的颜色和形状的概率分布,并计算经验熵和经验条件熵。
步骤 1:观测数据估计概率分布
假设我们有以下观测数据:
- 红、圆 - 苹果
- 绿、圆 - 苹果
- 红、椭圆 - 橙子
- 绿、椭圆 - 橙子
- 黄、椭圆 - 香蕉
现在,我们可以估计每个水果类别的概率分布:
- P ( 苹果 ) = 2 5 P(\text{苹果}) = \frac{2}{5} P(苹果)=52
- P ( 橙子 ) = 2 5 P(\text{橙子}) = \frac{2}{5} P(橙子)=52
- P ( 香蕉 ) = 1 5 P(\text{香蕉}) = \frac{1}{5} P(香蕉)=51
以及每个特征(颜色和形状)的概率分布:
- P ( 红 ) = 2 5 P(\text{红}) = \frac{2}{5} P(红)=52
- P ( 绿 ) = 2 5 P(\text{绿}) = \frac{2}{5} P(绿)=52
- P ( 黄 ) = 1 5 P(\text{黄}) = \frac{1}{5} P(黄)=51
- P ( 圆 ) = 2 5 P(\text{圆}) = \frac{2}{5} P(圆)=52
- P ( 椭圆 ) = 3 5 P(\text{椭圆}) = \frac{3}{5} P(椭圆)=53
步骤 2:计算经验熵
现在,我们可以使用估计的概率分布来计算水果类别的经验熵:
H ( 水果 ) = − ∑ P ( 水果 ) ⋅ log 2 ( P ( 水果 ) ) H(\text{水果}) = -\sum P(\text{水果}) \cdot \log_2(P(\text{水果})) H(水果)=−∑P(水果)⋅log2(P(水果))
H ( 水果 ) = − ( 2 5 ⋅ log 2 ( 2 5 ) + 2 5 ⋅ log 2 ( 2 5 ) + 1 5 ⋅ log 2 ( 1 5 ) ) H(\text{水果}) = -\left(\frac{2}{5} \cdot \log_2\left(\frac{2}{5}\right) + \frac{2}{5} \cdot \log_2\left(\frac{2}{5}\right) + \frac{1}{5} \cdot \log_2\left(\frac{1}{5}\right)\right) H(水果)=−(52⋅log2(52)+52⋅log2(52)+51⋅log2(51))
计算结果:
H ( 水果 ) ≈ 1.5219 H(\text{水果}) \approx 1.5219 H(水果)≈1.5219 比特
这是水果类别的经验熵。
步骤 3:计算经验条件熵
现在,假设我们想计算在已知颜色的情况下水果类别的经验条件熵,即 H ( 水果 ∣ 颜色 ) H(\text{水果} | \text{颜色}) H(水果∣颜色)。我们可以使用观测数据估计条件概率分布。
例如,我们可以计算在已知颜色是红色的情况下水果类别的条件概率分布:
- P ( 苹果 ∣ 红 ) = 1 2 P(\text{苹果} | \text{红}) = \frac{1}{2} P(苹果∣红)=21
- P ( 橙子 ∣ 红 ) = 1 2 P(\text{橙子} | \text{红}) = \frac{1}{2} P(橙子∣红)=21
- P ( 香蕉 ∣ 红 ) = 0 P(\text{香蕉} | \text{红}) = 0 P(香蕉∣红)=0
然后,我们可以计算在已知颜色的情况下水果类别的经验条件熵:
H ( 水果 ∣ 颜色 ) = − ∑ P ( 颜色 ) ⋅ ∑ P ( 水果 ∣ 颜色 ) ⋅ log 2 ( P ( 水果 ∣ 颜色 ) ) H(\text{水果} | \text{颜色}) = -\sum P(\text{颜色}) \cdot \sum P(\text{水果} | \text{颜色}) \cdot \log_2(P(\text{水果} | \text{颜色})) H(水果∣颜色)=−∑P(颜色)⋅∑P(水果∣颜色)⋅log2(P(水果∣颜色))
H ( 水果 ∣ 颜色 ) = − ( 2 5 ⋅ ( 1 2 ⋅ log 2 ( 1 2 ) + 1 2 ⋅ log 2 ( 1 2 ) ) + 1 5 ⋅ 0 ) H(\text{水果} | \text{颜色}) = -\left(\frac{2}{5} \cdot \left(\frac{1}{2} \cdot \log_2\left(\frac{1}{2}\right) + \frac{1}{2} \cdot \log_2\left(\frac{1}{2}\right)\right) + \frac{1}{5} \cdot 0\right) H(水果∣颜色)=−(52⋅(21⋅log2(21)+21⋅log2(21))+51⋅0)
计算结果:
H ( 水果 ∣ 颜色 ) ≈ 0.7219 H(\text{水果} | \text{颜色}) \approx 0.7219 H(水果∣颜色)≈0.7219 比特
这是在已知水果的颜色的情况下水果类别的经验条件熵。
总结:
- 水果类别的经验熵为约1.5219比特。
- 在已知水果的颜色的情况下,水果类别的经验条件熵为约0.7219比特。
结果含义解读
计算出的经验熵和经验条件熵提供了关于水果分类问题的信息量和条件信息量的度量。以下是对结果的解释:
-
经验熵 (Entropy of Fruits):
- 计算结果约为1.5219比特。
- 这表示在不知道水果的颜色和形状的先验情况下,对于每个水果的分类问题,平均需要1.5219比特的信息来描述水果属于哪个类别。
- 这个值越高,表示分类问题越复杂或不确定,需要更多的信息来进行分类。
-
经验条件熵 (Conditional Entropy of Fruits given Color):
- 计算结果约为0.7219比特。
- 这表示在已知水果的颜色的情况下,对于每个水果的分类问题,平均只需要0.7219比特的信息来描述水果属于哪个类别。
- 经验条件熵衡量了在拥有附加信息(颜色)的情况下,分类问题的不确定性或信息量。
- 相对于经验熵,这个值较低,表示在已知颜色的情况下,分类问题变得更容易,需要较少的信息来分类水果。
综合来说,经验熵和经验条件熵提供了关于分类问题难度和条件信息的量化度量。更低的熵值表示更容易的分类问题,而更高的熵值表示更复杂或不确定的分类问题。在机器学习和信息理论中,这些概念常用于评估模型性能、特征选择和信息增益等任务。