您的位置:首页 > 其它

机器学习系列之决策树

2014-10-06 12:19 134 查看
决策树是一种基本的分类与回归方法,其可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布,其主要优点是具有可读性、分类速度快。决策树学习通常包括三个步骤:特征选择、决策树的生成和决策树的修剪。我们重点说一下特征选择。

一、特征选择

在决策树中,叶子节点代表已经确定的类别,非叶节点表示特征,那么如何利用这些特征来构建一棵最优的决策树呢?实际上从所有可能的决策树中选取最优决策树是一个NP完全问题,因此在实际应用中我们通常采用启发式的方法来构建决策树,这样得到的决策树是次最优的。

在选择特征构建决策树上,我们通常采用信息增益信息增益比作为指标来决定选择哪个特征,其对应的决策树算法分别称为ID3和C4.5,至于为什么叫这么奇葩的名字,我也不太清楚了。

提到信息就不得不提熵,熵是衡量信息量的一个指标,那么信息增益其实就是指的熵的变化量。对于当前样本集合D以及特征A,特征A对集合D的信息增益g(D,A)为集合D的经验熵与选择A作为分支特征下的集合D的条件经验熵H(D|A)之差,即



假设有K个类Ck,特征A有n个不同的取值

,根据特征A的取值将D划分为n个子集D1,D2,...,Dn,子集Di中属于类Ck的样本集合为Dik,则





使用信息增益作为选择划分数据特征的标准存在偏向于选择取值较多的特征的问题,而是用信息增益比可以对这一问题进行校正。信息增益比是指特征A对集合D的信息增益g(D,A)与集合D关于特征A取值的熵

之比,即



其中





需要注意,对于熵而言,log一般默认都是取2为底的。

二、 决策树的生成
决策树的生成其实就是按照信息增益或信息增益比的标准递归的选择最优特征,并根据该特征对训练数据集进行分割,使得对各个子数据集都有一个最好的分类的过程。具体的算法请参考《统计学习方法》,这里不再赘述。

三、 决策树的剪枝
由于上面的生成算法只考虑了对样本的拟合程度,因此很容易发生过拟合的现象,为了解决过拟合问题,我们需要对生成的决策树进行剪枝,即从中裁剪掉一些子树或叶节点,并将这些字数或叶节点的父节点作为新的叶节点,从而简化分类树模型。
决策树的剪枝往往通过极小化决策树整体的损失函数来实现。设树T的叶节点个数为|T|,t是树T的叶节点,该叶节点有Nt个样本点,其中属于第k类的样本点有

个,

为叶节点上的经验熵,

为参数,则决策树的损失函数可以定义为



其中经验熵为



参考资料
统计学习方法, 李航 著
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习