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

1. 前言

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

2. 加法模型解释

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

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

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

假设经过 m 1 次迭代之后得到的模型为:
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 , G m ( x ) f m ( x )
f m ( x ) = f m 1 ( x ) + α m G m ( x )

目标是使前向分布算法得到的 α m , G m ( x ) f m ( x ) 在训练数据集T上的指数损失函数最小化,即是
( α 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 ) ) ]

其中
w m i = e x p ( y i f m 1 ( x i ) )

上式中最小化之后的 α m , G m ( x ) 就是AdaBoost算法得到的 α m , G m ( x ) 。则对其进行求解就分为了两步,先求解 G m ( x )
G m ( x ) a r g min G i = 1 N w m i I ( y i G ( x i ) )

之后求解 α m
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 ) 带入上式,对 α 求导并使倒数为0,即可得到让目标函数最小的 α
α m = 1 2 l o g 1 + e m e m

其中 e m 是分类误差率:
e m = i = 1 N w m i I ( y i G ( x i ) ) i = 1 N w m i

这里基函数权值系数的更新是与AdaBoost算法一致的,对于样本权值系数的更新是这样的
w m + 1 , i = w m , i e x p ( y i α m G m ( x ) )

3. 参考

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

猜你喜欢

转载自blog.csdn.net/m_buddy/article/details/79563680
今日推荐