自学数据挖掘十大算法之AdaBoost「建议收藏」

自学数据挖掘十大算法之AdaBoost「建议收藏」Adaboost简介:Adaboost(adaptiveboosting)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。该算法其实是一个简单的弱分类算法提升过程

大家好,又见面了,我是你们的朋友全栈君。

Adaboost简介:

Adaboostadaptive boosting)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。

该算法其实是一个简单的弱分类算法提升过程,这个过程通过不断的训练,可以提高对数据的分类能力。整个过程如下所示:

1. 先通过对N个训练样本的学习得到第一个弱分类器

2. 将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器 

3. 12都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器

4. 最终经过提升的强分类器 。即某个数据被分为哪一类要通过分类器的多数表决权重。

存在的问题及改进方法

对于boosting算法,存在两个问题:

1. 如何调整训练集,使得在训练集上训练的弱分类器得以进行;

2. 如何将训练得到的各个弱分类器联合起来形成强分类器。

针对以上两个问题,adaBoost算法进行了调整:

1. 使用加权后选取的训练数据代替随机选取的训练样本,这样将训练的焦点集中在比较难分的训练数据样本上; 

2. 将弱分类器联合起来,使用加权的投票机制代替平均投票机制。让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。

                      自学数据挖掘十大算法之AdaBoost「建议收藏」    

       

上图是整个分类器的构建过程:从Y1一直到Ym,最终我们形成的强分类器如下:

自学数据挖掘十大算法之AdaBoost「建议收藏」

AdaBoost提供的是一种分类模型,根据具体问题需要我们可以向里面加载不同的学习方案。

计算模型的错误率,求Mi误分类数据集Di中每个元组的加权和:

自学数据挖掘十大算法之AdaBoost「建议收藏」

是Xj的误分类误差,如果Xj被误分类则其值等于1,否则等于0.如果某分类器的错误率超过0.5则认为该分类器性能太差,可以丢弃重新产生训练集Di生成新的分类器Mi 

分类器Mi 的表决权重公式(可自定义):

自学数据挖掘十大算法之AdaBoost「建议收藏」

AdaBoost的算法过程:

自学数据挖掘十大算法之AdaBoost「建议收藏」


一个具体的例子:

我们在这里初始化每个元组的权重为Mi = 1/ d, d代表整个数据集的数据个数。

自学数据挖掘十大算法之AdaBoost「建议收藏」

                        

最终我们得到了一个强分类器: 自学数据挖掘十大算法之AdaBoost「建议收藏」

参考:

韩家炜《数据挖掘概念与技术》

http://baike.baidu.com/view/2395336.htm

http://blog.csdn.net/haidao2009/article/details/7514787

http://blog.csdn.net/dark_scope/article/details/14103983

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136535.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 使用vscode编写、运行Python程序[通俗易懂]

    使用vscode编写、运行Python程序[通俗易懂]最近准备推出一系列Python入门、Pytorch深度学习框架入门的文章,主要面向计算机视觉小白。为了给非计算机专业的读者、或者刚入门计算机视觉的读者打好基础,前几天特意写了一篇入门文章,介绍了计算机视觉中一些最基础的概念和名词:Hereisyuquedoccard,clickonthelinktoview:https://www.yuque.com/zhangkai-bazwc/gmeyak/ouxwcg今天主要和大家分享在vscode中编写、运行Python程序的方法,以

    2022年10月23日
  • 布线问题(分支限界法)

    布线问题(分支限界法)一、首先说一下分支限界法的思想:(1)比较:分支限界法和回朔法有相似之处,但是回朔法是搜索问题的所有解,采用深度优先搜索;而分支限界法是搜索问题的最优解,采用的是广度优先搜索;(2)核心思想:分支

  • 关于pin码破解的原理和reaver参数的解释「建议收藏」

    关于pin码破解的原理和reaver参数的解释「建议收藏」  路由器开启wps功能后,会随机生成一个8位的pin码,通过暴力枚举pin码,达到破解的目的,尤其现在很多路由器默认开启了wps功能。大家可能会想到8位的随机pin码将会有100000000种情况,这要pin到何年何月呀。。。。。。不过接下来讲解一下原理,大家会发现其实没多少种情况,这也是这种攻击方式比较流行的原因。 1.pin码破解的原理:  pin码是由8位纯数字组成的识别码,pin码破解是分三部分进行的,规律是这样的:pin码分为三部分,如图:      前4位为…

  • AD域的搭建

    AD域的搭建AD域1——肯定是先添加AD域服务器开始—》所有程序—》管理你的服务器—》添加删除程序—》选择添加AD域然后一系列设置,记得搭建了好几次,每次搭建的时候还是要看文档问别人,这次索性就记录每一个步骤,到了检测DNS服务器那里了。2——打开DNS服务管理器,修改一下SOA的属性3——AD的作用是把用户添加到一个组中进行统一管理…

  • 前端面试题 vue_vue面试题必问

    前端面试题 vue_vue面试题必问1.自我介绍2分钟,200-300个字,主旨自己基本情况,工作经历,优点,兴趣爱好,职业规划,邀约2.vue面试题1.v-show和v-if区别的区别:v-show通过cssdisplay控制显示和隐藏,v-if组件真正的渲染和销毁,而不是显示和隐藏,频繁切换状态使用v-show否则v-if2.为何v-for要用key快速查找到节点,减少渲染次数,提升渲染性能3.描述vue组件声明周期mm单组件声明周期图挂载:beforeCreate=>created=

  • webapi安全验证_手机测试路由器丢包率

    webapi安全验证_手机测试路由器丢包率无线局域网鉴别与保密基础结构WAPI是无线局域网安全协议,也被列为多种检测的测试项目。自联盟成员西电捷通研发WAPI技术以来,我们在密切跟踪WAPI安全技术的基础上,按照协议的技术特点将其工程实践化,而且,基于对WAPI安全协议的深刻理解,我们对WAPI安全协议的检测形成了一套系统方法,并研发了WAPI安全协议检测系统,如何保障WAPI安全协议检测系统测试的准确性和稳定性将是测试工作的核心。

    2022年10月15日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号