上一篇博客机器学习之路——决策树(1)介绍了决策树的基本概念以及决策树的生成法则,今天主要介绍一下三种不同的决策树生成算法:ID3/C4.5/CART。ID3算法是由Quinlan在1986年提出的,C4.5是其在1993年提出的,而CART算法是Breiman等人在1984年提出的。
三种不同的算法主要区别就是特征选择的标准不同:
- ID3
ID3算法的核心是在各个节点应用信息增益准则来选择特征,递归的构建决策树。上一篇博客里决策树的生成其实就是ID3算法,相关细节各位读者可以跳转到机器学习之路——决策树(1)了解。
- C4.5
实际上信息增益准则对可取数值较多的属性有所偏好。信息增益的公式如下:
如果可取数值越多,则上式的 −∑V1|Dv||D|⋅Ent(Dv) 越大,最终导致信息增益Gain(D,a)越大。为了减少这种特点可能带来的不良影响,C4.5决策树算法不直接利用信息增益,而是采用”增益率”(Gain Ratio)来选择最优划分属性。增益率定义为:
其中
上式IV(a)称为属性a的”固有值”(intrinsic value)[Quinlan,1993]。同样的道理,属性a的可能取值数越多(即V越大),IV(a)的值通常会越大。
和ID3算法类似,增益率准则同样有个问题,即增益率准则对可取值数目较少的属性有所偏好,因此在C4.5算法中,并不是直接选择增益率大的属性进行划分,而是使用了一个启发式: 先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的属性。
- CART
CART(Classification and Regression Tree)决策树使用”基尼指数“(Gini index)来选择划分属性。数据集D的纯度可用基尼值来度量:
直观来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D的纯度越高。
属性a的基尼指数定义为:
因此,在决策树划分属性选择的时候,选择基尼指数最小的属性作为最优划分属性。
So much for today!@_@