zoukankan      html  css  js  c++  java
  • adaboost原理

    一般来说 adaboost算法包括三步:

    1 初始化训练数据的权值,对于有N个样本的数据集,所有样本的初始权值都是1/N

    2 训练弱分类器,将前一个弱分类器错误分类的样本的权值加大,减小被正确分类的样本的权值,这样下一个弱分类器就会重新重视被误分类的样本

    3 弱分类器组合成强分类器,减小分类误差率大的弱分类器的权值,使之拥有较小的表决权,加大分类误差率小的弱分类器的权值,使它拥有较大的表决权

    adaboost算法流程:

    (1)给定训练集T 初始化训练集的权值分布

             D1=(w11,w12,w13,...,w1n) w1i=1/N

    (2)对于第m个弱分类器,通过学习得到基本分类器

             Gm(x):->{-1,1}

    (3)计算Gm(x)在训练集上的分类误差率em

            em=∑i=1 to nwmiI(Gm(xi)!=yi)

    (4)计算Gm(x)的权值αm

            αm=1/2log(1-em)/em

    (5)更新下一个弱分类器的数据样本权值

             Dm+1=(wm+1,1,wm+1,2,...wm+1,n)

            wm+1,i=wmiexp(-αmyiGm(xi))/Zm

            其中Zm是规范化因子

             Zm=∑i=1 to nwmiexp(-αmyiGm(xi))

    (6)m个弱分类器的组合

           f(x)=∑αmGm(x)

    得到分类器 G(x)=sign(∑αmGm(x))

  • 相关阅读:
    idea+maven使用
    MySQL数据库一个字段对应多个值得模糊查询
    什么时候用接口?什么时候用抽象类?
    线程的死锁和死锁解决的实际案例
    idea 实用插件
    linux查看日志报错
    mysql日期模糊查找的方法
    mysql 日期函数
    win10安装sonarqube
    docker中mysql数据库导出部分数据
  • 原文地址:https://www.cnblogs.com/semen/p/6810051.html
Copyright © 2011-2022 走看看