ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Adaboost、GBDT、xgboost、lightGBM的区别

2020-04-05 13:56:59  阅读:671  来源: 互联网

标签:lightGBM 迭代 权重 样本 frac 学习 GBDT Adaboost quad


  • 这4种模型是集成模型中的提升树类别。(其他的类别还有装袋树(如RandomForest)、模型堆叠(stack))
  • 其中xgboost、lightgbm在众多的数据竞赛中表现出优秀的预测能力。

本文通俗地描述对比几种算法的原理和区别


  1. Adaboost

        Adaboost是各类数据挖掘、机器学习、统计学习书籍中都在介绍的算法。它每次迭代都会根据新的基学习器的误差$\epsilon_t$去更新基学习器的权重,然后根据基学习器权重去更新样本的权重,新的加权后的样本流入下一步的迭代。参考周志华《机器学习》P174中的算法描述(以分类为例):

算法描述

输入:训练集$D=\left\{(x_1,y_1),(x_2,y_2),…,(x_m,y_m)\right\}$;基学习器$h$;建立的基学习器数目$T$

步骤:

[1]$D_1(x)= \frac{1}{m}$ 

[2]$for \quad t  \quad in \quad range(T):$

[3]$\qquad \epsilon_t=P_{x\sim D_t}(h_t(x) \neq f(x));$

[4]$\qquad if \epsilon_t > 0.5 : break;$

[5]$\qquad \alpha=\frac{1}{2} ln(\frac{1-\epsilon}{\epsilon});$


[6]$ \begin{aligned} \qquad D_{t+1}(x)&=\frac{D_t(x)}{Z_t} \times \left\{ \begin{array}{} exp(-\alpha_t),\quad if \quad h_t(x) = f(x)&\\ exp(\alpha_t),\quad if \quad h_t(x) \neq f(x) \\ \end{array} \right. \\ &=\frac{D_t(x)exp(-\alpha_tf(x)h_t(x))}{Z_t} \end{aligned} $ 

 

输出:$H(x)=sign(\sum_{t=1}^{T}\alpha_t h_t(x))$

解释

[1]初始化样本权重为$\frac{1}{m}$

[3]基于t轮迭代时的样本权重,将加权样本喂入t时刻基学习器,计算所有样本预测值和真实值不相等的概率的均值

[4] 如果这个概率的均值大于0.5,说明这轮迭代的基学习器比随机猜测更差,舍去

[5]否则,用这个错误率去计算正确/错误的优势比,并以此更新该轮基学习器的权重

[6]用计算得到的基学习器权重去更新样本权重:预测命中的样本减少其权重,预测错误的样本增加其权重,从而获得新的样本权重,用于下一轮迭代的数据输入

输出:集成模型的预测结果是每轮迭代训练出来的基学习器与之权重的加权平均,再经过符号函数处理,获取类别判定

标签:lightGBM,迭代,权重,样本,frac,学习,GBDT,Adaboost,quad
来源: https://www.cnblogs.com/mx0813/p/12636948.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有