集成学习(二):AdaBoost算法解释

青旅半醒 2022-05-29 02:18 272阅读 0赞

1. 前言

在之前的博客中讲解了AdaBoost算法的原理,为了能够更加直观理解AdaBoost算法,常用的解释模型便是使用加法模型。

2. 加法模型解释

首先定义AdaBoost的加法模型为:

f(x)=∑m=1MαmGm(x) f ( x ) = ∑ m = 1 M α m G m ( x )

其中 αm α m 是基函数的系数, Gm(x) G m ( x ) 为基函数。则就可以使用指数函数定义损失函数

L(y,f(x))=exp(−yf(x)) L ( y , f ( x ) ) = e x p ( − y f ( x ) )

假设经过 m−1 m − 1 次迭代之后得到的模型为:

fm−1(x)=fm−2(x)+αm−1Gm−1(x)=α1G1(x)+…+αm−1Gm−1(x) f m − 1 ( x ) = f m − 2 ( x ) + α m − 1 G m − 1 ( x ) = α 1 G 1 ( x ) + … + α m − 1 G m − 1 ( x )

得到第 m m 次的迭代得到 αm,Gm(x)和fm(x) α m,G m( x )和fm( x )

fm(x)=fm−1(x)+αmGm(x) f m ( x ) = f m − 1 ( x ) + α m G m ( x )

目标是使前向分布算法得到的 αm,Gm(x)和fm(x) α m , G m ( x ) 和 f m ( x ) 在训练数据集T上的指数损失函数最小化,即是

(αm,Gm(x))=argmina,m∑i=1Nexp[−yi(fm−1(xi)+αG(xi))]=argmina,m∑i=1Nwmiexp(αG(xi))] ( α m , G m ( x ) ) = a r g min a , m ∑ i = 1 N e x p [ − y i ( f m − 1 ( x i ) + α G ( x i ) ) ] = a r g min a , m ∑ i = 1 N w m i e x p ( α G ( x i ) ) ]

其中

wmi=exp(−yifm−1(xi)) w m i = e x p ( − y i f m − 1 ( x i ) )

上式中最小化之后的 α∗m,G∗m(x) α m ∗ , G m ∗ ( x ) 就是AdaBoost算法得到的 αm,Gm(x) α m , G m ( x ) 。则对其进行求解就分为了两步,先求解 G∗m(x) G m ∗ ( x ) :

G∗m(x)argminG∑i=1NwmiI(yi≠G(xi)) G m ∗ ( x ) a r g min G ∑ i = 1 N w m i I ( y i ≠ G ( x i ) )

之后求解 α∗m α m ∗ :

∑i=1Nwmiexp(αG(xi))]=∑yi=Gm(xi)wmie−α+∑yi≠Gm(xi)wmieα=(eα−e−α)∑i=1NwmiI(yi≠G(xi)) ∑ i = 1 N w m i e x p ( α G ( x i ) ) ] = ∑ y i = G m ( x i ) w m i e − α + ∑ y i ≠ G m ( x i ) w m i e α = ( e α − e − α ) ∑ i = 1 N w m i I ( y i ≠ G ( x i ) )

将已经求得的 G∗m(x) G m ∗ ( x ) 带入上式,对 α α 求导并使倒数为0,即可得到让目标函数最小的 α α

α∗m=12log1+emem α m ∗ = 1 2 l o g 1 + e m e m

其中 em e m 是分类误差率:

em=∑Ni=1wmiI(yi≠G(xi))∑Ni=1wmi e m = ∑ i = 1 N w m i I ( y i ≠ G ( x i ) ) ∑ i = 1 N w m i

这里基函数权值系数的更新是与AdaBoost算法一致的,对于样本权值系数的更新是这样的

wm+1,i=wm,iexp(−yiαmGm(x)) w m + 1 , i = w m , i e x p ( − y i α m G m ( x ) )

3. 参考

  1. 统计学习方法——李航

发表评论

表情:
评论列表 (有 0 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Adaboost算法

    Adaboost算法 集成学习概述 集成学习算法定义 集成学习(Ensemble learning)就是讲若干个弱分类器通过一定策略组合后产生一个强分类

    相关 集成学习(一):AdaBoost原理

    前言 AdaBost算法是Boosting族算法最著名的代表。这一族算法的工作机制也是很类似的:先从初始训练集训练处一个基学习器,再根据基学习器的表现对训练样本分布进行调

    相关 集成学习Adaboost算法

    (作者:陈玓玏) 一、Adaboost算法 我的理解集成学习的一大优点是,如果你想要学习一个很强的学习器,没有问题,但是很容易产生过拟合,但是如果你学习很多个弱的学习器