决策树详解

决策树详解

决策树是一种常用的机器学习算法,用于分类和回归任务。它通过一系列规则对数据进行分割,以达到最佳的分类效果。

决策树的核心概念

1. 节点(Node)

  • 根节点(Root Node):不包含任何条件的顶层节点,代表整个数据集。
  • 内部节点(Internal Node):包含决策条件的节点,用于对数据进行进一步的分割。
  • 叶节点(Leaf Node):决策树的末端节点,代表分类或回归的结果。

2. 分割规则(Splitting Rule)

  • 决策树通过应用分割规则递归地分割数据。
  • 分割规则通常基于特征值的不同阈值。

3. 纯度和信息增益

  • 纯度(Purity):一个节点中数据的同质性。较高的纯度意味着节点中的数据属于同一类别。
  • 信息增益(Information Gain):分割前后数据不确定性的减少量。选择最大化信息增益的分割。

数学原理

1. 信息熵(Entropy)

  • 信息熵是度量数据集不确定性的指标:

    H ( S ) = − ∑ i = 1 c p i log ⁡ 2 p i H(S) = -\sum_{i=1}^{c} p_i \log_2 p_i H(S)=i=1cpilog2pi

    其中 c c c 是类别的数量, p i p_i pi 是类别 i i i 在数据集中的比例。

2. 信息增益

  • 信息增益是选择分割条件的依据:

    I G ( S , A ) = H ( S ) − ∑ t ∈ T ∣ S t ∣ ∣ S ∣ H ( S t ) IG(S, A) = H(S) - \sum_{t \in T} \frac{|S_t|}{|S|} H(S_t) IG(S,A)=H(S)tTSStH(St)

    其中 A A A 是特征, T T T 是基于特征 A A A 的分割, S t S_t St 是分割后的子集。

3. 基尼不纯度(Gini Impurity)

  • 另一种度量数据不纯度的方法:

    G ( S ) = 1 − ∑ i = 1 c p i 2 G(S) = 1 - \sum_{i=1}^{c} p_i^2 G(S)=1i=1cpi2

  • 在某些决策树算法中,例如CART(分类与回归树),会使用基尼不纯度作为分割的标准。

应用和实现

  • 决策树在构建时,从根节点开始,递归地选择使信息增益最大化(或基尼不纯度最小化)的特征进行分割,直到满足停止条件(如达到预设的深度、节点数据量过少等)。
  • 最终得到的树结构可以用于预测新数据的类别或数值。

手写决策树及其数学概念解释

决策树是一种流行的机器学习方法,用于分类和回归任务。它通过创建一系列决策规则来预测数据的类别或值。以下是对决策树中纯度、信息增益、信息熵的概念和计算的解释。

示例数据集

假设我们有一个简单的数据集,包含两个特征(Feature 1和Feature 2)和一个目标类别(Class):

  • Feature 1: [Low, High, Low, High]
  • Feature 2: [Low, Low, High, High]
  • Class: [A, A, B, B]

信息熵(Entropy)

信息熵是一种衡量数据集不确定性的度量,定义为:

H ( S ) = − ∑ i = 1 c p i log ⁡ 2 p i H(S) = -\sum_{i=1}^{c} p_i \log_2 p_i H(S)=i=1cpilog2pi

其中, S S S 是数据集, c c c 是类别的数量, p i p_i pi 是类别 i i i 在数据集中的比例。

初始信息熵

对于上述数据集,两个类别各占一半,所以信息熵为:

H ( S ) = − ( 0.5 log ⁡ 2 0.5 + 0.5 log ⁡ 2 0.5 ) = 1 H(S) = -\left(0.5 \log_2 0.5 + 0.5 \log_2 0.5\right) = 1 H(S)=(0.5log20.5+0.5log20.5)=1

信息增益(Information Gain)

信息增益是选择分割规则的依据,基于信息熵的减少量计算。信息增益定义为:

I G ( S , A ) = H ( S ) − ∑ t ∈ T ∣ S t ∣ ∣ S ∣ H ( S t ) IG(S, A) = H(S) - \sum_{t \in T} \frac{|S_t|}{|S|} H(S_t) IG(S,A)=H(S)tTSStH(St)

其中 A A A 是特征, T T T 是基于特征 A A A 的分割, S t S_t St 是分割后的子集。

分割示例

假设我们根据Feature 1分割数据集:

  • 分割后两个子集分别为:[A, A] 和 [B, B],每个子集的信息熵为0(因为它们都是纯的)。

  • 信息增益为:

    I G ( S , Feature 1 ) = 1 − ( 2 4 × 0 + 2 4 × 0 ) = 1 IG(S, \text{Feature 1}) = 1 - \left(\frac{2}{4} \times 0 + \frac{2}{4} \times 0\right) = 1 IG(S,Feature 1)=1(42×0+42×0)=1

决策树构建

  1. 开始:从根节点开始,包含所有数据。
  2. 分割选择:选择使信息增益最大化的特征进行分割。
  3. 创建分支:为每个唯一值创建一个分支。
  4. 递归:对每个分支重复上述过程。
  5. 停止条件:当达到某个条件(如纯度达到一定程度,达到最大深度等)时停止。

最终,每个叶节点代表一个预测的类别或值。

信息增益(Information Gain)详解

信息增益是决策树算法中用于选择特征分割点的关键指标,它基于信息熵的减少量来评估特征的重要性。

信息熵(Entropy)

信息熵是一种衡量数据集不确定性的度量。在决策树中,它用来评估数据集中的混乱程度。信息熵定义为:

H ( S ) = − ∑ i = 1 c p i log ⁡ 2 p i H(S) = -\sum_{i=1}^{c} p_i \log_2 p_i H(S)=i=1cpilog2pi

其中, S S S 是数据集, c c c 是类别的数量, p i p_i pi 是类别 i i i 在数据集中的比例。

示例:计算信息熵

假设我们有一个数据集,其中有9个样本属于类别A,5个样本属于类别B。信息熵计算如下:

H ( S ) = − ( 9 14 log ⁡ 2 9 14 + 5 14 log ⁡ 2 5 14 ) ≈ 0.940 H(S) = -\left(\frac{9}{14} \log_2 \frac{9}{14} + \frac{5}{14} \log_2 \frac{5}{14}\right) \approx 0.940 H(S)=(149log2149+145log2145)0.940

信息增益(Information Gain)

信息增益衡量了在某个特征上进行分割后信息熵的减少。信息增益越高,意味着该特征对于分类的贡献越大。信息增益定义为:

I G ( S , A ) = H ( S ) − ∑ t ∈ T ∣ S t ∣ ∣ S ∣ H ( S t ) IG(S, A) = H(S) - \sum_{t \in T} \frac{|S_t|}{|S|} H(S_t) IG(S,A)=H(S)tTSStH(St)

其中 A A A 是特征, T T T 是基于特征 A A A 的分割, S t S_t St 是分割后的子集。

示例:计算信息增益

假设我们根据某个特征(例如Feature 1)将上述数据集分为两个子集:

  • 子集1:6个属于类别A,2个属于类别B。
  • 子集2:3个属于类别A,3个属于类别B。

首先计算子集的信息熵:

H ( S 1 ) = − ( 6 8 log ⁡ 2 6 8 + 2 8 log ⁡ 2 2 8 ) ≈ 0.811 H(S_1) = -\left(\frac{6}{8} \log_2 \frac{6}{8} + \frac{2}{8} \log_2 \frac{2}{8}\right) \approx 0.811 H(S1)=(86log286+82log282)0.811

H ( S 2 ) = − ( 3 6 log ⁡ 2 3 6 + 3 6 log ⁡ 2 3 6 ) = 1 H(S_2) = -\left(\frac{3}{6} \log_2 \frac{3}{6} + \frac{3}{6} \log_2 \frac{3}{6}\right) = 1 H(S2)=(63log263+63log263)=1

然后,计算信息增益:

I G ( S , Feature 1 ) = 0.940 − ( 8 14 × 0.811 + 6 14 × 1 ) ≈ 0.048 IG(S, \text{Feature 1}) = 0.940 - \left(\frac{8}{14} \times 0.811 + \frac{6}{14} \times 1\right) \approx 0.048 IG(S,Feature 1)=0.940(148×0.811+146×1)0.048

结论

信息增益帮助我们确定哪个特征在分割数据时更有效。在构建决策树时,我们通常选择具有最高信息增益的特征作为分割点,以此逐步构建树的结构,从而提高分类的准确性。

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h52013141

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值