经验条件熵公式的推导

H(D|A=a_i)李航《统计学习方法》中,P62页公式5.8:

计算特征A对数据集D的经验条件熵H(D|A):

H(D|A)=\sum_{i=1}^{n}\frac{D_i}{D}H(D_i)=-\sum_{i=1}^{n}\frac{|D_i|}{|D|}\sum_{k=1}^{K}\frac{|D_{ik}|}{|D_i|}{log_{2}}^{\frac{|D_{ik}|}{|D_i|}}

此处,给出条件熵(H(Y|X))的定义:X给定条件下Y的条件概率分布的熵对X的数学期望:

H(Y|X)=\sum_{i=1}^{n}P_iH(Y|X=x_i)

在书中P61页下方给出了各类的定义:

设训练数据集为D,|D|表示样本容量,即样本个数,设有K个类C_kk=1,2,...,K|C_k|为属于类C_k的样本个数,\sum_{k=1}{K}|C_k|=|D|,设特征A有n个不同 的取值{a_1,a_2,.....,a_n},根据特征A的取值将D划分为n个子集D_1,D_2,...D_n|D_i|D_i的样本个数,\sum_{i=1}^{n}|D_i|=|D|,记子集D_i中属于类C_k的样本的集合为D_{ik},即D_{ik}=D_i\cap C_k|D_{ik}|D_{ik}的样本个数。

那么,对于H(D|A),其变形过程如下:

H(D|A)=\sum_{i=1}^{n}p_iH(D|A=a_i)

式中,P_i为按P60页给出的定义:

X是一个取有限个值的离散随机变量,其概率分布P(X=x_i)=p_i,i=1,2,3....,n

这说明P_i是数据集D按照特征A分类成了n类并由此计算其中的第i类的概率分布

对于H(D|A=a_i),它的含义是特征A取值a_i时的条件下,D的条件概率分布的熵。D是整个数据集,在A=a_i时就是上方所述的P61页给出的D_i定义,所以特征A取值a_i时的条件下D的条件概率分布的熵H(D|A=a_i)=H(D_i)

H(D_i)表示由特征A对数据集D划分后形成的D_i子数据集的熵。那么:

H(D_i)=-\sum_{k=1}^{K}p_k{log_{2}}^{p_k},

其中p_kD_i中属于第k类的概率,即:

p_k=\frac{|D_{ik}|}{|D_i|}

最终可得:

H(D|A)=\sum_{i=1}^{n}\frac{D_i}{D}H(D_i)=-\sum_{i=1}^{n}\frac{|D_i|}{|D|}\sum_{k=1}^{K}\frac{|D_{ik}|}{|D_i|}{log_{2}}^{\frac{|D_{ik}|}{|D_i|}}

因此,经验条件熵的求解步骤:

  1. 确定特征A;
  2. 根据特征A对数据集D划分获取子集D_i,(i=1,2,....i,....n),计算子集D_i的经验熵并求和;
    1. 对子集D_i分类(此处分类是按类别分,不是按特征分),获取各类对应的集合D_{ik}
    2. 由上一步的D_{ik}D_i计算第k类在子集D_i中的概率分布|D_{ik}|/|D_i|
    3. 按公式计算出子集D_i的经验熵;
  3. 求子集D_i对于数据集D的概率分布p_i
  4. 步骤2、3中的数据对应相乘后相加。

 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值