由上一篇介绍的信息熵,现在我们来引出条件熵的概念:
在给定X的条件下,Y的条件概率分布的熵对于X的数学期望。
现在设有随机变量(X,Y),其联合概率分布为:
条件熵H(Y|X)表示在随机变量X的条件下随机变量Y的不确定性。
下面给出条件熵的公式推导:
注意,这个条件熵,不是指在给定某个数(某个变量为某个值)的情况下,另一个变量的熵是多少,变量的不确定性是多少?而是期望!
因为条件熵中X也是一个变量,意思是在一个变量X的条件下(变量X的每个值都会取),另一个变量Y熵对X的期望。
这是最容易错的!
下面通过一个例子来解释一下:
现在假设有上面的数据:
随机变量Y={嫁,不嫁}
可以统计嫁的个数是6/12=1/2 不嫁的个数是6/12 = 1/2
那么Y的熵的计算是H(Y) = - (1/2) log(1/2) - (1/2)log(1/2)
为了引入条件熵,现在在引出一个变量X 代表帅或者不帅,数据如下:
根据数据,在已知不帅的条件下,只有4条数据满足,其中嫁的个数是3/4 不嫁的个数是1/4
那么此时的H(Y|X = 不帅) = -1/4log1/4-3/4log3/4
p(X=不帅)=4/12
同理我们可以得到在帅的条件下,满足数据8条,其中嫁的个数3/8 不嫁的个数是5/8
那么此时条件熵的计算:
那么此时的H(Y|X = 帅) = -5/8log5/8-3/8log3/8
p(X = 帅) = 8/12 = 2/3
有了上面的铺垫之后,我们终于可以计算我们的条件熵了,我们现在需要求:
H(Y|X = 长相)
也就是说,我们想要求出当已知长相的条件下的条件熵。
根据公式我们可以知道,长相可以取帅与不帅俩种
条件熵是另一个变量Y熵对X(条件)的期望。 公式为:
H(Y|X=长相) = p(X=帅)*H(Y|X=帅) + p(X=不帅)*H(Y|X=不帅)