《统计学习方法》8.提升方法

总结机器学习中的boosting模型。

1. AdaBoost算法:

输入:训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)} , 其中 xiXRn,yiY={+1,1},i=1,2,,N ;弱学习算法

输出:分类器 G(x)

  1. 初始化训练数据的权值分布

    D1=(w11,w12,,w1N),w1i=1N,i=1,2,,N
  2. m=1,2,,M
    2.1 使用具有权值分布 Dm 的训练数据集学习,得到基本分类器

    Gm(x):X{1,+1}

    2.2 计算 Gm(x) 在训练数据集上的分类误差率

    em=P(Gm(xi)yi)=Ni=1wmiI(Gm(xi)yi)

    2.3 计算 Gm(x)的系数

    αm=12log1emem

    2.4 更新训练数据集的权值分布

    Dm+1=(wm+1,1,,wm+1,i,,wm+1,N)wm+1,i=wmiZmexp(αmyiGm(xi)),={ wmiZmexp(αm),Gm(xi)=yiwmiZmexp(αm),Gm(xi)yii=1,2,,N

    其中,Zm是规范其中,Zm是规范化因子

    ZmNi=1wmiexp(αmyi,Gm(xi))
  3. 构建基本分类器的线性

    f(x)=Mm=1αmGm(x)

    得到最终分类器

G(x)=sign(f(x))=sign(Mm=1αmGm(x))

2. 加法模型

f(x)=Mm=1βmb(x;γm)

其中,b(x;γm)为基函数,βm为基函数系数,γm为基函数参数。

在给定训练数据及损失函数 L(y,f(x)) 的条件下,学习加法模型 f(x)成为经验风险极小化问题

minβm,γmNi=1L(yi,Mm=1βmb(xi;γm))

学习加法模型,从前向后每一步只学习一个基函数及其系数,即每步只优化

minβ,γNi=1L(yi,βb(xi;γ))

3. 前向分布算法:

输入:训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)} ,损失函数 L(y,f(x)) ;基函数集 {b(x;γ)}

输出:加法模型f(x)

  1. 初始化 f0(x)=0
  2. m=1,2,,M
    2.1 极小化损失函数

    (βm,γm)=argminβ,γNi=1L(yi,fm1(xi)+βb(xi;γ))

    得到参数 βm,γm

    2.2 更新
    fm(x)=fm1(x)+βmb(x;γm)

  3. 得到加法模型
f(x)=fM(x)=Mm=1βmb(x;γm)

训练数据集

T={(x1,y1),(x2,y2),,(xN,yN)}

其中,xiXRn,yiYR,i=1,2,,N

将输入空间 X 划分为 J 个互不相交的区域R1,R2,,RJ,且在每个区域上确定输出的常量cj,则回归树

T(x;Θ)=Jj=1cjI(xRj)

其中,参数 Θ={(R1,c1),(R2,c2),,(RJ,cJ)} 表示树的区域划分和各区域上的常数。J是回归树的负责度即叶结点个数。

4. 回归提升树使用前向分布算法

f0=0fm(x)=fm1(x)+T(x;Θm)fM=Mm=1T(x;Θm)

在前向分布算法的第 m 步给定当前模型fm1(x) ,模型参数

ˆΘm=argminΘmNi=1L(yi,fm1(xi)+T(xi;Θm))

得到第m棵树的参数ˆΘm

当采用平方误差损失函数

L(y,fm1(x)+T(x;Θm))=[yfm1(x)T(x;Θm)]2=[rT(x;Θm)]2

其中,r=yfm1(x)是当前模型拟合数据的残差。

5. 回归提升树算法:

输入:训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)},xiXRn,yiYR,i=1,2,,N

输出:回归提升树 fM(x)

  1. 初始化 f0(x)=0
  2. m=1,2,,M
    2.1 计算残差

    rmi=yifm1(xi),i=1,2,,N

    2.2 拟合残差rmi学习一个回归树,得到T(x;Θm)
    2.3 更新fm=fm1(x)+T(x;Θm)

  3. 得到回归提升

    fM(x)=Mm=1T(x;Θm)

6 梯度提升算法:

输入:训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)},xiXRn,yiYR,i=1,2,,N ,损失函数 L(y,f(x))
输入:回归树 ˆf(x)

  1. 初始化
f0(x)=argmincNi=1L(yi,c)
  1. m=1,2,,M
    2.1 对 i=1,2,,N计算

    rmi=[L(yi,f(xi))f(xi)]f(x)=fm1(x)

    2.2 对 rmi拟合回归树,得到第m棵树的叶结点区域 Rmj,j=1,2,,J

    2.3 对 j=1,2,,J计算

    cmj=argmincxiRmjL(yi,fm1(xi)+c)

    2.4 更新fm(x)=fm1(x)+Jj=1cmjI(xRmj)

  2. 得到回归树

ˆf(x)=fM(x)=Mm=1Jj=1cmjI(xRmj)
0 comments
Anonymous
Markdown is supported

Be the first person to leave a comment!

Search

    Table of Contents

    文章目录

    本站总访问量:16897 , 您是第13271位访客