boost VS adaboost VS 提升树 VS GBDT VS cart树 VS RF

本文深入探讨了提升方法的基本原理,特别是Adaboost算法,解析了其如何通过调整样本权重和分类器权重,将弱分类器整合为强分类器。同时,介绍了提升树、CART树以及GBDT在多分类、特征选择和与LR结合的应用,并对比了GBDT与RF的差异。

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

参考文献:李航的统计学习方法

Boosting(提升)方法:

在分类任务中,通过改变训练样本的权重,学习多个分类器,并将这些分类器线性组合,提升分类的性能。这里提升的意思是指,将弱学习算法提升为强学习算法。这里就涉及到两个问题:如何修改样本的权重;如何将多个弱分类器整合成一个强分类器;

Adaboost:

针对上面提出的两个问题,adaboost是这样解决的:提高被分错样本的权重,降低分对样本的权重;加大分错概率较低的分类器的权重,降低分错概率较高的分类器的权重。

其实可以只用分类最准确的那个分类器,但是在PAC(概率近似正确)问题中,弱学习算法和强学习算法是等价的,没有高低之分。

Adaboost过程:

Wmi表示第m个分类器,对样本Xi的权重,对于第一分类器,每个样本的权重是一样的,为1/N,N表示样本数量。

Yi表示样本实际标签,Gi表示分类器的预测值,I(Yi,Gi)表示误差函数。

分类器e(m)表示第m个基分类器在目前样本的分类误差率

e(m)=sum(1->N):Wmi*I(Yi,Gi)

分类器m的权重a(m)=0.5*loge(  (1-e(m)) / e(m)  )

第m+1个分类器的样本权重W(m+1,i)=(W(m,i)/Z)*exp(-a(m)*Yi*Gi)

Z表示所有样本的 exp(-a(m)*Yi*Gi)  值的和,起到归一化作用。

当该样本在第m个分类器分对的时候,W会变小;反之,会变大。

通过上述步骤,就训练了第m个分类器,同时得到了第m个分类器的权重,以及训练下一个分类器的样本权重。

最后的分类结果:G(x)=sign sum( a(mi)G(mi) )

符号函数:x<0,y=-1;x>0,y=1;x=0,y=0

书中给出了具体例子,可以加深理解。

 

提升树:

基分类器是决策树或者回归树的提升方法。提升树被认为是统计学习中性能最好方法之一。

 

CART树:

GBDT的弱分类器是CART决策树

Cart决策树必须是二叉树

作为回归树时,通过最小化平方误差来选择特征并进行划分。

作为分类树时,通过最小化gini系数来选择特征并进行划分。

 

GBDT进行多分类:

转化为多个二分类问题,再用softmax得到预测概率。

 

GBDT进行特征选择:

一个样本落到每个决策树的哪个叶子结点

 

GBDT+LR

图中共有两棵树,x为一条输入样本,遍历两棵树后,x样本分别落到两颗树的叶子节点上,每个叶子节点对应LR一维特征,那么通过遍历树,就得到了该样本对应的所有LR特征。构造的新特征向量是取值0/1的。举例来说:上图有两棵树,左树有三个叶子节点,右树有两个叶子节点,最终的特征即为五维的向量。对于输入x,假设他落在左树第一个节点,编码[1,0,0],落在右树第二个节点则编码[0,1],所以整体的编码为[1,0,0,0,1],这类编码作为特征,输入到LR中进行分类。

 

对比RF:

在spark中,GBDT只能做二分类,RF可以多分类;

GBDT基分类器的训练,是串行的,训练时间较长;

GBDT更容易过拟合。GBDT拟合的是残差,迭代次数(基分类器)越多,更容易过拟合;RF基分类器越多,参与投票的专家越多,更加不容易过拟合;

GBDT一般选择更浅(深度小)的树(一般是深度为1,就可以得到好的效果),基分类器的训练会快一些;

RF更容易调参。因为一般基分类器数量越多,效果越好。而GBDT会过拟合;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值