CART回归树中的 方差减少量 计算步骤和示例

CART 回归树 中,方差减少量(Variance Reduction)是用来衡量一个分裂节点的好坏的关键指标。CART 回归树通过不断选择能够最大程度减少方差的特征和分裂点来划分数据,构建一棵回归树。方差减少量的计算是决定最佳划分点的核心依据。

回顾:CART 回归树的目标

CART 回归树在处理回归问题时,目标是将特征空间划分为多个子区域,使得每个子区域的预测值(通常是该区域内所有样本目标值的均值)能够尽可能准确地代表区域内样本的真实值。

方差减少量 是 CART 回归树在选择分裂点时的标准。它反映了在某个节点上对数据进行分裂时,分裂前后方差的变化。理想情况下,分裂后的子节点方差应比父节点方差更小,这样说明分裂使得数据集更加“纯”。

方差减少量的计算步骤

在构建 CART 回归树的过程中,算法会尝试不同的特征和不同的分裂点来划分数据,并选择能够最大化方差减少量的分裂点。具体步骤如下:

1. 计算分裂前的方差

假设在节点 N N N 中,有 n n n 个样本。目标变量的方差(均方误差)计算如下:
Var ( N ) = 1 n ∑ i = 1 n ( y i − y ˉ ) 2 \text{Var}(N) = \frac{1}{n} \sum_{i=1}^{n} (y_i - \bar{y})^2 Var(N)=n1i=1n(yiyˉ)2

其中:

  • y i y_i yi 是节点 N N N 中第 i i i 个样本的目标值。
  • y ˉ \bar{y} yˉ 是节点 N N N 中所有样本的目标均值:
    y ˉ = 1 n ∑ i = 1 n y i \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i yˉ=n1i=1nyi
  • Var ( N ) \text{Var}(N) Var(N) 表示节点 N N N 的方差。
2. 计算分裂后的方差

假设我们选择了特征 j j j 和划分点 s s s 进行分裂,分裂后生成了两个子节点 N 1 N_1 N1 N 2 N_2 N2

  • N 1 N_1 N1 包含满足 x ( j ) ≤ s x^{(j)} \leq s x(j)s 的样本,样本数为 n 1 n_1 n1
  • N 2 N_2 N2 包含满足 x ( j ) > s x^{(j)} > s x(j)>s 的样本,样本数为 n 2 n_2 n2

分裂后的两个子节点 N 1 N_1 N1 N 2 N_2 N2 的方差分别为:
Var ( N 1 ) = 1 n 1 ∑ i ∈ N 1 ( y i − y ˉ 1 ) 2 \text{Var}(N_1) = \frac{1}{n_1} \sum_{i \in N_1} (y_i - \bar{y}_1)^2 Var(N1)=n11iN1(yiyˉ1)2

Var ( N 2 ) = 1 n 2 ∑ i ∈ N 2 ( y i − y ˉ 2 ) 2 \text{Var}(N_2) = \frac{1}{n_2} \sum_{i \in N_2} (y_i - \bar{y}_2)^2 Var(N2)=n21iN2(yiyˉ2)2

其中:

  • y ˉ 1 \bar{y}_1 yˉ1 是节点 N 1 N_1 N1 中的目标均值:
    y ˉ 1 = 1 n 1 ∑ i ∈ N 1 y i \bar{y}_1 = \frac{1}{n_1} \sum_{i \in N_1} y_i yˉ1=n11iN1yi
  • y ˉ 2 \bar{y}_2 yˉ2 是节点 N 2 N_2 N2 中的目标均值:
    y ˉ 2 = 1 n 2 ∑ i ∈ N 2 y i \bar{y}_2 = \frac{1}{n_2} \sum_{i \in N_2} y_i yˉ2=n21iN2yi
3. 计算加权后的分裂方差

为了评估分裂后的整体方差,我们需要计算子节点的加权方差。加权方差计算如下:
Weighted Var ( N ) = n 1 n Var ( N 1 ) + n 2 n Var ( N 2 ) \text{Weighted Var}(N) = \frac{n_1}{n} \text{Var}(N_1) + \frac{n_2}{n} \text{Var}(N_2) Weighted Var(N)=nn1Var(N1)+nn2Var(N2)

其中:

  • n 1 n \frac{n_1}{n} nn1 是子节点 N 1 N_1 N1 样本数占总样本数的比例。
  • n 2 n \frac{n_2}{n} nn2 是子节点 N 2 N_2 N2 样本数占总样本数的比例。
4. 计算方差减少量

方差减少量反映了通过分裂减少的方差。它是分裂前节点方差和分裂后加权方差的差值,计算公式为:
Δ Var = Var ( N ) − Weighted Var ( N ) \Delta \text{Var} = \text{Var}(N) - \text{Weighted Var}(N) ΔVar=Var(N)Weighted Var(N)

  • Var ( N ) \text{Var}(N) Var(N) 是分裂前节点的方差。
  • Weighted Var ( N ) \text{Weighted Var}(N) Weighted Var(N) 是分裂后两个子节点的加权方差。

方差减少量 Δ Var \Delta \text{Var} ΔVar 越大,说明当前分裂点 s s s 和特征 j j j 能够更好地将数据划分开,使得数据集更加“纯”。因此,CART 回归树会选择能够最大化方差减少量的分裂点进行分裂。

举例说明

假设我们有一个简单的数据集,用于预测房价。数据集包含房屋面积和房价两列,算法希望通过房屋面积来进行分裂。

  1. 计算分裂前的方差
    假设当前节点中有 10 个房价数据,其均值为 y ˉ = 300 , 000 \bar{y} = 300,000 yˉ=300,000,方差为:
    Var ( N ) = 1 10 ∑ i = 1 10 ( y i − 300 , 000 ) 2 = 40 , 000 \text{Var}(N) = \frac{1}{10} \sum_{i=1}^{10} (y_i - 300,000)^2 = 40,000 Var(N)=101i=110(yi300,000)2=40,000

  2. 分裂数据集
    假设我们尝试以房屋面积为特征,选择某个分裂点 s = 1500 s = 1500 s=1500 平方英尺进行分裂。分裂后得到两个子集:

    • 子节点 N 1 N_1 N1:房屋面积 ≤ 1500 \leq 1500 1500 平方英尺的样本,方差为 Var ( N 1 ) = 20 , 000 \text{Var}(N_1) = 20,000 Var(N1)=20,000
    • 子节点 N 2 N_2 N2:房屋面积 > 1500 > 1500 >1500 平方英尺的样本,方差为 Var ( N 2 ) = 10 , 000 \text{Var}(N_2) = 10,000 Var(N2)=10,000
  3. 计算加权方差
    假设子节点 N 1 N_1 N1 有 6 个样本,子节点 N 2 N_2 N2 有 4 个样本,加权方差计算为:
    Weighted Var ( N ) = 6 10 × 20 , 000 + 4 10 × 10 , 000 = 12 , 000 + 4 , 000 = 16 , 000 \text{Weighted Var}(N) = \frac{6}{10} \times 20,000 + \frac{4}{10} \times 10,000 = 12,000 + 4,000 = 16,000 Weighted Var(N)=106×20,000+104×10,000=12,000+4,000=16,000

  4. 计算方差减少量
    Δ Var = 40 , 000 − 16 , 000 = 24 , 000 \Delta \text{Var} = 40,000 - 16,000 = 24,000 ΔVar=40,00016,000=24,000

因此,这个分裂点的方差减少量为 24,000。如果该分裂点的方差减少量是所有可能分裂点中最大的,CART 回归树就会选择该分裂点进行划分。

总结

在 CART 回归树中,方差减少量 是用于选择最佳分裂点的重要标准。它通过计算分裂前后的方差差值,衡量一个分裂能否显著减少数据的分散程度。CART 决策树会选择使方差减少量最大的特征和分裂点来进行划分,从而构建一棵能够良好拟合数据的回归树。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值