Adaboost学习笔记

一、Adaptive basis function models

1.kernel methods

kernel是度量x和u之间的距离的函数,也可以放在loss fuction中。kernel的形式有高斯kernel、球形kernel、cos距离(在nlp中用得很多,第j个word在第i个里面出现的次数)、RF kernel。

怎么定义好kernel:如果想度量两幅图像的距离。kernel的方法resize到统一大小的图像,然后对应每个位置的pixel的差值。

怎么样学习kernel?方法:Maximizing likelihood、MKL(multiple kernel learning)定义一堆小的basis kernel,然后加权组成大的kernel、Adaptive basis function model(ABM)要学习w和\phi

2.CART

model:f(x) = E(y|x)=\sum w_{mI(x\in R_{m} )}=\sum w_{m}phi (x:v_{m}),其中R_{m}是region,由basis function定义;w_{m}:means response;v_{m}:encodes the variable to split on

how:find best split (j^{*},t^{*}) = arg min min cost({xi,yi:xij\leqslant t})+cost({xi,yi:xij>t})

algorithm: function fittree;mode.prediction =mean or class label distribution; split ;if not worthsplitting then return node ,else node.test = \lambdax.xj>t,node.left = fitTree,node.right = fitree.

也就是:加载数据集;计算gini index;根据最佳分割feature进行数据分割;根据最大信息增益旋转最佳分割feature;递归构建结构树;样本分类

CART的种类:Misclassification rate 分对的概率;Entropy ;Gini index基尼指数

缺点:估计不准:贪心算法,只能局部最优;树不稳定,training data小改变会大不同

3.Boosting

一个自适应的贪心算法,以浅层的CART作为basis learner,是best off-the-shelf 分类器,boosting>  random forest >single decision tree。

(1)弱学习机:对一定分布的训练样本给出假设(仅仅强于随机财产,根据云猜测可能会下雨);

强学习机:根据得到的弱学习机和相应的权重给出假设(最大程度上符合实际情况:almost perfect expect),综合准确的天气预测,也就是弱学习机根据boosting得到。

(2)95年,改进了Boosting算法,提出了AdaBoost算法。

AdaBoost优点:该算法效率和boosting算法相同,但不需要先验知识。

(3)How: 设置权重初始值,根据训练分类器训练分类器,再反过来根据分类器调整权重。不断迭代的一个过程。

原始训练集根据强学习机,分错的增加权重,分对的降低权重。接着再用一个弱学习机来训练。

步骤也就是:首先给出任意一个弱学习算法和训练集;初始化时,Adaboost为训练集制定分布为1/n,即每个训练例的权重都相同为1/n。接着,条用弱学习算法进行T次迭代,每次迭代后,按照训练结果更新训练集的分布,对于训练识别的训练例赋予较大的权重,使得下一次迭代跟家关注这些训练例,从而得到一个预测函数系列,每个预测函数也赋予一个权值,预测效果好的,相应权重大。T次迭代之后,在分类问题中最终的预测函数H采用投票法来确定。单个弱学习器的学习准确率不高,根据Boosting 算法之后,最终准确率将有所提高。

(4)Boosting的表现形式:squared error 、absolute error、exponential loss、logloss。adaboost是boost的一种形式。

(5)Adaboost:是指数loss。L(y,f) = exp(-yf)\frac{\partial }{\partial f(x)}E[e^{-yf(x)|x}]=\frac{\partial }{\partial f(x)}[p(y=1|x)e^{-f(x)}+p(y=-1|x)e^{f(x)}] =-p(y=1|x)e^{-f(x)}+p(y=-1|x)e^{f(x)} =0

\frac{p(y=1|x)}{p(y=-1|x)}=e^{2f(x)}

可以初始化f0(x),求L(yi,f(xi,r))和的最小值;之后迭代求解。f_{m}(x) = f_{m-1}(x)+\beta _{m}\phi (x;\gamma _{m}).

wi=1/N;在当前情况下训练一个弱分类器,求出\alpha _{m}

4.总结

(1)样本的权重:没有先验知识的情况下,初始分布为等概率分布,训练集如果有N个样本,每个样本分布概率为1/N;每次循环后提高错误样本分布概率,分错样本在训练集中所占权重增大,使得下一次循环的弱学习机能集中力量对这些错误样本进行判断

弱学习机的权重:准确率越高弱学习机权重越高

循环控制:损失函数最小。在强学习机组合中增加弱学习机使准确率提高,损失函数值减小。

(2)表现好的原因

可以做ll-regularization:可以计算好一些弱学习机,可以用ll-regularization选出有效feature的子集,也可以用boosting 每次选出一个弱学习机,另外,可以结合boosting和ll-regularization,每次用boosting选择一个best weak learner,可以用ll剪枝,去掉一些无关feature。

adaboost最大化了margin

(3)缺点

速度慢,一定程度上依赖于训练数据集合和弱学习机的旋转,训练数据不足或者弱学习机太弱,会导致训练精度下降

Boosting易收到噪声的影响,这是因为它在迭代过程中总是给噪声分配较大的权重,使得这些噪声在以后的迭代中收到更多的关注。

(4)Exercise

随机生成一些数据,或者自己找数据;

用RBF kernel 去fit

实现ID3,C4.5,CART算法,分别fit

用Adaboost去fit

用LogitBoost 去fit

如果存在一个多项式的学习算法能够学习它并且正确率很高,则是强克学习的;如果存在一个多项式的学习算法能够学习它,并且学习的正确率仅仅比随机猜测略好,则这个概念是弱可学习的。强可学习的与弱可学习是等价的。

步骤:初始化训练样本将权值赋为1/N。使用具有权值分布Dm的训练数据集学习,得到基本分类器(弱分类器):Gm(x): x {-1,1}

            计算Gm(x)在训练数据集上的分类误差率 em=P(Gm(xi)\neq yi)=\sum wmiI(Gm(xi)\neq yi)

            就散Gm(x)的系数:\alpha_{m}=\frac{1}{2}log\frac{1-e_{m}}{e_{m}}

            更新训练数据集的权值分布:Dm+1,Wm+1;构建基本分类器的线性组合;之后得到最终分类器

举例:给定下列训练样本,使用AdaBoost算法学习一个强 分类器?

解:初始化训练数据的权值分布:D_{1}=(w11,w12...w1i...,w1N), w1i=1/N,  W1i=0.1

        对于m=1,在权值分布为D1的训练数据上,阈值v取2.5时误差率最低,故基本分类器为

G1(x)=\left\{\begin{matrix} 1, x <2.5 & \\ & -1, x>2.5 \end{matrix}\right.,求出误差率e和系数。得到f1(x)=a1*G1(x)之后调整权值(分错的权值重些)D2,W2+i。然后对于m=2,在权值分布为D2的训练数据上,阈值去8.5是误差率最低,基本分类器按8.5来分。重新计算误差率和系数。f2(x)=a1*G1(x)+a2*G2(x)。再对于m=3,在权值分布为D3的训练数据上,再按这个过程来做。

误差上限:\frac{1}{N}\sum I\leq \frac{1}{N}\sum exp(-y_{i}f(x_{i}))=\sum Z_{m}

Adaboost算法模型为加法模型、损失函数为指数函数,学习函数为钱箱分布算法时的二类学习方法。

前向分布算法

总结:AdaBoost系列误差是以指数速率下降的的;不需要实现事先知道下界;是自适应的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值