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

信息熵的定义公式:

E

(

D

)

=

k

=

1

Y

p

k

log

p

k

E(D) = - \sum_{k=1}^Y p_k \log p_k

E(D)=−k=1∑Y​pk​logpk​

公式的详细解释:

E

(

D

)

E(D)

E(D):这是数据集

D

D

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

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=1Y​pk​=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​ 值。

log

p

k

\log p_k

logpk​:这是类别

k

k

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

k

=

1

Y

\sum_{k=1}^Y

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

负号:前面的负号是因为

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)=−(pA​logpA​+pB​logpB​+pC​logpC​)

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.3≈−1.737

log

0.2

2.322

\log 0.2 \approx -2.322

log0.2≈−2.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.5−0.5211−0.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) 衡量了数据集分类的不确定性。通过熵的大小,可以判断一个特征划分的好坏,熵越小说明划分越好。在决策树算法中,常用信息增益来选择分裂特征,而信息增益正是基于熵的减少量。


TOP