机器学习6:决策树算法概述

机器学习6:决策树算法概述

         本文参考了周志华老师的《机器学习》一书,以及相关博客【机器学习实战(三)——决策树】

(1)决策树算法简介:

         决策树是一种基本的分类与回归方法,在分类问题中表示基于特征对实例进行分类的过程;

         决策树学习的目标是根据给定的训练集构建一个决策树模型,使它能够对实例进行正确的分类;

         决策树的构建通常有三个步骤:特征选择、决策树生成和决策树修剪。

(2)决策树的算法基础:

         ①信息熵:

            信息熵是度量样本集合纯度最常用的指标,假定当前样本集合D中第k类样本所占的比例为p_{k}(k=1,2,...,|y|),则D的信息熵定义为:

Ent(D)的值越小,则表示D的纯度越高。

        ②信息增益:

            划分数据集的大原则是:将无序数据变得更加有序,在划分前后信息发生的变化称为信息增益,获得信息增益最高的特征就是最好的选择。

            假设离散属性a有V个可能的取值,若使用a对样本D进行划分,则会产生V个分支结点,其中第V个分支结点包含了D中所有在属性a上取值为a^{v}的样本,记为D^{v};考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重|D^{v}|/|D|,则属性a划分样本集D的信息增益为:

           一般而言,信息增益越大,则使用属性a进行划分所获得的“纯度提升“越大。

       ③ID3算法简介:

           1)ID3算法的核心:

                在决策树各个结点上对应信息增益准则选择特征,递归地构建决策树;

           2)ID3算法具体步骤:

                从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点特征;

                由该特征的不同值建立子节点,再对子节点递归地调用以上方法,构建决策树,直到所有特征的信息增益均很小或没有特征可选择为止;

                递归处理得到一个决策树模型。

(3)决策树的剪枝:

         ①目的:

             针对决策树结构过于复杂而产生的过拟合现象。

         ②剪枝操作简介:

             从已经生成的树裁掉一些子树或叶结点,并将其根结点或父结点作为新的叶子结点,从而简化分类树的模型。

         ③剪枝操作的实现原理:

             通过最小化决策树整体的损失函数来实现剪枝操作,决策树损失函数定义为:

             其中,T:表示子树的叶子结点;

                        H(t):表示第t个叶子的熵,其中H_{t}(T)=\sum\frac{N_{tk}}{N_{t}}log\frac{N_{tk}}{N_{t}};

                        Nt:表示该叶子所含训练样例的个数;

                        \alpha:表示惩罚系数。

            在损失函数中:C_{\alpha }T=C(T)+\alpha (T)

                        C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度;

                        \alpha参数的含义为:当\alpha>=0时控制两者间的影响,较大的\alpha促使较简单的树,较小的\alpha促使较复杂的树,\alpha=0意味着只考虑模型与训练数据的拟合程度,不考虑其复杂程度。

           ④剪枝的具体实现:

               决策树的剪枝过程就是从叶子结点开始递归,记其结点将所有子结点回缩后的子树为Tb(分类值取类别比例最大的特征值),未回缩的子树记为Ta;

               如果Ca(Ta)\geqCa(Tb),说明回缩后损失函数减小,则回缩这棵子树,递归至无法回缩为止;

               其中公式C_{\alpha }T=C(T)+\alpha (T)定义的损失函数的极小化等价于正则化的极大似然估计。

                        

                        

发布了84 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39504171/article/details/99436278