西瓜书_chapter8_集成学习

本文深入探讨了集成学习的概念,包括个体学习器与集成的关系,以及两种重要的集成方法:Boosting和Bagging。文章详细介绍了Adaboost算法的工作原理,展示了如何通过调整样本权重来提升弱学习器的性能。此外,还讲解了Bagging和随机森林,强调了它们在减少方差和提高多样性方面的作用。最后,讨论了结合策略和多样性对集成性能的影响。

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

8.1 个体与集成

集成学习通过构建并结合多个学习器来完成学习任务。
集成学习一般先产生一组个体学习器,再用某种策略把它们结合起来。如果集成中只包含同类型的个体学习器,则称为同质的,反之称为异质的。集成学习通过将多个学习器进行结合,常常可以获得比单一学习器更好的性能,这对于弱学习器尤为明显。
要获得好的集成,我们需要让每个分类器“好而不同”,即个体学习器之间要有一定的准确性,并且不同学习器之间要有多样性。
考虑一个简单的二分类问题 y ∈ { − 1 , + 1 } y\in\{-1,+1\} y{ 1,+1}和真实函数 f f f,假定基分类器的错误率为 ϵ \epsilon ϵ,即
P ( h i ( x ) = ̸ f ( x ) ) = ϵ P(h_i(x)=\not f(x))=\epsilon P(hi(x)≠f(x))=ϵ
假设我们集成了T个分类器,那么
H ( x ) = s i g n ( ∑ i = 1 T h i ( x ) ) H(x)=sign(\sum_{i=1}^Th_i(x)) H(x)=sign(i=1Thi(x))
我们假设基分类器相互独立,那么集成错误的概率为
P ( H ( x ) ≠ f ( x ) ) = ∑ k = 0 ⌊ T / 2 ⌋ ( K T ) ( 1 − ϵ ) k ϵ T − k ≤ e x p ( − 1 2 T ( 1 − 2 ϵ ) 2 ) P(H(x)\neq f(x))=\sum_{k=0}^{\lfloor{T/2}\rfloor}(\mathop{}_{K}^{T})(1-\epsilon)^k\epsilon^{T-k} \leq exp(-\frac{1}{2}T(1-2\epsilon)^2) P(H(x)̸=f(x))=k=0T/2(KT)(1ϵ)kϵTkexp(21T(12ϵ)2)
随着分类器数量的增加,其上界呈指数下降。但实际操作中,个体分类器的准确性与多样性本身就存在冲突,往往并不能同时满足。

8.2 Boosting

Boosting是一族可以将弱学习器提升为强学习器的算法:先从初始训练集中训练出一个基学习器,再根据基学习器的表现对训练样本的分布进行调整,使得先前基学习器做错的训练样本再后续受到更多的关注,然后基于调整后的样本分布来训练下一个学习器。
Adaboost使用基学习器的线性组合
H ( x ) = ∑ t = 1 T α t h t ( x ) H(x)=\sum_{t=1}^{T}\alpha_th_t(x) H(x)=t=1Tαtht(x)
来最小化指数损失函数
l e x p ( H ∣ D ) = E x ∼ D [ e − f ( x ) H ( x ) ] l_{exp}(H|D)=\mathbb{E}_{x\sim D}[e^{-f(x)H(x)}] lexp(HD)=ExD[ef(x)H(x)]
AdaBoost
上图给出了AdaBoost的算法流程
我们对损失函数中的 H ( x ) H(x) H(x)求一个偏导数
∂ l e x p ( H ∣ D ) ∂ H ( x ) = − e − H ( x ) P ( f ( x ) = 1 ∣ x ) + e H ( x ) P ( f ( x ) = − 1 ∣ x ) \frac {\partial l_{exp}(H|D)}{\partial H(x)}= -e^{-H(x)}P(f(x)=1|x)+e^{H(x)}P(f(x)=-1|x) H(x)lexp(HD)=eH(x)P(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值