VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python教程 >
  • python基础教程之集成学习之AdaBoost算法(3)

本站最新发布   Python从入门到精通|Python基础教程
试听地址  
https://www.xin3721.com/eschool/pythonxin3721/


yiGk(xi)<0yiGk(xi)<0,导致样本的权重在第k+1个弱分类器中增大,如果分类正确,则权重在第k+1个弱分类器中减少.具体为什么采用样本权重更新公式,我们在讲Adaboost的损失函数优化时再讲。

最后是集合策略。Adaboost分类采用的是加权表决法,构建基本分类器的线性组合:

 

f(x)=k=1KαkGk(x)

 

最终的强分类器为:

 

G(x)=sign(f(x))=sign(k=1KαkGk(x))

 

4. AdaBoost分类问题的损失函数优化

分类问题的Adaboost的弱学习器权重系数公式和样本权重更新公式,可以从Adaboost的损失函数推导出来。Adaboost是模型为加法模型,学习算法为前向分步学习算法,损失函数为指数函数的分类问题。

首先AdaBoost算法的最终模型表达式为:

 

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

 

可以看到这是一个“加性模型(additive model)”。我们希望这个模型在训练集上的经验误差最小,即:

 

mini=1NL(yi,f(x))<=>mini=1NL(yi,i=1MαmGm(x))

 

通常这是一个复杂的优化问题。前向分步算法求解这一优化问题的思想就是: 因为最终模型是一个加性模型,如果能从前往后,每一步只学习一个基学习器Gm(x)及其权重αm, 不断迭代得到最终的模型,那么就可以简化问题复杂度。具体的,当我们经过m1轮迭代得到了最优模型fm1(x)时,由前向分步算法可知: