分类与回归树(CART)相关知识

CART算法

分类与回归树(CART)是应用广泛的算法,同样由特征选择、树的生成及剪枝组成,可以用于解决分类和回归问题。

ID3算法、C4.5算法分别使用了信息增益、信息增益比来选择特征,他们都使用了包含大量的对数运算的熵模型来计算样本纯度。而CART算法使用基尼系数来代替信息增益(比),基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。

CART决策树的生成过程是递归构建二叉树的过程。对于分类树,使用基尼指数最小化准则;对回归树,使用平方误差最小化准则。

CART回归树生成

构建回归树有两个问题:

(1) 如何得到预测结果?

(2) 如何对输入空间进行划分?

一颗回归树是输入空间的一个划分,以及在划分单元的输出值。假设输入空间已经划分为M个: R 1 , R 2 , . . . , R M R_1, R_2, ..., R_M R1,R2,...,RM,并且在每个单元 R m R_m Rm有一个固定的输出值 c m c_m cm,于是回归树模型可表示为:
f ( x ) = ∑ m = 1 M c m I ( x ∈ R m ) f(x) = \sum_{m=1}^{M} c_m I(x \in R_m) f(x)=m=1McmI(xRm)
可以用平方误差 ∑ x i ∈ R m ( y i − f ( x i ) ) 2 \sum_{x_i \in R_m} (y_i - f(x_i))^2 xiRm(yif(xi))2来表示回归树的预测误差,用平方误差最小的准则求解每个单元的最优输出值。

对于第一个问题,单元 R m R_m Rm上的 c m c_m cm的最优值 c ^ m \hat c_m c^m R m R_m Rm上所有输入实例 x i x_i xi对应的输出 y i y_i yi的均值,即:
c ^ m = a v e ( y i   ∣   x i ∈ R m ) \hat{c}_m = ave(y_i \ | \ x_i \in R_m) c^m=ave(yi  xiRm)
那么如何对输入空间进行划分?可以采用启发式的方法,选择样本x的第j个特征 x ( j ) x^{(j)} x(j)和它的均值s作为切分变量和切分点。定义两个区域:
R 1 ( j , s ) = { x   ∣   x ( j ) ⩽ s }   R 2 ( j , s ) = { x   ∣   x ( j ) > s } R_1(j, s) = \{x \ | \ x^{(j)} \leqslant s\}\\ \ R_2(j, s) = \{x \ | \ x^{(j)} > s\} R1(j,s)={ x  x(j)s} R2(j,s)={ x  x(j)>s}
然后寻找最优切分变量 j 和最优切分点 s,具体地就是遍历所有特征的所有切分点,求解:
min ⁡ j , s   [ min ⁡ c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + min ⁡ c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ] \min_{j, s} \ [ \min_{c_1} \sum_{x_i \in R_1(j,s)} (y_i - c_1)^2 + \min_{c_2} \sum_{x_i \in R_2(j,s)} (y_i - c_2)^2] j,smin [c1minxiR1(j,s)(yic1)2+c2minxiR2(j,s)(yic2)2]
其中, c 1 c_1 c1为R1数据集的样本输出均值, c 2 c_2 c2为R2数据集的样本输出均值:
c ^ 1 = a v e ( y i   ∣   x i ∈ R 1 ( j , s ) ) ,   c ^ 2 = a v e ( y i   ∣   x i ∈ R 2 ( j , s ) ) \hat{c}_1 = ave( y_i \ | \ x_i \in R_1(j, s)), \ \hat{c}_2 = ave( y_i \ | \ x_i \in R_2(j, s)) c^1=ave(yi  xiR1(j,s)), c^2=ave(yi  xiR2(j,s))
遍历所有输入变量,找到最优的切分变量 j,构成一个对(j,s)。依次将输入空间划分为两个区域。对每个区域重复上述划分过程,直到满足停止条件位置,这样的回归树通常称为最小二乘回归树,算法叙述如下:

输入:训练数据集 D D D

输出:回归树 f ( x ) f(x) f(x)

步骤:

  1. 遍历变量 j j j,对固定的切分变 量 j j j 扫描切分点 s s s,得到满足下面关系的 ( j , s ) (j,s) (j,s)
    min ⁡ j , s [ min ⁡ c 1 ∑ x i ∈ R 1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值