Adaboost算法解释

送分小仙女□ 提交于 2020-02-26 12:54:20

(3)Adaboost算法解释:
   AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分布算法时的二类分类学习方法。
   (i)前向分布算法
    考虑加法模型
   f(x)=m=1Mβmb(x;γm)f(x)=\sum_{m=1}^{M} \beta_{m} b\left(x ; \gamma_{m}\right)
       其中,基函数:b(x;γm)b\left(x ; \gamma_{m}\right),基函数参数:γm\gamma_{m},基函数的系数:βm\beta_{m}
    在给定训练数据集及损失函数L(y,f(x))\mathrm{L}(\mathrm{y}, \mathrm{f}(\mathrm{x}))的条件下,学习加法模型f(x)成为经验风险最小化即损失函数最小化问题:
   minβm,γmi=1NL(yi,m=1Mβmb(xi;γm))\min _{\beta_{m}, \gamma_{m}} \sum_{i=1}^{N} L\left(y_{i}, \sum_{m=1}^{M} \beta_{m} b\left(x_{i} ; \gamma_{m}\right)\right)
    算法简化,如果能够从前向后,每一步只学习一个基函数及其系数,逐步逼近上式,及每步只优化损失函数:minβ,γi=1NL(yi,βb(xi;γ))\min _{\beta, \gamma} \sum_{i=1}^{N} L\left(y_{i}, \beta b\left(x_{i} ; \gamma\right)\right)
    前向分步算法的算法框架
       输入:训练数据集T={(x1,y1),(x2,y2)(xN,yN)}\mathrm{T}=\{(\mathrm{x} 1, \mathrm{y} 1),(\mathrm{x} 2, \mathrm{y} 2) \ldots(\mathrm{xN}, \mathrm{yN})\},损失函数L(y,f(x))\mathrm{L}(\mathrm{y}, \mathrm{f}(\mathrm{x})),基函数集{b(x;γ)}\{\mathrm{b}(\mathrm{x} ; \gamma)\}
       输出:加法模型f(x)\mathrm{f}(\mathrm{x})
       算法步骤:
           初始化f0(x)=0\mathrm{f}_{0}(\mathrm{x})=0
           对于m=1,2,M\mathrm{m}=1,2, \ldots \mathrm{M}
             极小化损失函数(βm,γm)=argminβ,γi=1N(yi,fm1(xi)+βb(xi;γ))\left(\beta_{m}, \gamma_{m}\right)=\arg \min _{\beta, \gamma} \sum_{i=1}^{N}\left(y_{i}, f_{m-1}\left(x_{i}\right)+\beta b\left(x_{i} ; \gamma\right)\right),得到参数βmγm\beta_{m} \gamma_{m}
             更新当前模型:fm(x)=fm1(x)+βmb(x;γm)f_{m}(x)=f_{m-1}(x)+\beta_{m} b\left(x ; \gamma_{m}\right)
           得到加法模型:f(x)=fM(x)=m=1Mβmb(x;γm)f(x)=f_{M}(x)=\sum_{m=1}^{M} \beta_{m} b\left(x ; \gamma_{m}\right)
   (ii)前向分布算法和Adaboost算法
    Adaboost算法是前向分布算法的特例,这时,模型是基本分类器组成的加法模型,损失函数是指数函数。损失函数取L(y,f(x))=exp(yf(x))L(y, f(x))=\exp (-y f(x))
    证明:
       假设经过m-1轮迭代,前向分步算法已经得到fm1(x):fm1(x)=fm2(x)+αm1Gm1(x)=α1G1(x)++αm1Gm1(x)\begin{aligned} \mathrm{f}_{\mathrm{m}-1}(\mathrm{x}): & f_{m-1}(x)=f_{m-2}(x)+\alpha_{m-1} G_{m-1}(x) \\ &=\alpha_{1} G_{1}(x)+\cdots+\alpha_{m-1} G_{m-1}(x) \end{aligned}
       在第m轮迭代得到αm,Gm(x)\alpha_{m}, G_{m}(x)fm(x)f_{m}(x)
       目标是使前向分布算法得到的αm,Gm(x)\alpha_{m}, G_{m}(x)fm(x)f_{m}(x)在训练数据集上损失最小,即(αm,Gm(x))=argminα,Gi=1Nexp(yi(fm1(xi)+αG(xi))) \left(\alpha_{m}, G_{m}(x)\right)=\arg \min _{\alpha, G} \sum_{i=1}^{N} \exp \left(-y_{i}\left(f_{m-1}\left(x_{i}\right)+\alpha G\left(x_{i}\right)\right)\right)
       进一步:
   (αm,Gm(x))=argminα,Gi=1Nwˉmiexp(yiαG(xi)) \left(\alpha_{m}, G_{m}(x)\right)=\arg \min _{\alpha, G} \sum_{i=1}^{N} \bar{w}_{m i} \exp \left(-y_{i} \alpha G\left(x_{i}\right)\right)
       其中,wˉmi=exp(yifm1(xi))\bar{w}_{m i}=\exp \left(-y_{i} f_{m-1}\left(x_{i}\right)\right)wˉmi\bar{w}_{mi}既不依赖α\alpha也不依赖G,但依赖于fm1(x)f_{m-1}(x),所以每轮迭代都会发生变化。
        求基本分类器G(x)\mathrm{G}^{*}(\mathrm{x})
        对于任意的α>0\alpha>0,是上式最小的G(x)由下式得到:
Gm(x)=argminGi=1NwˉmiI(yiG(xi))G_{m}^{*}(x)=\arg \min _{G} \sum_{i=1}^{N} \bar{w}_{m i} I\left(y_{i} \neq G\left(x_{i}\right)\right),          其中,wˉmi=exp(yifm1(xi))\bar{w}_{m i}=\exp \left(-y_{i} f_{m-1}\left(x_{i}\right)\right)
        权值计算:
       求权值:
   在这里插入图片描述
       
   在这里插入图片描述
   在这里插入图片描述
   在这里插入图片描述
   在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!