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

决策树

时间:2015-03-10 18:56:26      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

http://www.tuicool.com/articles/Un6j2a

信息量 
信息量有这个事件发生的概率所决定,经常发生的事件是没有什么信息量的,比如你天天要吃饭,这个大家都知道。 
只有小概率事件才有信息量,比如马航失踪这种突发新闻

比如下面的例子,可以看出汉字的信息量要远远大于英文字母的(当然现实中,不可能所有字出现的概率一样,这里只是为了简单处理说明问题) 
这就意味着写同一篇文章,汉字会更加简短,当然学习门槛也会更高 
技术分享

信息熵 
熵,就是信息量的期望 
技术分享

信息增益 
表示得知特征X的信息而使得类Y的信息的不确定性减少的程度 
分类前,数据中可能出现各种类的情况,比较混乱,不确定性强,熵比较高 
分类后,不同类的数据得到比较好的划分,那么在一个划分中大部分是同一类的数据,比较有序,不确定性降低,熵比较低 
而信息增益用于描述这种熵的变化 
技术分享

 

下面给出计算信息增益的具体的公式, 
H(D),直接根据公司计算 
而H(D|A),D根据A分为n份D1…Dn,那么H(D|A)就是所有H(Di)的期望(平均值)

技术分享
技术分享

 

决策树生成 
先介绍ID3生成算法,这是最基本的算法 
而C4.5只是把其中的信息增益换成信息增益比 
算法很简单,只是在每个节点上选出信息增益最大的那个特征进行划分 
直到信息增益小于阙值时停止 
因为信息增益是相对值,所以这里使用信息增益来比较阙值不合理 
在C4.5中使用信息增益比来替代

 

  ID3算法就是在每次需要分裂时,计算每个属性的增益率,然后选择增益率最大的属性进行分裂。下

 

技术分享  
技术分享

 

 

决策树的剪枝(pruning) 
决策树生成算法对于训练集是很准确的,但是这样会过拟合,所以需要通过剪枝(简化过程)来提高泛化能力 
剪枝的思路也很简单,就是在决策树对训练数据的预测误差和树复杂度之间找到一个balance 
预测误差表示为,即所有叶节点的经验熵的和,其中Nt表示该叶节点的样本点个数,而Ht(T)表示该叶节点的经验熵 
技术分享 
树复杂度,由叶节点个数来表示,|T|

所以决策树的学习损失函数定义为,剪枝的标准就是极小化该损失函数 
技术分享   
技术分享 是调节参数,越大表示选择更简单的树,而越小表示选择复杂的对训练集拟合度高的树

剪枝的算法 
很简单,从叶节点往上回溯,比较剪掉该叶节点前后的损失函数的值,如果剪掉后,损失函数更小就剪掉

技术分享 

技术分享

决策树

标签:

原文地址:http://www.cnblogs.com/notlate/p/4326413.html

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