公式 7-4 是条件熵的表达式:
E
(
Y
∣
X
)
=
∑
i
=
1
m
p
(
X
=
x
i
)
E
(
Y
∣
X
=
x
i
)
E(Y|X) = \sum_{i=1}^m p(X = x_i) E(Y | X = x_i)
E(Y∣X)=i=1∑mp(X=xi)E(Y∣X=xi)
这个公式表示的是条件熵,它是衡量在已知某一特征 X X X 的情况下,随机变量 Y Y Y 的不确定性(熵)。条件熵 E ( Y ∣ X ) E(Y|X) E(Y∣X) 的含义是:在已知 X X X 的值的情况下, Y Y Y 的不确定性有多大。它通过对所有可能的 X X X 的取值的熵进行加权平均来计算。
公式的详细解释:
-
E ( Y ∣ X ) E(Y|X) E(Y∣X):这是条件熵,表示在给定 X X X 的条件下, Y Y Y 的不确定性。它衡量了已知 X X X 的值后, Y Y Y 仍然有多少不确定性。如果 X X X 对 Y Y Y 的影响很大,那么条件熵会很低;如果 X X X 无法有效区分 Y Y Y 的类别,那么条件熵会较高。
-
∑ i = 1 m \sum_{i=1}^m ∑i=1m:这个符号表示对 X X X 的所有可能取值进行求和。即我们对 X X X 的每一个取值 x i x_i xi 都要计算相应的条件熵并加权平均。 m m m 是随机变量 X X X 的可能取值数量。
-
p ( X = x i ) p(X = x_i) p(X=xi):这是边缘概率,表示 X X X 取某个值 x i x_i xi 的概率。它表示了在数据集中 X X X 取值为 x i x_i xi 的样本所占比例。
-
E ( Y ∣ X = x i ) E(Y|X = x_i) E(Y∣X=xi):这是在 X X X 已知为 x i x_i xi 的条件下, Y Y Y 的熵,即条件熵。它衡量了在 X = x i X = x_i X=xi 的条件下, Y Y Y 的不确定性。通常,条件熵使用公式 E ( Y ∣ X = x i ) = − ∑ j = 1 n p ( Y = y j ∣ X = x i ) log p ( Y = y j ∣ X = x i ) E(Y|X = x_i) = - \sum_{j=1}^n p(Y = y_j | X = x_i) \log p(Y = y_j | X = x_i) E(Y∣X=xi)=−∑j=1np(Y=yj∣X=xi)logp(Y=yj∣X=xi) 来计算,其中 p ( Y = y j ∣ X = x i ) p(Y = y_j | X = x_i) p(Y=yj∣X=xi) 是条件概率,表示在 X = x i X = x_i X=xi 时 Y Y Y 为 y j y_j yj 的概率。
直观理解条件熵:
-
条件熵 E ( Y ∣ X ) E(Y|X) E(Y∣X) 表示在已知 X X X 的情况下, Y Y Y 还有多少不确定性。如果 X X X 能完全决定 Y Y Y 的取值,那么条件熵 E ( Y ∣ X ) E(Y|X) E(Y∣X) 为 0,表示没有不确定性(即 X X X 和 Y Y Y 完全相关)。如果 X X X 和 Y Y Y 完全无关,则条件熵 E ( Y ∣ X ) E(Y|X) E(Y∣X) 等于 Y Y Y 的熵 E ( Y ) E(Y) E(Y),即条件熵没有帮助减少不确定性。
-
条件熵是信息增益的基础:当我们使用某个特征 X X X 来划分数据时,条件熵表示在这个划分下,目标变量 Y Y Y 的不确定性。如果某个划分显著减少了不确定性(即条件熵小),说明这个特征 X X X 是一个很好的分类依据。
举例说明:
假设我们有一个简单的二元分类问题, Y Y Y 表示分类标签, X X X 表示一个特征。我们有以下数据集:
- 数据集包含 10 个样本,其中 6 个是类别 1,4 个是类别 2。
- 特征
X
X
X 可以取 2 个值:
x
1
x_1
x1 和
x
2
x_2
x2。
- 当 X = x 1 X = x_1 X=x1 时,有 4 个样本,其中 3 个是类别 1,1 个是类别 2。
- 当 X = x 2 X = x_2 X=x2 时,有 6 个样本,其中 3 个是类别 1,3 个是类别 2。
1. 计算边缘概率:
- p ( X = x 1 ) = 4 10 = 0.4 p(X = x_1) = \frac{4}{10} = 0.4 p(X=x1)=104=0.4
- p ( X = x 2 ) = 6 10 = 0.6 p(X = x_2) = \frac{6}{10} = 0.6 p(X=x2)=106=0.6
2. 计算条件熵 E ( Y ∣ X = x 1 ) E(Y|X = x_1) E(Y∣X=x1) 和 E ( Y ∣ X = x 2 ) E(Y|X = x_2) E(Y∣X=x2):
条件熵的计算公式为:
E
(
Y
∣
X
=
x
i
)
=
−
∑
j
=
1
n
p
(
Y
=
y
j
∣
X
=
x
i
)
log
p
(
Y
=
y
j
∣
X
=
x
i
)
E(Y|X = x_i) = - \sum_{j=1}^n p(Y = y_j | X = x_i) \log p(Y = y_j | X = x_i)
E(Y∣X=xi)=−j=1∑np(Y=yj∣X=xi)logp(Y=yj∣X=xi)
-
当 X = x 1 X = x_1 X=x1 时:
- 类别 1 的条件概率: p ( Y = 1 ∣ X = x 1 ) = 3 4 = 0.75 p(Y = 1 | X = x_1) = \frac{3}{4} = 0.75 p(Y=1∣X=x1)=43=0.75
- 类别 2 的条件概率: p ( Y = 2 ∣ X = x 1 ) = 1 4 = 0.25 p(Y = 2 | X = x_1) = \frac{1}{4} = 0.25 p(Y=2∣X=x1)=41=0.25
条件熵为:
E ( Y ∣ X = x 1 ) = − ( 0.75 log 2 0.75 + 0.25 log 2 0.25 ) E(Y|X = x_1) = - (0.75 \log_2 0.75 + 0.25 \log_2 0.25) E(Y∣X=x1)=−(0.75log20.75+0.25log20.25)我们计算各项的对数值:
log 2 0.75 ≈ − 0.415 , log 2 0.25 = − 2 \log_2 0.75 \approx -0.415, \quad \log_2 0.25 = -2 log20.75≈−0.415,log20.25=−2代入公式:
E ( Y ∣ X = x 1 ) = − ( 0.75 × − 0.415 + 0.25 × − 2 ) = 0.31125 + 0.5 = 0.81125 E(Y|X = x_1) = - (0.75 \times -0.415 + 0.25 \times -2) = 0.31125 + 0.5 = 0.81125 E(Y∣X=x1)=−(0.75×−0.415+0.25×−2)=0.31125+0.5=0.81125 -
当 X = x 2 X = x_2 X=x2 时:
- 类别 1 的条件概率: p ( Y = 1 ∣ X = x 2 ) = 3 6 = 0.5 p(Y = 1 | X = x_2) = \frac{3}{6} = 0.5 p(Y=1∣X=x2)=63=0.5
- 类别 2 的条件概率: p ( Y = 2 ∣ X = x 2 ) = 3 6 = 0.5 p(Y = 2 | X = x_2) = \frac{3}{6} = 0.5 p(Y=2∣X=x2)=63=0.5
条件熵为:
E ( Y ∣ X = x 2 ) = − ( 0.5 log 2 0.5 + 0.5 log 2 0.5 ) E(Y|X = x_2) = - (0.5 \log_2 0.5 + 0.5 \log_2 0.5) E(Y∣X=x2)=−(0.5log20.5+0.5log20.5)因为 log 2 0.5 = − 1 \log_2 0.5 = -1 log20.5=−1,所以:
E ( Y ∣ X = x 2 ) = − ( 0.5 × − 1 + 0.5 × − 1 ) = 1 E(Y|X = x_2) = - (0.5 \times -1 + 0.5 \times -1) = 1 E(Y∣X=x2)=−(0.5×−1+0.5×−1)=1
3. 计算条件熵 E ( Y ∣ X ) E(Y|X) E(Y∣X):
现在我们将两个条件熵按边缘概率加权求和:
E
(
Y
∣
X
)
=
p
(
X
=
x
1
)
E
(
Y
∣
X
=
x
1
)
+
p
(
X
=
x
2
)
E
(
Y
∣
X
=
x
2
)
E(Y|X) = p(X = x_1) E(Y|X = x_1) + p(X = x_2) E(Y|X = x_2)
E(Y∣X)=p(X=x1)E(Y∣X=x1)+p(X=x2)E(Y∣X=x2)
代入已知数值:
E
(
Y
∣
X
)
=
0.4
×
0.81125
+
0.6
×
1
=
0.3245
+
0.6
=
0.9245
E(Y|X) = 0.4 \times 0.81125 + 0.6 \times 1 = 0.3245 + 0.6 = 0.9245
E(Y∣X)=0.4×0.81125+0.6×1=0.3245+0.6=0.9245
结论:
- 条件熵 E ( Y ∣ X ) = 0.9245 E(Y|X) = 0.9245 E(Y∣X)=0.9245 表示,在已知特征 X X X 的情况下,目标变量 Y Y Y 仍然具有约 0.9245 的不确定性。
- 条件熵帮助我们理解特征 X X X 对目标变量 Y Y Y 的解释能力。如果某个特征的条件熵很低,说明这个特征可以很好地帮助分类决策。如果条件熵很高,则说明该特征对目标变量的区分能力有限。
总结:
- 公式 7-4 计算了条件熵,它衡量了在已知特征 X X X 的情况下,目标变量 Y Y Y 的不确定性。
- 条件熵是决策树中进行特征选择的重要指标,通过最小化条件熵,我们可以选择出能够最好地分类数据的特征。
- 条件熵越小,表示特征 X X X 能很好地解释目标变量 Y Y Y 的分类。