adaboost

boosting

提升方法

核心思路:‘三个臭皮匠顶一个诸葛亮’,通过集成多个弱学习器达到强学习器的作用。
弱学习器:学习的正确率仅仅比随机猜测好,对于二分类问题,随机猜测的正确率为 1 2 \frac{1}{2} 21
强学习器:分类的正确率较高

Adaboost算法

介绍adaboost对于二分类问题的处理流程:
假设给定一个二分类的训练数据集: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } T= \lbrace (x_1,y_1),(x_2,y_2),...,(x_n,y_n) \rbrace T={(x1,y1),(x2,y2),...,(xn,yn)},其中每个样本点由特征与类别组成。特征 x i ∈ χ ⊆ R n x_i \in \chi \subseteq R^n xiχRn,类别 y i ∈ Y y_i \in Y yiY={−1,+1}, χ \chi χ 是特征空间,Y是类别集合,输出最终分类器 𝐺(𝑥) 。Adaboost算法如下:
(1) 初始化训练数据的分布:
D 1 = ( w 11 , . . . , w 1 i , . . . , w 1 n ) D_1=(w_{11},...,w_{1i},...,w_{1n}) D1=(w11,...,w1i,...,w1n)
(2) 对于m=1,2,…,M使用具有权值分布 D m D_m Dm的训练数据集进行学习,得到基本分类器: G m ( x ) G_m(x) Gm(x),输入为特征x,输出为正一或负一, e m e_m em为分类错误率, G m ( x ) G_m(x) Gm(x)的系数 α m = 1 2 ln ⁡ 1 − e m e m \alpha_m=\frac{1}{2} \ln \frac{1-e_m}{e_m} αm=21lnem1em
(3) 更新训练数据集的权值分布 D m + 1 = ( w m + 1 , 1 , . . . , w m + 1 , i , . . . , w m + 1 , N ) D_{m+1}=(w_{m+1,1},...,w_{m+1,i},...,w_{m+1,N}) Dm+1=(wm+1,1,...,wm+1,i,...,wm+1,N),其中, w m + 1 , i = w m i Z m e x p ( − α m y i G m ( x i ) ) w_{m+1,i}=\frac{w_{mi}}{Z_m}exp(- \alpha_my_iG_m(x_i)) wm+1,i=Zmwmiexp(αmyiGm(xi)), Z m = ∑ i = 1 N w m i e x p ( − α m u i G m ( x i ) ) Z_m=\sum _{i=1} ^N w_{mi} exp(- \alpha _m u_i G_m(x_i)) Zm=i=1Nwmiexp(αmuiGm(xi))
(4)构建线性模型, f ( x ) = ∑ m = 1 M α m G m ( x ) f(x)=\sum _{m=1} ^M \alpha _mG_m(x) f(x)=m=1MαmGm(x)
(5)最终的分类器 G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M α m G m ( x ) ) G(x)=sign(f(x))=sign(\sum _{m=1} ^M \alpha _mG_m(x)) G(x)=sign(f(x))=sign(m=1MαmGm(x))
说一说对以上过程一些参数的理解:
1. α m \alpha _m αm表示 G m ( x ) G_m(x) Gm(x)的重要性,通过 e m e_m em计算得到,由于是弱分类器, e m e_m em必定小于1/2, α m \alpha _m αm随着 e m e_m em的减小而增大,也就是分类器错误率越低越中重要。
2. w m + 1 , i = w m i Z m e x p ( − α m y i G m ( x i ) ) w_{m+1,i}=\frac{w_{mi}}{Z_m}exp(- \alpha_my_iG_m(x_i)) wm+1,i=Zmwmiexp(αmyiGm(xi)),根据 e x e^x ex性质,x>0,起到放大的作用,x<0,起到缩小的作用,这一步实现了将误分类样本权重提高将正确分类样本缩小的作用。

前向分布算法

这个算法还是比较难理解,在迭代的过程中,每一次迭代找到最优的 β m , γ m \beta _m,\gamma _m βm,γm,在迭代完成之后将模型相加,得到最优的模型。

GBDT

就是令前向分布算法的f(x)为树模型,通过决策树模型拟合残差的数据。

梯度提升

负梯度作为残差的近似值,将GBDT中的残差值用梯度值代替。

作业

1.GBDT的算法思路在笔记中已介绍过
2.adaboost和GBDT的区别联系(参考了一些网上的回答):
关于GBDT与Adaboost的区别与联系,它们都属于boosting提升方法,只是损失函数不同:AdaBoost 是通过提升错分数据点的权重来定位模型的不足,而Gradient Boosting是通过算梯度(残差)来定位模型的不足。
GBDT分为两种:
(1)残差版本  
残差其实就是真实值和预测值之间的差值,在学习的过程中,首先学习一颗回归树,然后将“真实值-预测值”得到残差,再把残差作为一个学习目标,学习下一棵回归树,依次类推,直到残差小于某个接近0的阀值或回归树数目达到某一阀值。其核心思想是每轮通过拟合残差来降低损失函数。总的来说,第一棵树是正常的,之后所有的树的决策全是由残差来决定;
(2)梯度版本
与残差版本把GBDT说成一个残差迭代树,认为每一棵回归树都在学习前N-1棵树的残差不同,Gradient版本把GBDT说成一个梯度迭代树,使用梯度下降法求解,认为每一棵回归树在学习前N-1棵树的梯度下降值。总的来说两者相同之处在于,都是迭代回归树,都是累加每颗树结果作为最终结果(Multiple Additive Regression Tree),每棵树都在学习前N-1棵树尚存的不足,从总体流程和输入输出上两者是没有区别的。
两者的不同主要在于每步迭代时,是否使用Gradient作为求解方法。前者不用Gradient而是用残差—-残差是全局最优值,Gradient是局部最优方向*步长,即前者每一步都在试图让结果变成最好,后者则每步试图让结果更好一点。
3.Boosting和bagging的区别(参考网上的回答),如何提升模型的精度:
1)样本选择上:
Bagging:采用bootsraps的抽样方式,训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,如adaboost算法中的 α m \alpha _m αm,对于分类误差小的分类器会有更大的权重。
3)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
5)bagging是减少variance,而boosting是减少bias
High variance是模型过于复杂,过拟合,记住太多细节噪声数据的信息;high bias是拟合度过低,模型过于简单,cost function不够好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值