boosting算法

Adaboost算法是boosting(提升方法)的代表性方法。在分类问题中,boosting通过反复修改训练数据的权重分布,构建一系列的基本分类器 ,并将这些分类器线性组合构成强分类器。

Adaboost算法

对于不同的提升方法要考虑两个问题:
1. 如何在每一轮训练中改变训练数据的权重;
2. 如何组合弱分类器。
Adaboost在第一个问题中是通过提高前一轮弱分类器错误分类样本的 权重,降低正确样本的权重来解决问题的。这么做的话,在下一轮训练中,前一轮被错误分类的样本就能得到特殊关注。而第二个问题,弱分类器的组合则是根据分类错误率来决定的,这很好理解,分类错误率低的弱分类器应该具有更大的权重,最后将弱分类器加上权重线性组合即可。
现在描述Adaboost算法的具体过程。假设给定一个二类分类的训练数据集 T=(x1,y1),(x2,y2),(xN,yN) ,其中 xiRn,yi{1,1} ,则Adaboost的步骤如下:
1. 初始化权重分布(训练数据的权重):
D1=(w11,w12,,w1N),w1i=1N,i=1,2,,N
2. 对 m=1,2,,M (总共训练M个基本分类器,第m个分类器的最终权重为 αm )
2.1 使用之前得到的训练集权重 Dm 对数据集进行训练,得到基本分类器,注意这里的负样本分类结果是-1,主要是之后更新权重公式时更加方便表达:

Gm(x):X{1,+1}

更多相关文章

  1. 《数据结构与算法Python语言描述》裘宗燕 笔记 第五章 栈和队列
  2. 八大经典排序算法基本思想及代码实现(插入排序,希尔排序,选择排序,
  3. Linux源码中的mktime算法解析
  4. sqlserver,mysql,oracle通用的模拟和改进的全文搜索算法
  5. SQL关键字转换大写核心算法实现
  6. Android开源 - Luban(鲁班)可能是最接近微信朋友圈的图片压缩算
  7. [置顶] android加密解密算法之3DES算法用例
  8. 算法 - 给出一个字符串str,输出包含两个字符串str的最短字符串,如
  9. java基础---一致性hash算法

随机推荐

  1. MySQL的ibdata1文件占用过大瘦身
  2. 数据库keepalived部署文档
  3. 为什么我们的查询卡在MySql中的“写入网
  4. linux环境下写C++操作mysql(一)
  5. 蜂巢和数据库之间的完整性检查
  6. sql随机获获取数据
  7. 替换wordpress WP_POSTS表中post_date字
  8. mysql的count方法详解
  9. Spring+SpringMVC+MyBatis+easyUI整合基
  10. navicat for mysql 注册码,简简单单,一个搞