一: 算法介绍

adaboost算法的目标是提高 学习算法(比如说LMS算法)的 分类准确率。 adaboost算法提供的是框架 。 可以使用各种学习方法构建子分类器。
二: 算法分析
步骤:
根据训练样本设计一个分类器,根据分类的结果,改变每个样本的权重,产生一个弱分类器,一直迭代,直到最后的误差率小于给定的误差率。把这些分类器合并起来,组成一个强分类器。
一:从大小为n的原始样本集D中随机选出n1个样本点(不放回),组成一个样本集D1。
二:用样本集D1我们可以训练出第一个分类器。记为C1
三:然后构造第二个分类器。首先我们需要构造样本集D2(D2中的样本,一半能够被C1正确分类,一半不能够被C1正确分类),下面给出一种构造方法:
采用抛硬币的方式,如果硬币是正面:选取D中剩余的样本点,用C1进行分类,直到找出分错的样本,加入D2.
如果硬币是反面:从D1中选取一个被C1正确分类的样本点,加入D2.
最后D2就是C1所产生的的最富信息的集合。
四:然后,我们构造第三个分类器,选取D中剩余的样本点,用C1和C2进行分类,如果C1和C2分类的结果不一样,则把这个样本加入D2.否则,忽视这个样本点。然后用D3训练新的分类器C3.
对于boosting算法,存在两个问题:    
1. 如何调整训练集,使得在训练集上训练的弱分类器得以进行:
使用加权后选取的训练数据代替随机选取的训练样本,这样将训练的焦点集中在比较难分的训练数据样本上;   
2. 如何将训练得到的各个弱分类器联合起来形成强分类器:
将弱分类器联合起来,使用加权的投票机制代替平均投票机制。让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。  
三:训练过程
百度的大牛举得一个例子:
第二步:
根据分类的正确率,得到一个新的样本分布D3,一个子分类器h2 
弱分类器h2 中有三个“-”符号分类错误

分类错误的权值为:we2=0.1*3=0.3; 
上图中十个点的总权值为:wt2=0.1*7+0.233*3=1.3990; 
错误率为:ε2=we2/wt2=0.3/1.399= 0.2144; 

弱分类器h3 中有两个“+”符号和一个“-”符号分类错误
分类错误的权值为we3=0.1*2+0.1*1=0.3; 

上图中十个点的总权值为:wt3=0.1*4+0.233*3+0.3664*3=2.1982;
错误率为: εt=we3/wt3=0.3/2.1982= 0.1365; 

分类错误的三个点误差增加为0.6326如此迭代
第四步:
有公式:
每个区域是属于哪个属性,由这个区域所在分类器的权值综合决定。比如左下角的区域,属于蓝色分类区的权重为h1 中的0.42和h2 中的0.65,其和为1.07;属于淡红色分类区域的权重为h3 中的0.92;属于淡红色分类区的权重小于属于蓝色分类区的权值,因此左下角属于蓝色分类区。
因此可以得到整合的结果如上图所示,从结果图中看,即使是简单的分类器,组合起来也能获得很好的分类效果。 

总结:
Adaboost 权值为什么这样调节:
提高错误点的权值,当下一次分类器再次分错了这些点之后,会提高整体的错误率,这样就导致αt变的很小,最终导致这个分类器在整个混合分类器的权值变低。也就是说,这个算法让优秀的分类器占整体的权值更高,而挫的分类器权值更低。

AdaBoost算法讲解、举例相关推荐

  1. AdaBoost算法讲解

    原文:AdaBoost算法讲解.举例 一: 算法介绍 Adaboost算法的目标是提高学习算法(比如说LMS算法)的分类准确率.adaboost算法提供的是框架.可以使用各种学习方法构建子分类器. 对 ...

  2. Adaboost 算法的公式推导与讲解

    目录 前言 一.Adaboost 算法 1.1 Adaboost 步骤 1.2 公式推导与分析 步骤1. 首先,初始化训练数据的权值分布. 步骤2. 开始迭代 步骤3. 组合各个弱分类器,得到最终分类 ...

  3. Adaboost算法详细讲解

    转自线上数据建模 Adaboost算法详细讲解 Adaboost(Adaptive Boosting): Adaboost是Boosting模型,和bagging模型(随机森林)不同的是:Adaboo ...

  4. Adaboost算法——详细讲解

    最近在做集成学习的时候,对Adaboost非常感兴趣,就自己复现了这个程序. 首先提升方法是基于这样的一个思想:对于一个复杂的任务来说,通将多个专家的判断进行适当的综合所得到的判断,这样得到的结果会比 ...

  5. AdaBoost算法通俗讲解

    AdaBoost是元算法中最流行的一种,也被认为是最好的监督学习的方法 . 一.元算法 元算法(meta-algorithm),也被称作集成方法(ensemble method),是对其他算法进行组合 ...

  6. 基于AdaBoost算法的情感分析研究

    源码下载 http://www.byamd.xyz/hui-zong-1/ 基于AdaBoost算法的情感分析研究 摘 要 随着互联网的快速发展,各类社交媒体平台如微信.QQ等也与日俱增,而微博更是集 ...

  7. 【AdaBoost算法】集成学习——AdaBoost算法实例说明

    [AdaBoost算法]集成学习--AdaBoost算法实例说明 AdaBoost算法是数据挖掘十大算法之一,但是部分参考书上只给了该算法的数学推导过程,具体的流程并未详细举例加以解释,因此不利于学习 ...

  8. 数据挖掘十大经典算法之——AdaBoost 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  9. Adaboost算法原理以及matlab代码实现(超详细)

    一.AdaBoost简介 Boosting, 也称为增强学习或提升法,是一种重要的集成学习技术, 能够将预测精度仅比随机猜度略高的弱学习器增强为预测精度高的强学习器,这在直接构造强学习器非常困难的情况 ...

最新文章

  1. 使用 SQL Server 2012 Analysis Services Tabular Mode 表格建模 图文教程
  2. 谭浩强《C++程序设计》学习
  3. webflux切面拦截权限,webflux整合aop,webflux获取request
  4. C# Winform 出现异常:无法将顶级控件添加到控件,解决方案如下:
  5. (王道408考研操作系统)第三章内存管理-第二节3:页面置换算法1
  6. python怎么批量处理数据_python如何批量处理excel数据?_后端开发
  7. 【Mac Buf Install Solution】Mac Buf Not Provide support for this old version Solution
  8. 华为2019上半年业绩发布:华为手机海外销量已恢复禁令前80%的水平
  9. Git Your branch is ahead of ‘origin/master‘ by X commits解决方法
  10. 开源免费强大的按键精灵软件----AutoHotKey
  11. 经典场景试题,测试用例编写
  12. 系统分析师学习笔记(八)
  13. python—Django面试题汇总
  14. php百度蜘蛛劫持,PHP模拟百度蜘蛛,伪造IP爬行网站,附源代码
  15. 手把手教你构建 C 语言编译器(1)- 设计
  16. mysql实现添加图片_如何往mysql中添加图片
  17. 迪文串口屏幕通信问题
  18. 1. ELK docker部署
  19. centos 7 ffmpeg 自动 剪辑 剪裁 视频 shell 懒人系列 -8
  20. 计算机网络功能中的提高系统的可靠性指的是,下列不属于计算机网络功能的是()。A.提高系统可靠性B.提高工作效率C.分散数据的综合处理D.使...

热门文章

  1. MATLAB——复数运算
  2. from用法 prepare_MySQL之prepare用法
  3. css设置背景透明度、16进制色值设置透明度
  4. ResNet网络详解
  5. JavaScript注释(多行注释+单行注释)
  6. Springboot错误页面和错误信息定制
  7. 从手机用FTP客户端下载服务器中的文件
  8. 文献管理软件 | endnote与zotero的对比
  9. js中的call和play
  10. 游戏 AI 设计之 FSM 有限状态机