机器学习之Adaboost算法

本文深入介绍了Adaboost算法的基本思想和流程,通过实战分析展示了如何基于单层决策树构建弱分类器,并逐步形成强分类器。内容涵盖了Adaboost在马疝病数据集上的应用以及解决非均衡分类问题的讨论,提供了丰富的代码实现和实验结果。
摘要由CSDN通过智能技术生成

一、算法原理

1.算法的基本思想

Adaboostadaptive boosting的简写,是自适应的boosting算法,基本思想为:在前一个弱分类器的基础上,增加误分类样本的权重,这些误分类的样本在下一个弱分类器那里被重点关注,依次迭代进行,直到到达预定的足够小的错误率或最大的迭代次数为止。大概流程描述如下:

  1. 初始化训练数据的权值分布,假设样本个数为 N N N,则每个样本的权值为 1 N \frac{1}{N} N1
  2. 在初始训练集上训练出一个弱分类器,根据分类结果,被误分类的样本权重增加,正确分类的样本的权重将减少,然后将权值更新过的训练数据集用于训练下一个弱分类器,不断进行迭代。
  3. 将各个弱分类器进行组合形成强分类器。各个弱分类器也有自己的权重,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中有更大的决定权,同理,减少分类误差率高的弱分类器的权重,使其在最终的分类函数中起着较小的决定权。
2.算法的流程

假设一个二分类的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_{\scriptscriptstyle 1},y_{\scriptscriptstyle 1}),(x_{\scriptscriptstyle 2},y_{\scriptscriptstyle 2}),\cdots,(x_{\scriptscriptstyle N},y_{\scriptscriptstyle N})\} T={ (x1,y1),(x2,y2),,(xN,yN)}
其中, x i ∈ χ ∈ R n x_{i}\in \chi \in R^{\scriptscriptstyle n} xiχRn,标记 y i ∈ { − 1 , 1 } y_{\scriptscriptstyle i}\in \{-1,1\} yi{ 1,1}
(1)初始化训练数据集的权值分布
D 1 = ( w 11 , ⋯   , w 1 i , ⋯   , w 1 N ) ,   w 1 i = 1 N ,   i = 1 , 2 , ⋯   , N D_{\scriptscriptstyle 1}=(w_{\scriptscriptstyle 11},\cdots,w_{\scriptscriptstyle 1i},\cdots,w_{\scriptscriptstyle 1N}),\ w_{\scriptscriptstyle 1i}=\frac{1}{N},\ i=1,2,\cdots,N D1=(w11,,w1i,,w1N), w1i=N1, i=1,2,,N
(2)训练每个弱分类器,假设有 M M M 个弱分类器,对于 m = 1 , 2 , ⋯   , M m=1,2,\cdots,M m=1,2,,M
(a)使用具有权值分布的训练数据集学习,得到基本分类器
G m ( x ) : χ → { − 1 , 1 } G_{\scriptscriptstyle m}(x):\chi\to\{-1,1\} G

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值