(1)信息熵,条件熵,信息增益,信息增益率

介绍信息熵和信息增益之前,先介绍信息增量的概念

1、信息量

定义:信息多少的量度,与事件发生的概率相关。

公式:信息量用 I I I表示, 记事件A发生的概率为p,则事件A的信息量计算公式:
I A = − log ⁡ 2 ( p ) I_A = -\log_2(p) IA=log2(p)

例子 :比如说,我们掷骰子,点数为一事件的概率为 1 6 \frac{1}{6} 61, 那么该事件的信息量为:
I B = − log ⁡ 2 ( 1 6 ) = log ⁡ 2 6 ≈ 2.6 I_B = -\log_2(\frac{1}{6}) = \log_26 \approx2.6 IB=log2(61)=log262.6

2、信息熵

定义:信息熵是信息量的期望值,描述的是不确定性。

公式:由定义我们可以得到熵的计算公式:
E ( S ) = − ∑ i = 1 n p i × log ⁡ 2 ( p i ) E(S) = - \sum_{i=1}^{n}{p_i \times \log_2(p_i)} E(S)=i=1npi×log2(pi)

S : 样 本 空 间 S:样本空间 S
p i : 事 件 i 发 生 的 概 率 p_i:事件i发生的概率 pi:i

3、信息熵冗余度

1 − E ( S ) 1-E(S) 1E(S)

例子:
举一个的例子:对游戏活跃用户进行分层,分为高活跃、中活跃、低活跃三种层次。
模式A按照用户比例分别为20%,30%,50%划分。
模式B按照用户比例分别为5%,5%,90%划分。

模 式 A 划 分 方 式 下 游 戏 的 熵 为 : 模式A划分方式下游戏的熵为: A
E ( S ) = − 0.2 × log ⁡ 2 0.2 − 0.3 × log ⁡ 2 0.3 − 0.5 × log ⁡ 2 0.5 ≈ 1.485 E(S) = -0.2\times\log_20.2 -0.3\times\log_20.3 - 0.5\times\log_20.5\approx1.485 E(S)=0.2×log20.20.3×log20.30.5×log20.51.485

模 式 B 划 分 方 式 下 游 戏 的 熵 为 : 模式B划分方式下游戏的熵为: B
E ( S ) = − 0.05 × log ⁡ 2 0.05 − 0.05 × log ⁡ 2 0.05 − 0.9 × log ⁡ 2 0.9 ≈ 0.569 E(S) = -0.05\times\log_20.05-0.05\times\log_20.05-0.9\times\log_20.9\approx0.569 E(S)=0.05×log20.050.05×log20.050.9×log20.90.569

因此可以知道,模式A下的游戏的熵值更大,不确定性更强,游戏更加丰富。

4、条件熵

定义:已知随机变量 X 的条件下随机变量 Y 的不确定性, 随机变量X给定条件下 Y 的条件概率分布的熵对 X 的数学期望。
公式:条件熵用 H ( Y ∣ X ) H(Y|X) H(YX)表示,计算公式为:
H ( Y ∣ X ) = ∑ i = 1 n p i × H ( Y ∣ X = x i ) H(Y|X) = \sum_{i=1}^{n}{p_i\times H(Y|X= x_i)} H(YX)=i=1npi×H(YX=xi)
在这里插入图片描述

条件熵 H(Y|X)相当于联合熵 H(X,Y)减去单独的熵 H(X),即H(Y|X)=H(X,Y)−H(X):
在这里插入图片描述

eg:有以下数据
在这里插入图片描述

整体熵为:
E ( S ) = − 5 15 × log ⁡ 2 ( 5 15 ) − 10 15 × log ⁡ 2 ( 10 15 ) ≈ 0.9182 E(S) =-\frac{5}{15}\times\log_2(\frac{5}{15})-\frac{10}{15}\times\log_2(\frac{10}{15}) \approx0.9182 E(S)=155×log2(155)1510×log2(1510)0.9182

男性:
E ( S 1 ) = − 3 8 × log ⁡ 2 ( 3 8 ) − 5 8 log ⁡ 2 ( 5 8 ) ≈ 0.9543 E(S_1) = -\frac{3}{8}\times\log_2(\frac{3}{8})-\frac{5}{8}\log_2(\frac{5}{8})\approx0.9543 E(S1)=83×log2(83)85log2(85)0.9543

女性:
E ( S 2 ) = − 2 7 × log ⁡ 2 ( 2 7 ) − 5 7 × log ⁡ 2 ( 5 7 ) ≈ 0.8631 E(S_2) = -\frac{2}{7}\times\log_2(\frac{2}{7})-\frac{5}{7}\times\log_2(\frac{5}{7})\approx0.8631 E(S2)=72×log2(72)75×log2(75)0.8631

性别条件熵:
E ( S , A ) = 8 15 × E ( S 1 ) + 7 15 × E ( S 2 ) ≈ 0.9118 E(S,A) = \frac{8}{15}\times E(S_1)+\frac{7}{15}\times E(S_2)\approx0.9118 E(S,A)=158×E(S1)+157×E(S2)0.9118

5、信息增益

定义:信息增益是信息熵的差值。
当我们使用机器学习模型的时候,特征值的正确选择能够提高模型的准确率,那么最有力的特征值使得识别率最高,也就是加入了特征值以后整体熵就变小了,减少的熵值就称作信息增益。

公式:信息增益用 G r a i n ( S , A ) Grain(S,A) Grain(S,A)表示,计算公式:
G r a i n ( S , A ) = E ( S ) − E ( S , A ) = E ( S ) − H ( S ∣ A ) Grain(S,A) = E(S) - E(S,A) = E(S) - H(S|A) Grain(S,A)=E(S)E(S,A)=E(S)H(SA)

eg:有条件熵中的例子可知,加入性别以后的信息增益为:
G a i n ( S , A ) = E ( S ) − E ( S , A ) = 0.9184 − 0.9118 ≈ 0.0064 Gain(S,A) = E(S) - E(S,A) = 0.9184-0.9118\approx0.0064 Gain(S,A)=E(S)E(S,A)=0.91840.91180.0064

6、信息增益率

定义:某一特征值的信息增益与该特征值的信息熵之比。

公式:信息增益率用 E γ ( S , A ) E_\gamma(S,A) Eγ(S,A)表示,计算公式:
E γ ( S , A ) = G a i n ( S , A ) E ( A ) E_\gamma(S,A) = \frac{Gain(S,A)}{E(A)} Eγ(S,A)=E(A)Gain(S,A)

eg:性别信息增益率
性别熵:
E ( A ) = − 8 15 × log ⁡ 2 ( 8 15 ) − 7 15 × log ⁡ 2 ( 7 15 ) ≈ 0.9968 E(A) = -\frac{8}{15}\times\log_2(\frac{8}{15}) - \frac{7}{15}\times\log_2(\frac{7}{15})\approx0.9968 E(A)=158×log2(158)157×log2(157)0.9968

E γ ( S , A ) = G a i n ( S , A ) E ( A ) = 0.0064 0.9968 ≈ 0.0064 E_\gamma(S,A) =\frac{ Gain(S,A)}{E(A)} = \frac{0.0064}{0.9968}\approx0.0064 Eγ(S,A)=E(A)Gain(S,A)=0.99680.00640.0064

7、基尼系数

定义:反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。
公式:基尼系数用 G i n i ( D ) Gini(D) Gini(D)表示,计算公式:
G i n i ( D ) = ∑ i = 1 n p i × ( 1 − p i ) = ∑ i = 1 n p i 2 Gini(D) = \sum_{i=1}^{n}{p_i\times(1-p_i)} = \sum_{i=1}^{n}{p_i^2} Gini(D)=i=1npi×(1pi)=i=1npi2
eg:

8、附件

计算熵算法:

import math

def entropy(*c):
    if (len(c)<=0):
        return -1
    result = 0;
    for x in c:
        result += (-x)*math.log(x,2)
    return result


print(entropy(0.99,0.01))
print(entropy(0.5,0.5))
print(entropy(0.333,0.333,0.333))

9、参考文献:

https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E9%87%8F/420401
https://zhuanlan.zhihu.com/p/41134986
https://blog.csdn.net/guomutian911/article/details/78599450
https://www.cnblogs.com/qcloud1001/p/6735352.html
https://cloud.tencent.com/developer/article/1526414

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛右刀薛面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值