急求助:香农(信息)熵的计算~
1948 年,香农提出了“信息熵” 的概念,所以叫香农熵。香农不是用钱,而是用 “比特”(bit)这个概念来度量信息量。 一个比特是一位二进制数,计算机中的一个字节是八个比特。在上面的例子中,这条消息的信息量是五比特。 信息量的比特数和所有可能情况的对数函数 log 有关。 (log32=5, log64=6。)对于任意一个随机变量 X,它的熵定义如下:变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。有了“熵”这个概念,我们就可以回答本文开始提出的问题,即一本五十万字的中文书平均有多少信息量。我们知道常用的汉字(一级二级国标)大约有 7000 字。假如每个字等概率,那么我们大约需要 13 个比特(即 13 位二进制数)表示一个汉字。但汉字的使用是不平衡的。实际上,前 10% 的汉字占文本的 95% 以上。因此,即使不考虑上下文的相关性,而只考虑每个汉字的独立的概率,那么,每个汉字的信息熵大约也只有 8-9 个比特。如果我们再考虑上下文相关性,每个汉字的信息熵只有5比特左右。所以,一本五十万字的中文书,信息量大约是 250 万比特。如果用一个好的算法压缩一下,整本书可以存成一个 320KB 的文件。如果我们直接用两字节的国标编码存储这本书,大约需要 1MB 大小,是压缩文件的三倍。这两个数量的差距,在信息论中称作“冗余度”(redundancy)。 需要指出的是我们这里讲的 250 万比特是个平均数,同样长度的书,所含的信息量可以差很多。如果一本书重复的内容很多,它的信息量就小,冗余度就大。
香农熵的实例
那么我们如何来量化度量信息量呢?我们来看一个例子,马上要举行世界杯赛了。大家都很关心谁会是冠军。假如我错过了看世界杯,赛后我问一个知道比赛结果的观众“哪支球队是冠军”? 他不愿意直接告诉我, 而要让我猜,并且我每猜一次,他要收一元钱才肯告诉我是否猜对了,那么我需要付给他多少钱才能知道谁是冠军呢? 我可以把球队编上号,从 1 到 32, 然后提问: “冠军的球队在 1-16 号中吗?” 假如他告诉我猜对了, 我会接着问: “冠军在 1-8 号中吗?” 假如他告诉我猜错了, 我自然知道冠军队在 9-16 中。 这样最多只需要五次, 我就能知道哪支球队是冠军。所以,谁是世界杯冠军这条消息的信息量只值五块钱。香农熵(Shannon entropy)在生物信息领域基因表达分析中有广泛的应用,如一些或一个基因在不同组织材料中表达情况己知,但如何确定这些基因是组织特异性表达,还是广泛表达的,那我们就来计算这些基因在N个样本中的香农熵,结果越趋近于零,则表明它是一个越特异表达的基因,结果越趋近于log2(N)则表示它是一个广泛表达的基因。
什么是信息熵、条件熵和信息增益
信息增益描述了一个特征带来的信息量的多少,往往用于特征选择
信息增益 = 信息熵 - 条件熵
一个特征往往会使一个随机变量Y的信息量减少,减少的部分就是信息增益
一个例子
如图所示,目标值是:playtennis,也就是是否打球
有四个特征:天气、温度、湿度、风
信息熵
信息熵的公式:
H(X)=−∑i=1np(xi)logp(xi)
以上图为例,设是否打球这一随机变量为Y,则
p(y=yes)=514
p(y=no)=914
所以H(Y)=−514∗log(514)−914∗log(914)=0.6518
条件熵
条件熵表示在条件X下Y的信息熵。公式如下:
H(Y|X)=∑x∈Xp(x)H(Y|X=x)
在上图的例子中,设humidity湿度为随机变量X
则,p(x=high)=7/14=1/2=p1
p(x=normal)=7/14=1/2=p2
所以,H(Y|X)=p1*H(Y|X=high)+p2*H(Y|X=normal)
而接下来就是计算H(Y|X=high)和H(Y|X=normal)
根据信息熵的计算方法可以得出:
H(Y|X=high)=-4/7*log(4/7)-3/7*log(3/7) = 0.6829
H(Y|X=normal)=-1/7*log(1/7)-6/7*log(6/7) = 0.4101
因此,条件熵为:1/2*0.6829+1/2*0.4101=0.5465
信息增益
信息增益 = 信息熵 - 条件熵=0.6518-0.5465=0.1053
也就是说,引入了湿度humidity这个变量之后,就使得是否打球这个变量的信息量就从0.6518减小到了0.5465
信息量是描述变量的不确定性的,值越大,就表示这个事件越不确定
因此,湿度这个变量的引进,使得这种不确定性降低了,有利于做决定
信息增益常用于决策树的构建,和特征选择
信息论——香农熵
信息论是量化处理信息的科学分支。处理数据信息集合前后信息发生的变化称为信息增益,信息增益越高的特征就是越好的选择。
集合信息的度量方式称为 香农熵 或简称 熵,源于信息理论之父“克劳德·香农”。
信息量越大,特征越多,权重越小
熵: 信息的期望值。
在多分类的事务中,假设 的信息为:
注 : = 真数的指数与不转换结果相同
其中 是该选择分类事务的概率。计算熵则需要计算所有类别中所有 可能值包含的信息期望值(n是分类数目):
线性转换:
注意 线性的最高次项为1,否则就是非线性
lambda乘以一个系数常量{x_1}
如果(线性):
z = wx + b
乘积与变量x有关系 则看作为系数
没关系 则看作常量
指数转换:
softmax非线性转换(存在指数操作)
作用:大的更大,小的更小,差别更加明显
最大似然函数的负数,成为所求的损失函数(解决问题的一种思想)
大数定理:
当频率大到一定程度就是概率
激活函数:
神经网络也是线性的
将激活信息(幂函数、指数函数)向后传入下一层神经网络,解决非线性问题
如果(线性):
z = wx + b
乘积与变量x有关系看作为系数
没关系看作常量
如果(非线性):
加入了幂函数{e^x}等
矩阵中:
一行是一个样本,一列是一个特征
线性回归就是神经网络
在python中如何取消返回值使用(不用相应位置的返回值):
_, book, hook = function()
PS:
污点修复工具,先刷背景也可以 思想(不太好用)
修复画笔工具,alt+鼠标右键调整硬度和上下调整直径
alt+鼠标左键复制replication所选区域样本
通过已经完成图片叠压修图更快、更轻松
足球好还是篮球好 举例说明~
对女生来说貌似都不怎么合适。。。
因为足球(我喜欢足球)要用腿,所以小腿的腿肚可能会变粗哦(只是可能,有的也没变,只是变有力和健美了)
然后是篮球,上半身变粗是必不可少的吧?不然你要怎么发力能?记的我(男生)小学到初三打篮球(基本不打的)的时候投三分是要靠砸的,不然根本没力气,到高中身体发育了才有点力气了,所以参考我们班打篮球的同学各个肌肉都很粗,我感觉不健美。
然后呢。音乐方面的话,足球音乐绝对是篮球没的比的,篮球锦集大都没配背景音乐直接看的,足球的话就很多了,而且很热门,不信去看天下足球!!
好了,说了这么多,最后还是要看你自己了`