ID3/C4.5/CART决策树算法推导

作者: 易码当先 | 来源:发表于2019-12-20 19:14 被阅读0次

    目录

    一、ID3决策树

    二、C4.5决策树

    三、CART决策树

    四、总结


    信息熵——度量样本集合纯度最常用一种指标,其定义如下:

    信息熵

    其中,D={(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m})}表示样本集合,|y|表示样本类别总数,p_{k} 表示第K类样本所占的比例,且0\leq p_{k} \leq 1

    p_{k} 占比率

    Ent(D) 值越小,纯度越高。

    求解信息熵的最大值,证明:0\leq Ent(D)\leq 1

    若令|y| = n,p_{k} = x_{k}  ,那么信息熵Ent(D)就可以看做是一个n元实值函数,也即Ent(D) = f(x_{1},x_{2},...,x_{n} ) = -\sum_{k=1}^nx_{k}\log_2 x_{k}    ,其中0\leq x_{k} \leq 1\sum_{k=1}^nx_{k}  =1,下面考虑求最值。

    如果不考虑0\leq x_{k} \leq 1,仅考虑\sum_{k=1}^nx_{k}  =1,对f(x_{1},x_{2},...,x_{n} )求最大值等价于如下最小化问题

    问题转换

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

    拉格朗日函数:

    L(x_{1},......,x_{n},\lambda  ) = \sum_{k=1}^nx_{k}\log_2 x_{k} +\lambda (\sum_{k=1}^nx_{k} -1),其中\lambda 为拉格朗日乘子。

    对拉格朗日函数分别关于x_{1}... x_{n},\lambda . 求一阶偏导数,并令偏导数等于0可得

    最优解推导

    至此,\frac{1}{n} 即为当前最小化问题的最小值点,同时也是f(x_{1},...,x_{n}  )函数的最大值点。将

    x_{1}  = x_{2}  =...=  x_{n}  = \frac{1}{n} 代入f(x_{1},...,x_{n}  )中可得f(\frac{1}{n},...\frac{1}{n}  ) = -\sum_{k=1}^n\frac{1}{n}  \log_2 \frac{1}{n}  = -n.\frac{1}{n}\log_2 \frac{1}{n}  =\log_2 n ,所以f(x_{1},...,x_{n}  )在满足约束条件0\leq x_{k} \leq 1\sum_{k=1}^nx_{k}  =1时的最大值是\log_2 n

    x_{k}  =1 ,x_{1}= x_{2}=x_{k}=x_{k+1}=x_{n}=0 一定是f(x_{1},...,x_{n}  )在满足约束条件0\leq x_{k} \leq 1\sum_{k=1}^nx_{k}  =1的最小值点,其最小值是0。说明只有一类样本时,其他类样本数为0时,信息熵最小,样本纯度最高。


    条件熵——在已知样本属性a的取值情况下,度量样本集合纯度的一种指标H(D|a) =\sum_{v=1}^v \frac{|D^v |}{|D| } Ent(D^v ),其中a表示某个样本属性,假定属性a有V个可能的取值

    {a^1,a^2,...,a^V },样本集合D中在属性a上取值为a^v的样本记为D^v Ent(D^v )表示样本集合D^v 的信息熵。H(D|a)值越小,纯度越高。


    信息增益

    小结: 信息增益= 信息熵-条件熵,选择信息增益最大的属性作为划分属性,因为信息增益越大,则意味着使用该属性来进行划分获得的“纯度提升”越大。

    以信息增益为划分准则的ID3决策树对可取值数目较多的属性有所偏好(存在严重过拟合现象,模型泛化能力差),因此产生了C4.5决策树。


    C4.5决策树——以信息增益率为标准来选择划分属性的决策树

    信息增益率:Gain\_ratio(D,a) = \frac{Gain(D,a)}{IV(a)}

    其中,IV(a) =-\sum_{v=1}^V\frac{|D^v| }{|D|}\log_2    \frac{|D^v| }{|D|}作为惩罚项。

    C4.5对信息增益超过平均水平的所有属性,对它们使用惩罚项后,再选择信息增益率最高的属性作为划分属性。


    CART决策树——以基尼指数为准则来选择划分属性的决策树

    基尼指数与基尼值

    基尼值:就是从样本集合D中随机抽取两个样本,且不是同一样本的概率值。

    CART决策树分类算法:

    1、根据基尼指数公式

    基尼指数

    找出基尼指数最小的属性a_{*}

    2、计算属性a_{*} 的所有可能取值的基尼值Gini(D^v)v=1,2,...,V,选择基尼值最小的取值a_{*}^v 作为划分点,将集合D划分为D_{1} D_{2} 两个集合(节点),其中D_{1} 集合的样本为a_{*}  = a_{*}^v 的样本,D_{2} 集合为a_{*} \neq a_{*}^v

    3、对集合D_{1} D_{2} 重复步骤1和2,直至满足停止条件。

    CART决策树分类算法:

    1、根据以下公式找出最优划分特征a_{*} 和最优划分点a_{*}^v :

    CART分类函数

    其中D_{1} (a,a^v )表示属性a上取值小于等于a^v的样本集合,D_{2} (a,a^v )表示属性a上取值大于a^v的样本集合。c_{1} 表示D_{1} 的样本输出均值,c_{2} 表示D_{2} 的样本输出均值。

    2、根据划分点a_{*}^v 将集合划分为D_{1} 和D_{2}两个集合(节点)。

    3、对集合D_{1} D_{2} 重复步骤1和2,直至满足停止条件。


    总结:本文对决策树的三种算法决策原理进行了简单分析推导。

    相关文章

      网友评论

        本文标题:ID3/C4.5/CART决策树算法推导

        本文链接:https://www.haomeiwen.com/subject/tjobnctx.html