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))

  • 相关阅读:
    nginx入门与实战
    python开发之virtualenv与virtualenvwrapper讲解
    Linux下的python3,virtualenv,Mysql、nginx、redis安装配置
    Linux系统基础优化及常用命令
    vim与程序员
    Shell基本命令
    Linux之文档与目录结构
    远程连接Linux
    oracle 根据时间戳查询date类型sql
    oracle 锁用户
  • 原文地址:https://www.cnblogs.com/semen/p/6810051.html
Copyright © 2011-2022 走看看