博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Adaboost
阅读量:5230 次
发布时间:2019-06-14

本文共 849 字,大约阅读时间需要 2 分钟。

前言

集成学习按照个体学习器之间是否存在依赖关系可以分为两类:

第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成。代表算法是boosting系列算法。在boosting系列算法中, Adaboost是最著名的算法之一。

第二类是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。。

Adaboost既可以用作分类,也可以用作回归。

正题

简介

AdaBoost是集成学习算法boosting的一种实现,它用弱分类器的线性组合来构造强分类器,用于二分类问题。

与随机森林进行样本抽样来训练多个分类器不同,Adaboost算法在训练时样本具有权重,并且会在训练过程中动态调整,被前面的弱分类器错分的样本会加大权重,因此算法会更加关注上个分类器错分的样本。

计算流程:

我们以分类问题作为案例

(1)初始化样本权重值,所有样本的初始权重相等:

 

 2)循环,对依次训练每个弱分类器:

1.

 训练一个弱分类器,并计算它对训练样本集的错误率:

学习器权重系数,对于二元分类问题,第t个弱分类器f(x)的权重系数为

上面公式可以看到分类误差率et越大,则对应的弱分类器权重系数αt越小。也就是说,误差率小的弱分类器权重系数越大。

2.

更新所有样本的权重:

其中为归一化因子,它是所有样本的权重之和:

结束循环

3)最后得到强分类器(Adaboost分类采用的是加权表决法)

 

 

全部流程如图所示:

---------------------------------------------------------------------------------------------------------------------------------------------------

挖坑未完待续

 

转载于:https://www.cnblogs.com/wqbin/p/10231893.html

你可能感兴趣的文章
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
【练习】使用事务和锁定语句
查看>>
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
javaScript数组去重方法汇总
查看>>
评价意见整合
查看>>
二、create-react-app自定义配置
查看>>