Processing math: 100%
决策树

决策树(Decision tree)是基于已知各种情况(特征取值)的基础上,通过构建树型决策结构来进行分析的一种方式,是常用的有监督的分类算法。

决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。

其中第8行伪代码,从A中选择最优划分属性,有以下几种算法。

ID3算法

ID3算法通过选择信息增益最大的特征进行节点分裂。

信息熵
信息熵是度量样本纯度的最常用的指标之一。假定当前样本集合D中第k类样本所占比例为pkk=1,2,,|y|,则D的信息熵定义为
Ent(D)=|y|k=1pklog2pk

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

信息增益

由于不同分支节点所包含的样本数不同,给分支节点赋予一个权重|Dv||D|,即样本数越多的分支节点影响越大,于是可计算出用属性a对样本集D进行划分所获得的“信息增益”
Gain(D,a)=Ent(D)Vv=1|Dv||D|Ent(Dv)

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

在ID3算法中,选择属性即为:a=arg max Gain(D,a)

C4.5算法

信息增益有一个问题,它偏向取值较多的特征。原因是,当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的。因此信息增益更大,因此信息增益比较偏向取值较多的特征。

信息增益率
信息增益率相比信息增益,多了一个衡量本身属性的分散程度的部分作为分母,而著名的决策树算法C4.5就是使用它作为划分属性挑选的原则。

Gainratio(D,a)=Gain(D,a)IV(a)
其中
IV(a)=Vv=1|Dv||D|log2|Dv||D|

在C4.5算法中,选择属性即为:a=arg max Gainratio(D,a)

CART算法

CART是分类与回归树(classification and regression tree),其与C4.5算法一样,由ID3算法演化而来。

CART假设决策树是一个二叉树,它通过递归地二分每个特征,将特征空间划分为有限个单元,并在这些单元上确定预测的概率分布。

CART在分类和回归任务中都可用。对于回归树,采用的是平方误差最小化准则;对于分类树,采用基尼指数最小化准则。

基尼指数:在分类问题中,假设有K个类别,样本点属于第k类的概率为pk,则概率分布的基尼指数定义为
Gini(p)=Kk=1pk(1pk)=1Kk=1p2k

直观的来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D纯度越高。

属性a的基尼指数定义为:
Giniindex(D,a)=Vv=1|Dv||D|Gini(Dv)
因此我们在选取属性时,选择使得划分后基尼指数小的属性作为最优划分属性,即
a=arg min Giniindex(D,a)

文章作者: Dar1in9
文章链接: http://dar1in9s.github.io/2023/10/06/机器学习/决策树/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dar1in9's Blog