机器学习算法二:详解Boosting系列算法一Adaboost

本文探讨了Boosting算法的基本原理,强调了它如何通过改变样本权重来提升弱学习器到强学习器的过程。重点介绍了Adaboost算法,包括其初始权重分布、迭代过程和优缺点。Adaboost在不改变数据的情况下,通过调整权值分布来强调困难样本,但这也可能导致对噪声的敏感性增加。

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

本文主要介绍boosting算法得基本原理,以及的三种典型算法原理:adaboost,GBM(Gradient bossting machine),XGBoost。

Boosting方法原理

boosting算法是一类将弱学习器提升为强学习器的集成学习算法,它通过改变训练样本的权值,学习多个分类器,并将这些分类器进行线性组合,提高泛化性能。

先介绍一下“强学习”和“弱学习”的概念:一个分类,如果存在一个多项式算法能够学习他,并得到很高的正确率,那么这个算法称为强学习器,反之如果正确率只是稍大于随机猜测(50%),则称为弱学习器。在实际情况中,我们往往会发现弱学习器比强学习器更容易获得,所以就有了能否把弱学习器提升(boosting)为强学习器的疑问。于是提升类方法应运而生,它代表了一类从弱学习器出发,反复训练,得到一系列弱学习器,然后组合这些弱学习器,构成一个强学习器的算法。大多数boost方法会改变数据的概率分布(改变数据权值),具体而言就是提高前一轮训练中被错分类的数据的权值,降低正确分类数据的权值,使得被错误分类的数据在下轮的训练中更受关注;然后根据不同分布调用弱学习算法得到一系列弱学习器实现的,再将这些学习器线性组合,具体组合方法是误差率小的学习器会被增大权值,误差率大的学习器会被减小权值,典型代表adaboost算法。

1.1 Adaboost算法

Adaboost,全称adaptive boosting,前面已经大致介绍了它的基本原理,接下来会简答推导它的算法过程。

给定一个二分类的训练数据集: T=(x1,y1),(x2,y2),,(xN,yN) T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … … , ( x N , y N ) ,标记 yi[1,1] y i ∈ [ − 1 , 1 ]
(1) 初始化训练数据的权值分布

D1=(w11,w1i,w1N)w1i=1/N,i=1,2,N D 1 = ( w 11 , … , w 1 i , … , w 1 N ) , w 1 i = 1 / N , i = 1 , 2 , … , N

(2) 指定生成 T T 个学习器,即进行 t = 1 , 2 , T 迭代。
(3) 对于第 t t 次迭代,根据前一次迭代得到的权值分布 D t 训练数据集,得到弱分类器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值