机器学习-提升方法

来源:互联网 发布:ipython 查看源码 编辑:程序博客网 时间:2024/05/29 17:22

本文针对《统计学习方法》中的提升算法介绍,结合自己的理解总结而写。

提升方法

  • 提升方法的基础思想是:针对一个复杂问题(回归或者分类),将多个专家的判断进行合理的综合得出的结果,要比一个专家单独的判断要好。对应到分类问题中,就是要构造多个弱分类器,然后综合得到强分类器。
  • 提升方法的基础:加法模型(基函数的线性组合)+前向分步算法。这两者是提升方法的核心!!!
  • 提升方法的演变:它搭配不同的损失函数,可以解决不同的问题。

    1. (加法模型+前向分步算法)+指数损失函数=Adaboost,用来解决分类问题;Adaboost+二类分类树(如Cart分类树)=提升树算法(分类问题)
    2. (加法模型+前向分步算法)+平方误差损失函数+回归树=提升树算法(回归问题),用来解决回归问题。

    算法逻辑如下图所示:
    提升法

了解提升方法的整体算法结构后,下一步就应该对其中(上图中涉及的)的每一种算法加以了解:加法模型,前向分步算法,adaboost算法(可由前向分步算法推导出),提升树算法,梯度提升。如果想要更深刻的理解最好能深入推导一下,《统计学习方法》中介绍的很详细,另外如果没有书,前向分步算法和提升树介绍可以参考该文(http://blog.csdn.net/xueyingxue001/article/details/51304490),如何由前向分步算法推导出Adaboost可以参考http://www.xuebuyuan.com/2226910.html,这两篇文章对《统计学习方法》中各部分算法做了详细的描述。如果一开始推导有困难可以先看下书中的例题,有助于理解算法的实现过程。

原创粉丝点击