周志华 AdaBoost报告总结

集成学习:利用多个学习器来解决机器学习问题。

按集成学习中个体学习器的生成方式来说,集成学习可分为:

  1. Sequntial methods
    • AdaBoost
    • Arc-x4
    • LPBoost
    • ……
  2. Parallel methods
    • Bagging
    • Random Subspace
    • Random Froests
    • ……

本文主要关注AdaBoost。

AdaBoost是一种集成学习算法,主要思想是在数据集上训练多个弱学习器,将多个弱学习器的预测结果进行加权结合输出最终预测结果。

AdaBoost算法特点有:

  1. 实现简单,效果好
  2. 发展出了一族算法
  3. 有很好的理论基础:训练误差指数下降,泛化误差有上限

一、实现简单,效果好

1.1 直观解释

在数据集上训练一系列弱学习器,后一个若学习器更加关注前一个若学习器预测错误的样本,最后将这些学习器加权结合。流程如下图所示:

在这里插入图片描述

对于数据集1训练学习器1,然后对数据集1的样本权重调整,使得预测错误的样本的权重更大,形成了数据集2,训练学习器2,再次调整权重,训练学习器3,等等,最后将所有学习器结合。

1.2 原理

AdaBoost的代码只有10行左右,原理也是非常简单。我们先来看一下AdaBoost算法到底是什么。

给定训练集: ( x 1 , y 1 ) , … , ( x m , y m ) ; x i ∈ X , y i ∈ { − 1 , + 1 } \left( x _ { 1 } , y _ { 1 } \right) , \ldots , \left( x _ { m } , y _ { m } \right) ; x _ { i } \in \mathcal { X } , y _ { i } \in \{ - 1 , + 1 \} (x1,y1),,(xm,ym);xiX,yi{ 1,+1}

初始化权重: D 1 ( i ) = 1 / m D _ { 1 } ( i ) = 1 / m D1(i)=1/m

循环开始:训练轮数t = 1 , … , T :
h t = arg ⁡ min ⁡ h j ∈ H ϵ j = ∑ i = 1 m D t ( i ) [ y i ≠ h j ( x i ) ] h _ { t } = \arg \min _ { h _ { j } \in \mathcal { H } } \epsilon _ { j } = \sum _ { i = 1 } ^ { m } D _ { t } ( i ) \left[ y _ { i } \neq h _ { j } \left( x _ { i } \right) \right ] ht=arghj

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值