zoukankan      html  css  js  c++  java
  • Adaboost

    前言

    集成学习按照个体学习器之间是否存在依赖关系可以分为两类:

    第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成。代表算法是boosting系列算法。在boosting系列算法中, Adaboost是最著名的算法之一。

    第二类是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。。

    Adaboost既可以用作分类,也可以用作回归。

    正题

    简介

    AdaBoost是集成学习算法boosting的一种实现,它用弱分类器的线性组合来构造强分类器,用于二分类问题。

    与随机森林进行样本抽样来训练多个分类器不同,Adaboost算法在训练时样本具有权重,并且会在训练过程中动态调整,被前面的弱分类器错分的样本会加大权重,因此算法会更加关注上个分类器错分的样本。

    计算流程:

    我们以分类问题作为案例

    (1)初始化样本权重值,所有样本的初始权重相等:

     2)循环,对依次训练每个弱分类器:

    1.

     训练一个弱分类器,并计算它对训练样本集的错误率:

    学习器权重系数,对于二元分类问题,第t个弱分类器f(x)的权重系数为

    上面公式可以看到分类误差率et越大,则对应的弱分类器权重系数αt越小。也就是说,误差率小的弱分类器权重系数越大。

    2.

    更新所有样本的权重:

    其中为归一化因子,它是所有样本的权重之和:

    结束循环

    3)最后得到强分类器(Adaboost分类采用的是加权表决法)

     

     

    全部流程如图所示:

    ---------------------------------------------------------------------------------------------------------------------------------------------------

    挖坑未完待续

  • 相关阅读:
    java-transaction事件
    Cookie,Session基础知识
    JSP基础笔记
    PHP----学生管理系统
    C语言程序设计-----贪吃蛇
    2019年数维杯三场征战赛
    回忆2018年高教杯数学建模大赛
    iPad横屏模式研究
    IOS UIWebView截获html并修改便签内容,宽度自适应
    如何保持iOS上键盘出现时输入框不被覆盖
  • 原文地址:https://www.cnblogs.com/wqbin/p/10231893.html
Copyright © 2011-2022 走看看