决策树算法模型
1.什么是决策树?
决策树(decision tree)是一种类似与流程图的树结构,其中,每个内部节点(非树叶节点)表示在一个属性上的测试,每个分支代表该测试的输出,而每个树叶节点(或终端节点)存放一个类标号。数的最顶层节点是根节点。一棵典型的决策树如下图:
它预用户信用等级是否良好。内部的节点用矩形表示,而叶子节点用椭圆表示。有些决策树算法只产生二叉树(其中,每个内部节点正好分叉出两个其他节点),而另一些决策树算法可能产生非二叉的树。
为什么决策树分类器如此流行?决策树分类器的构造不需要任何领域知识或参数设置,是一个非参数统计,因此适合于探测式知识的发现。决策树可以处理高维数据。获取的知识用树的形式表示是直观的,并且很容易被人理解。
2.决策树的归纳
决策树是从有类标号的训练元组中学习决策的方法。
决策树模型的建立包含三个过程:
1.选择分裂特征
2.生成决策树
3.剪枝
接下来我们对这三个过程进一一进行详细的叙述:
2.1 (选择分裂特征)特征的选择
在很多我们学过的算法,例如ANN神经网络,XGboost算法等,它们都是一种“贪心算法",所谓的贪心算法就是,在每一次分裂的过程中只考虑分裂时最优的节点去选择分支,而忽略了整体可能存在的一些问题。即通过局部最优来选择到达全局最优的这么一思想。
如何评估选择的特征作为分裂的最好节点呢?随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即节点的纯度,节点的不纯度越高,即它们包含的属性就有多种,也就是划分的效果不佳。反之亦然。
这里我们引入了信息熵来计算每个节点的不纯度:
1、信息熵(entropy)是度量样本集合纯度最常用的一种指标:
Pk 表示的是当前样本集合 D 中第 k 类样本所占的比例为 Pk,Ent(D)的值越小,则 D 的
纯度就越高。
在信息熵指数的指导下,决策树生成过程的局部最优条件也非常好理解:即在选取属
性测试条件(attribute test condition)对某结点(数据集)进行切分的时候,尽可能选取
使得该结点对应的子节点信息熵最小的特征进行切分。换而言之,就是要求父节点信息熵
和子节点总信息熵之差要最大。
2、我们将其它定义为信息增益:
也可由下述公式表达: