机器学习实战 (2)决策树 (二) 决策树ID3算法的优缺点

来源:互联网 发布:大数据工程师培训 编辑:程序博客网 时间:2024/05/17 23:48
决策树的优点

相对于其他数据挖掘算法,决策树在以下几个方面拥有优势:

  • 决策树易于理解和实现. 人们在通过解释后都有能力去理解决策树所表达的意义。
  • 对于决策树,数据的准备往往是简单或者是不必要的 . 其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
  • 能够同时处理数据型和常规型属性。 其他的技术往往要求数据属性的单一。
  • 是一个白盒模型如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
  • 易于通过静态测试来对模型进行评测。 表示有可能测量该模型的可信度。
  • 在相对短的时间内能够对大型数据源做出可行且效果良好的结果


在AI版发了个帖子说决策树不适宜用于大规模的数据分类,立即遭到了版友的质疑,现给出论据支持自己的观点:
(1)决策树算法是基于规则的算法,在产生规则的时候采用了局部的贪婪方法,每次只选取一个属性进行分析构造决策树,因而产生大量的规则,数据集很大,规则就很复杂,效率明显会下降,而且既然是局部最优,无法保障全局最优.
(2)决策树的ID3算法涉及到递归了,递归的开销自不待言,当文本规模很大的时候内存都是问题. 
(3)在决策树的学习中,由于分类器过于复杂,会过于适应噪声,从而导致过度拟合(overfit)的问题。没有很好的泛化性的分类器,用起来还是需要慎重的.个应该是决策树最大的弊端吧.我一直认为决策树的可取之处是在于给出选择属性的信息增益的方式.其他的实在不敢恭维. 
继续转smallfish的回帖: 
1.决策树虽然搜索策略是贪婪的(这也正是它效率高的原因),但它的可搜索空间却能代表所有离散函数。ID3算法中每个属性只考虑一次,所以规则的数目主要取决于属性集规模和属性值的个数而非数据集大小,至于“局部最优,性能就没保障”,除了理想贝叶斯,其他的模型都有可能陷入局部最优值问题,所以性能还要看实际的问题和应用。 
2.并不是有递归开销就一定大,而且它的时间主要耗费在训练阶段,在分类阶段速度很快。
 3.在数据集规模小或噪音大的情况下,任何模型都会可能陷入过拟合,决策树可以通过交叉验证后剪枝的方法来克服过拟合。
 yode回帖:
搜索空间的增加势必增加搜索的代价,信息增益的引入就是为了选取信息增加最多的知识,从而得到最浓缩的树. 
第二,递归的开销在于内存,这点应该是这样的吧呵呵. 
第三:过拟合的真正原因是实际风险与经验风险的误差.规模过大,规则过细也会引起过拟合.第四:关于除了理想贝叶斯,其他的模型都有可能陷入局部最优值问题有待于考证.

0 0
原创粉丝点击