(每天一点点)统计学习方法——提升方法笔记

1、概念

提升方法在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。

对分类样本而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则容易得多。提升方法就是从弱学习算法出发,反复学习,得到一系列分类器,然后组合这些弱分类器,构成一个强分类器。大多数提升方法都是改变训练数据的概率分布(权值分布),针对不同的训练数据分布调用若学习算法学习一系列弱分类器。

2、AdaBoost算法

如何改变训练数据的权值或概率分布:提高那些被前一轮弱分类器错误分类样本的权值,这样没被正确分类的数据由于权值加大受到更大的关注。
如何将弱分类器组成一个强分类器:采取加权多数表决的方法,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用。

Adaboost算法在这里插入图片描述在这里插入图片描述

AdaBoost最基本的性质是他能在学习过程中不断减少训练误差,即在训练数据集上的分类误差率。
定理表明,AdaBoost的训练误差是以指数速率下降。
AdaBoost算法还可以认为是:模型为加法模型、损失函数为指数函数、学习算法为前向分布算法时的二类分类学习方法。

3、提升树

提升树是以分类树或者回归树为基本分类器的提升方法。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。

回归问题的提升树算法在这里插入图片描述

梯度提升:对于一般损失函数而言,每一步优化并不容易。我们将上述算法稍作修改。
①初始化,估计使损失函数极小化的常数值,是一个只有根节点的树;
②计算损失函数负梯度在当前模型的值,就是残差的近似值;
③拟合残差近似值;
……

4、代码

sklearn实例


from sklearn.ensemble import AdaBoostClassifier
clf = AdaBoostClassifier(n_estimators=100, learning_rate=0.5)
clf.fit(X_train, y_train)

clf.score(X_test, y_test)
#output:0.9393939393939394
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值