机器学习算法第一篇:决策树学习(一)

本篇是我学习决策树的一个入门,主要介绍最经典的决策树算法  ID3

决策树是由昆兰提出的一种作为分类的算法;它的特点主要是形象,简单易懂,不需要较多的专业领域知识;缺点则是根据不同算法各有不同;本篇先介绍最早由昆兰提出的ID3算法;在昆兰的文章中提出过,决策树算法的产生是来源于概念提取算法;

ID3算法的基础概念是信息学概念:信息熵和信息增益

信息熵:用来衡量一个随机变量出现的期望值,一个变量的信息熵越大,则要描述它就需要付出更多的表达式才行;通俗的说法中,信息熵就是复杂度的一种描述(在有些衡量决策树的复杂情况也用基尼不纯度来描述),当一个变量的复杂度越高,信息熵的值越大;

公式:H=-\sum_{i=1}^n{p_i\log{p_i}}     

其中,Pi的含义是i出现在其中的概率;

信息增益:是指对信息分类前后的信息熵的变化值,可写作:Gain(X,T)=Info(X)-Info(X,T)


ID3步骤:

1)针对要分类的所有属性计算信息熵;

2)对于不同的属性,再分别计算对于此属性分类后的信息熵了,由此计算出信息增益;

3)选出使得信息增益最大的属性作为根节点,重复2);

4)满足以下任意一种情况,停止分支的构造:1.若该节点下面所有属性属于同一类;2.若该节点下无法再分类,选择其中最多的一类作为它的分类


实例介绍:

采用经典例子(自己随便编写的例子在计算信息增益的时候出现负值了,还在纠结这个问题,出现负值的原因是由于例子不合理吗)


本打算用SAS实现,但是在实现的过程中出现问题,决定此点再研究下;


ID3有很多缺点:它有偏向于多值的属性,这是由于信息增益公式所决定的,随后人们基于这个问题,提出了改进的方法:C4.5算法;还有由于算法很简单,也很有可能造成过度拟合问题,因此剪枝作为决策树防止过拟合的方法而产生;


剪枝方法分为两种,一种是预剪枝,另一种是后剪枝;预剪枝主要采用阈值方法,当该节点下包含数目少于该阈值就不再进行剪枝,这样的阈值确定却有很大的主观性,但是阈值的选择又对决策树的构造极为重要;后剪枝的方法则多种多样,也比较合理,比如悲观剪枝方法,它的思想主要是思考剪枝后带来的误差是否不太大于不剪枝的误差(因为越是简单的决策树拟合性越差,更适合),还有误差剪枝法;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值