标签:
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