码迷,mamicode.com
首页 > 其他好文 > 详细

每日一个机器学习算法——信息熵

时间:2014-09-13 20:02:35      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   数据   2014   sp   log   c   算法   

1 定义

bubuko.com,布布扣

2 直观解释

信息熵用来衡量信息量的大小

若不确定性越大,则信息量越大,熵越大

若不确定性越小,则信息量越小,熵越小

比如A班对B班,胜率一个为x,另一个为1-x

则信息熵为 -(xlogx + (1-x)log(1-x))

求导后容易证明x=1/2时取得最大,最大值为2

也就是说两者势均力敌时,不确定性最大,熵最大。

3 应用

数据挖掘中的决策树。

构建决策树的过程,就是减小信息熵,减小不确定性。从而完整构造决策树模型。

所以我们需要在每一次选择分支属性时,计算这样分类所带来的信息熵的增益,增益越大,不确定性越小,最终也就是我们要选择的分支属性。

首先我们会在未进行任何分类前求取一个信息熵,这个信息熵涉及到只是简单的求取样本标签的分布,然后按照公式求解信息熵。

之后在选用某一个属性作为分支属性后,我们需要计算每一个子分支中的样本标签的分布,然后计算每个子样本的信息熵,最后加权平均(期望),求得总的信息熵。

计算前后两个信息熵的差值,选择最大的增益属性作为分支属性。

一直递归下去,对每一个子样本套用上述方法。直到所有的样本都被归类于某个叶节点,即不可再分为止。

以上方法是ID3方法,还有更好的C4.5方法

C4.5方法选用信息增益比,克服了ID3使用信息增益选择属性时偏向取值较多的属性的不足。

除了可以处理离散类型的属性,还可以处理连续型。

处理连续型属性时,最重要的一步确定分割点。这里同样需要用到信息增益比。

我们可以人工的为选择一系列的分割点,然后分别计算被分割点分割的前后两个区间的信息熵,最后加权求得该分割点情况下的信息熵。

最后取信息增益最大的分割点作为分割条件。

简而言之,和ID3相比,就是在计算分割点的时候,需要额外用到一次信息增益法。

 

每日一个机器学习算法——信息熵

标签:blog   http   使用   数据   2014   sp   log   c   算法   

原文地址:http://www.cnblogs.com/ShaneZhang/p/3970176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!