笔记-CART

本文介绍了CART算法的基础概念,包括其在分类与回归任务中的应用。详细解释了CART算法生成决策树的过程,并讨论了回归树和分类树的具体实现方法。此外,还探讨了剪枝策略以提高模型的泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CART

分类与回归树(classification and regression tree)是决策树算法的一种,既可以用于分类,也可以用于回归。CART假设决策树是二叉树,其结点特征取值只有“是”和“不是”,这样的决策树相当于递归的二分每个特征,CART算法:

(1)决策树生成:通过训练数据集生成 决策树,越大越好。

(2)决策树剪枝:使用验证数据集对决策树进行剪枝,选出最优的子树,同样是损失函数最小化为目标。

2.CART回归

一个回归树对应着对输入空间(特征空间)的划分以及划分的单元上的输出。

回归树的生成:

输入随机变量X,Y,Y是连续变量,输入数据集

D=(x1,y1),(x2,y2),,(xn,yn)

输入空间可划分为有限个区域R1,R2,,RM,xRm上的输出为cm,所以回归树模型可表示为:

f(x)=i=1ncmI(xiRm)

用平方方差sumxiRm(yif(xi))2来表示回归树对于训练数据的预测误差,求平方方差最小来求每个区域上最优的输出。易知,Rm上的最优输出c^m=ave(yi|xiRm).

输入空间可以划分,那么如何划分呢?采用启发式算法,对于变量x(j)和它的值s,定义两个区域

R1(j,s)={x|x(j)S},R2(j,s){x|x(j)>S}

求解,

minj,s(minc1xiR1(yic1)2+minc2xiR2(yic2)2)

j给定时,可以求出最优的切分点s, 遍历所有的变量,得到(j,s),得到最优切分变量和切分点。将输入空间分成两个子区域,然后依次对两个子区域进行划分,直到划分出M个区域。

3.CART分类

算法大致与ID3及C4.5相同,但是不仅要选取特征,还要选取特征最优二值划分点,两者准则为基尼指数极小化。

基尼指数:假设样本有K类,样本属于第k类的概率为pk

Gin(p)=k=1Kpk(1pk)=1k=1Kp2k

基尼指数表示数据集D的不确定度,基尼指数越大,不确定度越大,与熵类似。

4.CART剪枝

CART剪枝是一种全局搜索最优的方式,从生成的决策树T0底端开始不断向上剪枝,直到剩下单结点树,形成一个子树序列{T0,T1,,Tn},然后通过交叉验证的方法在独立的验证数据集上对子树集进行测试,得出最优的子树。

如何得到子树序列

Breiman等人证明,可以用递归的方法对树进行剪枝,将α从小增大,α0<α1<<αn<+,产生一系列的区间[αi,αi+1),i=0,1,,n,剪枝得到的子树序列对应于区间[αi,αi+1)上的最优子树序列{T0,T1,,Tn}

具体地,从树T0开始剪枝,以t为根结点的树损失函数

Cα(Tt)=C(Tt)+α|Tt|

t是单结点树

Cα(t)=C(t)+α

α=0α很小时,

Cα(Tt)>Cα(t)

α逐渐增大,直至有一个α满足

Cα(Tt)=Cα(t)

此时,定义g(t)=α=Cα(TtCα(t))|Tt|1,此时tTt有相同的损失函数,tTt更可取,对Tt剪枝。

因此,对树T0每一个内部结点t计算g(t),g(t),也就是α表示剪枝后损失函数整体减小的程度。选取g(t)最小的Tt

进行剪枝,剪枝后的子树为T1并令α1=g(t),则T1是区间[α1,α2)的最优子树。不断增大α,得到新的区间,直到得到根结点树。

如何得到最优解

利用独立的验证数据集,对子树序列中子树分别计算平方方差损失或者基尼系数,其中值最小的就是最优解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值