数据挖掘十大算法之AdaBoost提升算法

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘十大算法之AdaBoost提升算法相关的知识,希望对你有一定的参考价值。

目录

1 基本概念

(1)第一种定义

AdaBoost(Adaptive Boosting)是将多个弱分类器合成一个强分类器。通过提高被前一轮弱分类器错误分类样本的权值,而降低被分类正确的样本的权值,实现在每一轮改变训练数据的权值或概率分布,从而把当前轮没有得到正确分类的数据,通过权值的加大而在后一轮的弱分类器中得到更大的关注。弱分类器的组合,采用加权多数表决的方法。

(2)第二种定义

AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分布算法的二分类学习方法。

2 算法过程

2.1 AdaBoost以第一种定义的算法过程

假设给定一个二分类的训练数据集
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) (1) T = \\(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\\\\tag1 T=(x1,y1),(x2,y2),...,(xN,yN)(1)
其中,每个样本点由实例与标记组成。实例 x i ∈ X ⊆ R n x_i \\in X \\subseteq R^n xiXRn,标记 y i ∈ Y = − 1 , + 1 y_i \\in Y = \\-1,+1\\ yiY=1,+1,X是实例空间,Y是标记集合。AdaBoost利用以下算法,从训练数据中学习一系列弱分类器或基本分类器,并将这些弱分类器线性组合成为一个强分类器。

输入:训练数据集T,弱分类学习算法。

输出:最终分类器 G ( x ) G(x) G(x)

(1)初始化训练数据的权值分布
D 1 = ( w 11 , . . . , w 1 i , . . . , w 1 N ) , w 1 i = 1 N , i = 1 , 2 , . . . , N (2) D_1 = (w_11,...,w_1i,...,w_1N),w_1i = \\frac1N,i=1,2,...,N \\tag2 D1=(w11,...,w1i,...,w1N),w1i=N1,i=1,2,...,N(2)

(2)对每一个基本弱分类器,m = 1,2,…,M

a. 使用具有权值分布 D m D_m Dm的训练数据集学习,得到基本分类器
G m ( x ) : X → − 1 , + 1 (3) G_m(x):X \\rightarrow \\-1,+1\\ \\tag3 Gm(x):X1,+1(3)

b. 计算 G m ( x ) G_m(x) Gm(x)在训练数据集上的分类误差率
e m = ∑ i = 1 N P ( G m ( x i ) ≠ y i ) = ∑ i = 1 N w m i I ( G m ( x i ) ≠ y i ) (4) e_m = \\sum_i=1^N P(G_m(x_i) \\not = y_i) = \\sum_i=1^Nw_miI(G_m(x_i) \\not = y_i) \\tag4 em=i=1NP(Gm(xi)=yi)=i=1NwmiI(Gm(xi)=yi)(4)

w m i w_mi wmi表示第m轮中第i个实例的权值, ∑ i = 1 N w m i = 1 \\sum_i=1^Nw_mi =1 i=1Nwmi=1

c. 计算 G m ( x ) G_m(x) Gm(x)的系数
α m = 1 2 l n ( 1 − e m e m ) , l n ( ⋅ ) 表 示 自 然 对 数 (5) \\alpha_m = \\frac12ln( \\frac1-e_me_m) ,\\quad ln(\\cdot)表示自然对数 \\tag5 αm=21ln(em1em),ln()(5)

d. 更新训练数据集的权值分布
D m + 1 = ( w m + 1 , 1 , . . . , w m + 1 , i , , . . . , w m + 1 , N w m + 1 , i = w m i Z m e x p ( − α m y i G m ( x i ) ) , i = 1 , 2 , . . . , N (6) D_m+1 = (w_m+1,1,...,w_m+1,i,,...,w_m+1,N\\\\ w_m+1,i = \\fracw_miZ_mexp(-\\alpha_m y_i G_m(x_i)),i = 1,2,...,N \\tag6 Dm+1=(wm+1,1,...,wm+1,i,,...,wm+1,Nwm+1,i=Zmwmiexp(αmyi

以上是关于数据挖掘十大算法之AdaBoost提升算法的主要内容,如果未能解决你的问题,请参考以下文章

R数据分析之AdaBoost算法

Python机器学习算法之AdaBoost算法

提升树之Adaboost算法的介绍

机器学习——提升方法AdaBoost算法,推导过程

数据挖掘领域十大经典算法

十大数据挖掘算法及各自优势