机器学习-决策树

简要介绍

        决策树是一种基本的分类和回归的机器学习方法,其模型呈现树形结构。在分类问题中,可以认为是定义在特征空间与类空间上的条件概率分布。优点是可解释性强、分类速度快。训练时,以最小化损失函数为原则建立决策树。分类时,以根节点到叶子节点的路径所形成的规则进行匹配分类,其中路径上的内部节点的特征对应这规则的条件。决策树的训练一般包括特征选择、树生成以及树剪枝,常见的算法有ID3、C4.5和CART。决策树的生成只考虑局部最优,决策树的剪枝考虑全局最优。

三种常见的决策树及对应的特征选择方式

1、ID3决策树

补充知识:在信息论中,熵是随机变量不确定性的度量。其中一个事件发生的概率越小,则它包含的信息量越大,不确定性和熵就越大;相反,一个事件发生的概率越大,则它包含的信息量越小,不确定性和熵就越小。

ID3决策树的核心思想:以信息增益准则选择节点分裂特征,分裂结束的条件是所有剩下的特征的信息增益均小于阈值或者没有特征可以选择。信息增益表示如果已知特征X的信息对类别Y的信息的不确定性的影响程度,影响程度越大表示特征X征包含着更多对分类有用的信息。

定义:特征A对训练数据集D的信息增益G(D,A),定义为集合D的熵H(D)与特征A给定条件下的条件熵H(D|A)之差。换句话说,我们想确定特征A对训练集D的信息量的影响,可以先确定D的信息量和A为已知后的D的信息量(已知可以粗略的认为A的概率为1,此时D中的A包含的信息量为0)。所以有信息增益公式:

G(D,A)=H(D)-H(D|A)

熵H(D)和条件熵H(D|A)的差又可以称为互信息,同时反应着特征A使得数据集D的分类不确定程度减少的程度,减少的程度越大,表示特征A不确定性越大,包含的信息越多,对分类的帮助越大。

在ID3决策树中,对于任意一个分支节点的数据集D,特征A的信息增益计算包括以下三步:

1) 计算数据集的熵H(D)

H(D)=-{\sum}_{k=1}^{K}\frac{\left | C_{k} \right |}{\left | D \right |}{​{log}_2}\frac{\left | C_{k} \right |}{\left | D \right |}

其中K表示D中的样本的类别数,|C{_{k}}|表示D中类别为k的样本数,|D|表示D的总样本量。

2)计算条件熵H(D|A)

H(D|A)={\sum}_{i=1}^{n}\frac{\left | {D_{i}} \right |}{\left | D \right |}H(D_{i}) =-{\sum}_{i=1}^{n}\frac{\left | {D_{i}} \right |}{\left | D \right |}{\sum}_{k=1}^{K}\frac{\left | D_{i,k} \right |}{\left | D_{i} \right |}{​{log}_2}\frac{\left | D_{i,k} \right |}{\left | D_{i} \right |}

其中n表示数据集D被特征A划分成n个互不相交的数据子集,H(D_{i})表示子集D_i的信息熵,而条件熵H(D|A)等价于所有子集的熵的带权和。

特点:

  • ID3决策树在以信息增益选择分裂特征时,偏向于取值较多的特征。(从信息论的角度解释,特征的取值数越多,其不确定性越大,熵也越大,该特征在数据集的信息增益更可能大。);
  • 分类树;
  • 树形呈现多叉树;
  • 每个特征不重复使用;
  • 没有考虑剪枝;
  • 没有考虑连续数据;
  • 没有考虑缺失值。

2、C4.5决策树

考虑到信息增益在选择特征时存在倾向于取值比较多的特征的问题,信息增益比在信息增益的基础上,对较多取值特征的信息增益增加了惩罚,对这一问题进行了校正。

C4.5决策树的核心思想:以信息增益比为准则选择节点分裂特征,分裂结束的条件是所有剩下的特征的信息增益比均小于阈值或者没有特征可以选择

定义:特征A对训练数据集D的信息增益比Gr(D,A),定义为特征A对集合D的信息增益G(D,A)与训练数据集中特征A的熵H_{A}{(D)}的比值。所以有信息增益比公式:

Gr(D,A)=\frac{G(D,A)}{H_A(D)}

其中,H_A(D)=-\sum_{i=1}^{n}\frac{\left | D_i \right |}{\left | D \right |}{log}_2\frac{\left | D_i \right |}{\left | D \right |},这里的n表示特征A有n个取值,\left | D_i \right |表示集合D中特征A的第i个取值的样本量(与H(D|A)不同的是,没有考虑类别信息)。

特点:

  • C4.5决策树在以信息增益比选择分裂特征时,偏向于取值较少的特征。(对取值多的特征的信息增益增加了惩罚);
  • 分类树;
  • 树形呈现多叉树;
  • 每个特征不重复使用;
  • 可以进行后剪枝;
  • 可以处理连续数据;
  • 可以处理缺失值。

3、CART决策树

首先,D3与C4.5都是分类树,分别存在倾向于选择取值较多的特征和取值选择较少的特征作为节点分裂的问题;另外D3与C4.5的特征不能复用,无法考虑到特征在树的不同深度起到作用;最后D3与C4.5都是通过多叉树去挖掘特征信息,存在决策树分支规模庞大的问题。CART决策树能作为分类树也能作为回归树,作为回归树用平方误差最小化准则,作为分类树用基尼指数最小化为准则,进行特征选择,生成二叉树。其中,CART决策树不会收到特征取值多少的影响,在每次只使用一个特征的一个值进行节点分裂,并且特征可以复用,考虑到特征不同取值在树的分裂过程中最分类起到的帮助。

1)回归树

平方误差(含义:预测值和真实值之间的差异)公式:

Loss(D)=\frac{1}{M}\sum_{i=1}^M{​{({y_i}-{\hat{c})}^{2}}

Loss(D,A=a)=\sum_{​{​{x}_{i}} \in {​{D}_{l}(A,a)}}{​{({y_i}-{\hat{c}_{l})}^{2}}+\sum_{​{​{x}_{i}} \in {​{D}_{r}(A,a)}}{​{({y_i}-{\hat{c}_{r})}^{2}}

其中,Loss(D,A=a)表示父节点数据集合D当特征A取值a时分裂的平方损失,{D}_{l}(A,a)表示集合D被特征A取值a划分的左孩子节点的数据集合,{D}_{r}(A,a)表示集合D被特征A取值a划分的右孩子节点的数据集合,\hat{c} 表示当前数据集D所有样本的输出值(真实值)的平均值。

2)分类树

基尼指数(含义:节点中样本类别的纯度)公式:

Gini(D)=1-\sum_{k=1}^{K}{​{(\frac{\left | C_k \right |}{\left | D \right |})}^{2}}

Gini(D,A=a)={\frac{\left | D_l \right |}{\left | D \right |}}Gini(D_l)+{\frac{\left | D_r \right |}{\left | D \right |}}Gini(D_r)

其中,Gini(D,A=a)表示父节点数据集合D当特征A取值a时分裂的基尼指数,D_l表示集合D被特征A取值a划分的左孩子节点的数据集合,D_r表示集合D被特征A取值a划分的右孩子节点的数据集合。

3)树模型表示

  • 对于回归树而言,其叶子节点的输出值,是叶子节点 R_n 的中所有训练样本的输出值(真实值)的平均值\hat{y}。 
  • 对于回归树而言,其叶子节点的输出值,是叶子节点 L_n 的中所有训练样本的输出值(真实标签)最多的标签值\hat{y}

  • 树的模型可以表示为:

f(x)=\sum_{n=1}^{N}{​{\hat{y}}_n}I{(x \in {R}_{n})}

               其中,N表示所有的叶子节点数;\hat{y}_{n}表示叶子节点的预测输出值;I{(x \in {R}_{n})}是指示函数, 当x \in {R}_{n}返回1,否则返回0。

特点:

  • CART决策树作为分类树时,以Gini指数作为分裂准则,作为回归树时,平方误差和作为分裂准则;
  • 树形呈二叉树;
  • 特征可以复用;
  • 可以进行代价复杂性剪枝;
  • 可以处理连续数据(首先将按照特征的取值进行排序,再将连续特征离散化(将相邻的取值的平均值作为特征取值));
  • 可以处理缺失值(选择特征中最优的特征取值作为代理特征值首先)。

4、决策树的优缺点

优点:

  • 速度快,计算量相对较小,且容易转化成分类规则。
  • 可解释性强,容易理解。
  • 不需要领域知识和参数假设。
  • 适合高维数据

缺点:

  • 容易过拟合
  • 无法利用属性之间的相关性

5、参考

《统计学习方法》

《百面机器学习》

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
决策树算法机器学习中常用的一种算法,它通过构建一棵形结构来进行分类或回归任务。决策树算法有多种不同的变体,其中包括ID3算法、C4.5算法和基本决策树算法。 ID3算法是最早提出的一种决策树算法,它的核心思想是通过计算信息增益来选择最佳的特征进行节点的划分。具体步骤是:从根节点开始,计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的划分特征,然后根据该特征的不同取值建立子节点,再对子节点递归地应用以上步骤,直到所有的特征信息增益很小或没有特征可选为止。 C4.5算法是对ID3算法的改进,它引入了信息增益率(比)来选择特征,解决了ID3算法对于取值较多的特征有偏好的问题。与ID3算法相似,C4.5算法也使用递归的方式构建决策树,但在选择划分特征时,使用信息增益率作为选择的依据。 基本决策树算法决策树算法的一种简化版,它没有引入信息增益或信息增益率,而是通过计算基尼指数来选择最佳的划分特征。基尼指数衡量了一个特征的不纯度,选择基尼指数最小的特征进行划分。基本决策树算法相对于ID3算法和C4.5算法更简单直观,但在某些情况下可能会有一定的性能损失。 总的来说,决策树算法通过构建一棵形结构来进行分类或回归任务,其中ID3算法、C4.5算法和基本决策树算法是其中的三种常见变体。每种算法都有其特点和优缺点,选择适合具体问题的算法可以提高算法的性能和准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [机器学习算法(3)之决策树算法](https://blog.csdn.net/qq_20412595/article/details/82048795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值