当组成该随机变量的一个事件的概率为1时信息熵最小,为0 , 即该事件必然发生 。当组成该随机变量的所有事件发生的概率相等时,信息熵最大 , 即完全不能判断那一个事件更容易发生 , 不确定性最大 。
当一个事件主导时,比如偏态分布( Skewed Probability Distribution ),不确定性减小 , 信息熵较低(low entropy)python中决策树函数;当所有事件发生概率相同时 , 比如均衡分布( Balanced Probability Distribution ),不确定性极大 , 信息熵较高(high entropy) 。
由以上的香农信息公式可知,信息熵主要有三条性质:
- 单调性。发生概率越高的事件,其所携带的信息熵越低 。比如一个真理的不确定性是极低的,那么它所携带的信息熵就极低 。
- 非负性。信息熵不能为负 。单纯从逻辑层面理解,如果得知了某个信息后,却增加了不确定性,这也是不合逻辑的 。
- 可加性。即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和 。
若两事件A和B同时发生 , 两个事件相互独立 。p(X=A,Y=B) = p(X = A)*p(Y=B) , 那么信息熵为H(A,B) = H(A) + H(B)。但若两事件不相互独立 , 那么 H(A,B) = H(A) + H(B) - I(A,B)。其中 I(A,B) 是互信息( mutual information,MI ),即一个随机变量包含另一个随机变量信息量的度量 。即已知X的情况下,Y的分布是否会改变 。
可以理解为,两个随机变量的互信息度量了两个变量间相互依赖的程度 。X 和 Y的互信息可以表示为:
I(X;Y) = H(X) - H(X|Y)
H(X)是X的信息熵,H(X|Y)是已知Y的情况下,X的信息熵 。结果的单位是比特 。
简单来说,互信息的性质为:
- I(X;Y)=0互信息永远不可能为负
- H(X) - H(X|Y) = I(X;Y) = I (Y;X) = H(Y) - H(Y|X)互信息是对称的
-当X,Y独立的时候,I(X;Y) = 0互信息值越大,两变量相关性越强 。
-当X,Y知道一个就能推断另一个的时候,I(X;Y) = H(Y) = H(X)
在数据科学中,互信息常用于特征筛选 。在通信系统中互信息也应用广泛 。在一个点到点的通信系统中 , 发送信号为X,通过信道后,接收端接收到的信号为Y,那么信息通过信道传递的信息量就是互信息 I(X,Y)。根据这个概念,香农推导出信道容量(即临界通信传输速率的值) 。
信息增益( Information Gain )是用来按照一定规则划分数据集后,衡量信息熵减少量的指数 。
那数据集的信息熵又是怎么计算的呢?比如一个常见的0,1二分类问题,我们可以计算它的熵为:
Entropy = -(p(0) * log(P(0)) + p(1)\ * log(P(1)))
当该数据集为50/50的数据集时,它的信息熵是最大的(1bit) 。而10/90的数据集将会大大减少结果的不确定性 , 减小数据集的信息熵(约为0.469bit) 。
这样来说,信息熵可以用来表示数据集的纯度( purity ) 。信息熵为0就表示该数据集只含有一个类别,纯度最高 。而较高的信息熵则代表较为平衡的数据集和较低的纯度 。
信息增益是提供了一种可以使用信息熵计算数据集经过一定的规则(比如决策树中的一系列规则)进行数据集分割后信息熵的变化的方法 。
IG(S,a) = H(S) - H(S|a)
其中,H(s) 是原数据集S的信息熵(在做任何改变之前),H(S|a)是经过变量a的一定分割规则 。所以信息增益描述的是数据集S变换后所节省的比特数 。
信息增益可以用做决策树的分枝判断方法 。比如最常用CART树( Classification and Regression Tree )中的分枝方法,只要在python中设置参数 criterion 为 “entropy” 即可 。
推荐阅读
- chatgpt帮忙回复,帮忙幽默回答
- 为什么手机上会显示一个g,为什么手机上面显示一个g
- 钟情下载,钟情百度
- 手机视频拍摄为什么有黑边,手机视频拍摄为什么有黑边框
- mysql怎么改结果标题 mysql修改列标题
- oracle的日期计算函数,oracle 日期计算
- 3d格斗游戏叫什么,3d 格斗
- nds模拟器不能保存游戏,nds模拟器游戏文件放哪
- python奇偶求和函数 python怎么求奇偶数