信息增益和信息熵7-25

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

论的概念,我们用一个统计量,“信息增益”
(Information Gain)来衡量一个属性区分以上数据样本
的能力。信息增益量越大,这个属性作为一棵树的根节点
就能使这棵树更简洁,比如说一棵树可以这么读成,如果
风力弱,就去玩;风力强,再按天气、温度等分情况讨论,
此时用风力作为这棵树的根节点就很有价值。如果说,风
• Entropy(Weak)=-(6/8)*log(6/8)-(2/8)*log(2/8)=0.811 • • Entropy(Strong)=-(3/6)*log(3/6)-(3/6)*log(3/6)=1.0 •
现在就可以计算出相应的信息增益了: Gain(Wind)=Entropy(S)-(8/14)*Entropy(Weak)(6/14)*Entropy(Strong)=0.940-(8/14)*0.811-(6/14)*1.0=0.048 这个公式的奥秘在于,8/14是属性Wind取值为Weak的个数占总记录的比例, 同样6/14是其取值为Strong的记录个数与总记录数之比。


这里我们先不讨论算法(这里用的是ID3/C4.5),把
一棵决策树建立起来再说。我们要建立的决策树的形式类
似于“如果天气怎么样,去玩;否则,怎么着怎么着”的
树形分叉。那么问题是用哪个属性(即变量,如天气、温
度、湿度和风力)最适合充当这颗树的根节点,在它上面
没有其他节点,其他的属性都是它的后续节点。借用信息
• Entropy(S)= -(9/14)*log(9/14)-(5/14)*log(5/14) •
解释一下,9/14是正例的个数与总记录之比,同样5/14是负例占总记录的比 例。log(.)是以2为底的对数(我们知道以e为底的对数称为自然对数,记为 ln(.),lg(.)表示以10为底的对数)。在Excel里我们可以随便找一个空白的单元 格,键入以下公式即得0.940: • =-(9/14)*LOG(9/14,2)-(5/14)*LOG(5/14,2) • 这里LOG(9/14,2)中的“2”表示以2为底。类似地,如果你习惯用Matlab做数 学运算本,公式为 • -(9/14)*log2(9/14)-(5/14)*log2(5/14) 其中“2”的含义与上同。
力弱,再又天气晴朗,就去玩;如果风力强,再又怎么怎
么分情况讨论,这棵树相比就不够简洁了。计算信息增益
的公式需要用到“熵”(Entropy)。名词越来越多,让
我们通过手工计算记住它们的计算方法,把Excel打开。
• 1 计算熵
我们检查的属性是是否出去玩。用Excel对上面数据的play变量的各个取 值排个序(这个工作簿里把“play”这个词去掉),一共是14条记录,你能数 出取值为yes的记录有9个,取值为no的有5个,我们说这个样本里有9个正例, 5 个负例,记为S(9+,5-),S是样本的意思(Sample)。这里熵记为Entropy(S), 计算公式为:
• 这样我们就得到了以上四个属性相应的信息增益 值:
Gain(Wind)=0.048 ;Gain(Humidity)=0.151 ; Gain(Outlook)=0.247 ; Gain(Temperature)=0.029
最后按照信息增益最大的原则选Outlook为根节点。 子节点重复上面的步骤。这颗树可以是这样的, 它读起来就跟你认为的那样
• 其中,p+、p-分别为正例和负例占总记录的比例。输出属 性取值大于2的情况,公式是对称的。
• Entropy(s)=-∑(pi ) log2 (pi ) (i=1,2,…,n)
• 2 分别以Wind、Humidity、Outlook和Temperature作为根节点,计算其信 息增益
可以数得,属性Wind中取值为Weak的记录有8条,其中正例6个,负例2个; 同样,取值为Strong的记录6个,正例负例个3个。我们可以计算相应的熵为:
重新解释,对信息的销毁是一个不可逆过程,所以销毁信息是符合热
力学第二定律的。而产生信息,则是为系统引入负(热力学)熵的过
程。所以信息熵的符号与热力学熵应该是相反的。一般而言,当一种
信息出现概率更高的时候,表明它被传播得更广泛,或者说,被引用
的程度更高。我们可以认为,从信息传播的角度来看,信息熵可以表
信息增益定义
• 信息增益(information gain)是指期望信 息或者信息熵(1)的有效减少量(通常用“字节” 衡量),根据它能够确定在什么样的层次上选择 什么样的变量来分类。
(1)信息熵是指 对信息具体的量化度量问题。信息论之父 C. E. Shannon 第一次用数学语言阐明了概率与信息冗余度的关系。 Shannon 指出,任何信息都存在冗余,冗余大小与信息中每个符号 (数字、字母或单词)的出现概率或者说不确定性有关。 Shannon 借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信
• 同理,如果以Humidity作为根节点:
• Entropy(High)=0.985 ; Entropy(Normal)=0.592

• Gain(Humidity)=0.940-(7/14)*Entropy(High)-(7/14)*Entropy(Normal)=0.151
• 以Outlook作为根节点: Entropy(Sunny)=0.971 ; Entropy(Overcast)=0.0 ; Entropy(Rain)=0.971 Gain(Outlook)=0.940-(5/14)*Entropy(Sunny)-(4/14)*Entropy(Overcast)(5/14)*Entropy(Rain)=0.247 以Temperature作为根节点: Entropy(Cool)=0.811 ; Entropy(Hot)=1.0 ; Entropy(Mild)=0.918 Gain(Temperature)=0.940-(4/14)*Entropy(Cool)-(4/14)*Entropy(Hot)(6/14)*Entropy(Mild)=0.029
总结

在这个例子中,我们的输出属性(我们要检查的属性)
“play”只有两个取值,同样地,如果输出属性的取值大于
2,公式是对成的,一样的形式,连加就是,找到各个取
值的个数,求出各自的比例。如果样本具有二元输出属性,
其Leabharlann Baidu的公式为
• Entropy(S) =-(p+)*log(p+)-(p-)*log(p-)
示信息的价值。这样子我们就有一个衡量信息价值高低的标准,可以
做出关于知识流通问题的更多推论。
• 信息熵的计算公式

H(x)=E[I(xi)]=E[ log(1/p(xi)) ]=-∑p(xi)log(p(xi))
(i=1,2,..n)
信息熵和信息增益的计算
• 当我们需要对一个随机事件的概率分布进行 预测时,我们的预测应当满足全部已知的条件, 而对未知的情况不要做任何主观假设。在这种情 况下,概率分布最均匀,预测的风险最小。因为 这时概率分布的信息熵最大,所以称之为“最大 熵法”。最大熵法在数学形式上很漂亮,但是实 现起来比较复杂,但把它运用于金融领域的诱惑 也比较大,比如说决定股票涨落的因素可能有几 十甚至上百种,而最大熵方法恰恰能找到一个同 时满足成千上万种不同条件的模型。
息熵”,并给出了计算信息熵的数学表达式。

信息理论的鼻祖之一Claude E. Shannon把信息(熵)定义为离散
随机事件的出现概率。所谓信息熵,是一个数学上颇为抽象的概念,
在这里不妨把信息熵理解成某种特定信息的出现概率。而信息熵和热
力学熵是紧密相关的。根据Charles H. Bennett对Maxwell‘s Demon的
相关文档
最新文档