ID3/C4.5/CART决策树算法推导
目录
一、ID3决策树
二、C4.5决策树
三、CART决策树
四、总结
信息熵——度量样本集合纯度最常用一种指标,其定义如下:

其中,表示样本集合,|y|表示样本类别总数,
表示第K类样本所占的比例,且
。

值越小,纯度越高。
求解信息熵的最大值,证明:
若令,那么信息熵
就可以看做是一个n元实值函数,也即
,其中
,
,下面考虑求最值。
如果不考虑,仅考虑
,对
求最大值等价于如下最小化问题

经观察,(1)等价于n个 ,由于
,因此目标函数
一定是凸函数(或对目标函数二阶求导,判断其hessian矩阵的正定性,来证明其目标函数是凸函数)。由于函数(2)是线性约束,目标函数(1)又是凸函数,因此整个优化问题就是个凸优化求解过程。而凸优化问题来说,满足KKT条件的点即为最优解。由于此最小化问题仅含等式约束,那么能令其拉格朗日函数的一阶导数为0的点,即为满足KKT条件的点。
拉格朗日函数:
,其中
为拉格朗日乘子。
对拉格朗日函数分别关于求一阶偏导数,并令偏导数等于0可得

至此,即为当前最小化问题的最小值点,同时也是
函数的最大值点。将
代入
中可得
,所以
在满足约束条件
和
时的最大值是
。
令 =1 ,
一定是
在满足约束条件
和
的最小值点,其最小值是0。说明只有一类样本时,其他类样本数为0时,信息熵最小,样本纯度最高。
条件熵——在已知样本属性a的取值情况下,度量样本集合纯度的一种指标,其中a表示某个样本属性,假定属性a有V个可能的取值
{},样本集合D中在属性a上取值为
的样本记为
,
表示样本集合
的信息熵。
值越小,纯度越高。

小结: 信息增益= 信息熵-条件熵,选择信息增益最大的属性作为划分属性,因为信息增益越大,则意味着使用该属性来进行划分获得的“纯度提升”越大。
以信息增益为划分准则的ID3决策树对可取值数目较多的属性有所偏好(存在严重过拟合现象,模型泛化能力差),因此产生了C4.5决策树。
C4.5决策树——以信息增益率为标准来选择划分属性的决策树
信息增益率:
其中,作为惩罚项。
C4.5对信息增益超过平均水平的所有属性,对它们使用惩罚项后,再选择信息增益率最高的属性作为划分属性。
CART决策树——以基尼指数为准则来选择划分属性的决策树

基尼值:就是从样本集合D中随机抽取两个样本,且不是同一样本的概率值。
CART决策树分类算法:
1、根据基尼指数公式

找出基尼指数最小的属性
2、计算属性的所有可能取值的基尼值
,
,选择基尼值最小的取值
作为划分点,将集合D划分为
,
两个集合(节点),其中
集合的样本为
=
的样本,
集合为
。
3、对集合和
重复步骤1和2,直至满足停止条件。
CART决策树分类算法:
1、根据以下公式找出最优划分特征和最优划分点
:

其中表示属性a上取值小于等于
的样本集合,
表示属性a上取值大于
的样本集合。
表示
的样本输出均值,
表示
的样本输出均值。
2、根据划分点将集合划分为
两个集合(节点)。
3、对集合和
重复步骤1和2,直至满足停止条件。
总结:本文对决策树的三种算法决策原理进行了简单分析推导。