Loading [MathJax]/jax/input/TeX/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【机器学习】GBDT 与 LR 的区别总结

【机器学习】GBDT 与 LR 的区别总结

作者头像
算法进阶
发布于 2022-06-01 01:20:42
发布于 2022-06-01 01:20:42
6160
举报
文章被收录于专栏:算法进阶算法进阶

以下文章来源于阿泽的学习笔记 ,作者杜​博亚

作者:杜博亚,阿里算法工程师,复旦大学计算机硕士,BDKE 之光。

1.从机器学习三要素的角度

1.1 模型

本质上来说,他们都是监督学习,判别模型,直接对数据的分布建模,不尝试挖据隐含变量,这些方面是大体相同的。但是又因为一个是线性模型,一个是非线性模型,因此其具体模型的结构导致了VC维的不同:其中,Logistic Regression作为线性分类器,它的VC维是d+1,而 GBDT 作为boosting模型,可以无限分裂,具有无限逼近样本VC维的特点,因此其VC维远远大于d+1,这都是由于其线性分类器的特征决定的,归结起来,是Logistic Regression对数据线性可分的假设导致的

1.2 策略

从 Loss(经验风险最小化) + 正则(结构风险最小化) 的框架开始说起;

「从Loss的角度:」

因为 Logistic Regression 的输出是 y = 1 的概率,所以在极大似然下,Logistic Regression的Loss是交叉熵,此时,Logistic Regression的准则是最大熵原理,也就是“为了追求最小分类误差,追求最大熵Loss”,「本质上是分类器算法,而且对数据的噪声具有高斯假设」;而 GBDT 采用 CART 树作为基分类器,其无论是处理分类还是回归均是将采用回归拟合(将分类问题通过 softmax 转换为回归问题,具体可参考本博客 GBDT 章节),用当前轮 CART 树拟合前一轮目标函数与实际值的负梯度:

ht=g

「本质上是回归算法」

❝也正是因为 GBDT 采用的 CART 树模型作为基分类器进行负梯度拟合,其是一种对特征样本空间进行划分的策略,不能使用 SGD 等梯度优化算法,而是 CART 树自身的节点分裂策略:均方差(回归) 也带来了算法上的不同;GBDT 损失函数值得是前一轮拟合模型与实际值的差异,而树节点内部分裂的特征选择则是固定为 CART 的均方差,目标损失函数可以自定义,当前轮 CART 树旨在拟合负梯度。 ❞

「从特征空间的角度:」就是因为 Logistic Regression 是特征的线性组合求交叉熵的最小化,也就是对特征的线性组合做 logistic,使得Logistic Regression会在特征空间中做线性分界面,适用于分类任务;

而 GBDT 采用 CART 树作为基分类器,其每轮树的特征拟合都是对特征空间做平行于坐标轴的空间分割,所以自带特征选择和可解释性,GBDT 即可处理分类问题也可解决回归问题,只是其统一采用回归思路进行求解(试想,如果不将分类转换为回归问题,GBDT 每轮目标函数旨在拟合上一轮组合模型的负梯度,分类信息无法求梯度,故而依旧是采用 softmax 转换为回归问题进行求解)。

「线性分类器」(处理线性可分)有三大类:「感知器准则函数、SVM、Fisher准则」「感知准则函数」 :准则函数以使错分类样本到分界面距离之和最小为原则。其优点是通过错分类样本提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。 「支持向量机」 :基本思想是在两类线性可分条件下,所设计的分类器界面使两类之间的间隔为最大,它的基本出发点是使期望泛化风险尽可能小。(使用核函数可解决非线性问题) 「Fisher 准则」 :更广泛的称呼是线性判别分析(LDA),将所有样本投影到一条原点出发的直线,使得同类样本距离尽可能小,不同类样本距离尽可能大,具体为最大化“广义瑞利商”。根据两类样本一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量方向,使两类样本在该方向上的投影满足类内尽可能密集,类间尽可能分开。这种度量通过类内离散矩阵 Sw 和类间离散矩阵 Sb 实现。 ❞

「从正则的角度:」

Logistic Regression 的正则采用一种约束参数稀疏的方式,其中 L2 正则整体约束权重系数的均方和,使得权重分布更均匀,而 L1 正则则是约束权重系数绝对值和,其自带特征选择特性;

GBDT 的正则:

  • 弱算法的个数T,就是迭代T轮。T的大小就影响着算法的复杂度
  • 步长(Shrinkage)在每一轮迭代中,原来采用
Ft(x)=Ft1(x)+αtht(x;wt)

进行更新,可以加入步长v,使得一次不更新那么多:

Ft(x)=Ft1(x)+v αtht(x;wt);v(0,1]

❝XGBoost的正则是在 GBDT 的基础上又添加了是一棵树里面节点的个数,以及每个树叶子节点上面输出分数的 L2 模平方。 ❞

区别在于 LR 采用对特征系数进行整体的限定,GBDT 采用迭代的误差控制本轮参数的增长;

1.3 算法

Logistic Regression 若采用 SGB, Momentum, SGD with Nesterov Acceleration 等算法,只用到了一阶导数信息(一阶动量),若用 AdaGrad, AdaDelta / RMSProp, Adam, Nadam 则用到了一阶导数的平方(二阶动量), 牛顿法则用到了二阶导数信息,

而 GBDT 直接拟合上一轮组合函数的特征梯度,只用到了一阶倒数信息,XGBoost 则是用到了二阶导数信息。

❝SAG/SAGA等优化器在scikit-learn上可用,但是业界用得比较多的还是BGFS,L-BGFS等,个人认为是计算量的原因,Logistic Regression模型很快就可以收敛,在线性可分的空间中也不容易出现鞍点,而且一般用Logistic Regression模型的数据量都比较大,大到不能上更复杂的模型,所以优化方法一般都是往计算量小的方向做。 ❞

2.从特征的角度

2.1 特征组合

如前所说,GBDT 特征选择方法采用最小化均方损失来寻找分裂特征及对应分裂点,所以自动会在当前根据特征 A 分裂的子树下寻求其他能使负梯度最小的其他特征 B,这样就自动具备寻求好的特征组合的性能,因此也能给出哪些特征比较重要(根据该特征被选作分裂特征的次数)

而 LR 只是一次性地寻求最大化熵的过程,对每一维的特征都假设独立,因此只具备对已有特征空间进行分割的能力,更不会对特征空间进行升维(特征组合)

2.2 特征的稀疏性

如前所述,Logistic Regression不具有特征组合的能力,并假设特征各个维度独立,因此只具有线性分界面,实际应用中,多数特征之间有相关性,只有维度特别大的稀疏数据中特征才会近似独立,所以适合应用在特征稀疏的数据上。而对于 GBDT,其更适合处理稠密特征,如 GBDT+LR 的Facebook论文中,对于连续型特征导入 GBDT 做特征组合来代替一部分手工特征工程,而对于 ID 类特征的做法往往是 one-hot 之后直接传入 LR,或者先 hash,再 one-hot 传入树中进行特征工程,而目前的主流做法是直接 one-hot + embedding 来将高维稀疏特征压缩为低纬稠密特征,也进一步引入了语意信息,有利于特征的表达。

3.数据假设不同

逻辑回归的「第一个」基本假设是**假设数据服从伯努利分布。**伯努利分布有一个简单的例子是抛硬币,抛中为正面的概率是 p,抛中为负面的概率是 1−p。在逻辑回归这个模型里面是假设

hθ(x)

为样本为正的概率,

1hθ(x)

为样本为负的概率。那么整个模型可以描述为:

hθ(x;θ)=p

逻辑回归的第二个假设是假设样本为正的概率是 :

p=11+eθTx

所以逻辑回归的最终形式 :

hθ(x;θ)=11+eθTx

总结,Logistic Regression的数据分布假设:

  1. 噪声是高斯分布的
  2. 数据服从伯努利分布
  3. 特征独立

而 GBDT 并未对数据做出上述假设。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【机器学习】XGboost
本文介绍了XGboost模型。首先在GBDT的基础上介绍XGboost,然后对比了XGboost与GBDT的不同之处,最后介绍了XGboost的损失函数和学习过程。
yuquanle
2020/04/07
4160
搞定机器学习面试,这些是基础
本文尽可能的不涉及到繁杂的数学公式,把面试中常问的模型核心点,用比较通俗易懂但又不是专业性的语言进行描述。希望可以帮助大家在找工作时提纲挈领的复习最核心的内容,或是在准备的过程中抓住每个模型的重点。
昱良
2018/07/31
7980
搞定机器学习面试,这些是基础
【面试宝典】机器学习:深度解析高频面试题与解答策略(上)
在分类问题中,这个问题相对好理解⼀点,⽐如⼈脸识别中的例⼦,正样本很好理解,就是⼈脸的图 ⽚,负样本的选取就与问题场景相关,具体⽽⾔,如果你要进⾏教室中学⽣的⼈脸识别,那么负样本就 是教室的窗⼦、墙等等,也就是说,不能是与你要研究的问题毫不相关的乱七⼋糟的场景图⽚,这样的 负样本并没有意义。负样本可以根据背景⽣成,有时候不需要寻找额外的负样本。⼀般3000-10000的正样本需要5,000,000-100,000,000的负样本来学习,在互⾦领域⼀般在⼊模前将正负⽐例通过采样的⽅ 法调整到3:1-5:1。
小言从不摸鱼
2024/12/12
1290
【面试宝典】机器学习:深度解析高频面试题与解答策略(上)
RF、GBDT、XGBoost面试级整理
RF、GBDT和XGBoost都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性。   根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:即个体学习器之间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表就是Boosting,后者的代表是Bagging和“随机森林”(Random Forest)。 1、RF 1.1 原理   提到随机森林,就不得不提Ba
机器学习AI算法工程
2018/03/30
1.6K0
决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结
决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行输的分割,直到达到结束条件或叶子节点纯度达到阈值。下图是决策树的一个示例图:
统计学家
2019/09/03
1.8K0
决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结
机器学习面试题目总结
如果你觉得好的话,不妨分享到朋友圈。 1.机器学习中特征的理解 def:特征选择和降维 特征选择:原有特征选择出子集,不改变原来的特征空间 降维:将原有的特征重组成为包含信息更多的特征,改变了原有的特征空间 降维的主要方法 Principal Component Analysis(主成分分析) Singular Value Decomposition(奇异值分解) Sammon’s Mapping(Sammon映射) 特征选择的方法 Filter方法 Chi-squared test(卡方检验) info
IT派
2018/03/28
1.1K0
关于XGBoost、GBDT、Lightgbm的17个问题
9.lightgbm和xgboost有什么区别?他们的loss一样么?算法层面有什么区别?
统计学家
2019/10/22
5.2K0
关于XGBoost、GBDT、Lightgbm的17个问题
GBDT原理及利用GBDT构造新的特征-Python实现
GBDT分类:每一颗树拟合当前整个模型的损失函数的负梯度,构建新的树加到当前模型中形成新模型,下一棵树拟合新模型的损失函数的负梯度。下面是其在Python的sklearn包下简单调用方法。
机器学习AI算法工程
2019/10/29
1.8K0
GBDT原理及利用GBDT构造新的特征-Python实现
最全推荐系统传统算法合集
我花了半个多月将推荐系统传统算法分别进行了总结归纳,应该时目前全网最全的版本了。希望对大家了解推荐系统传统算法有所帮助。
张小磊
2022/02/28
1.2K0
最全推荐系统传统算法合集
《统计学习方法》读书笔记
【第1章】 统计学习方法概论 【第2章】 感知机 【第3章】 k 近邻法 【第4章】 朴素贝叶斯法 【第5章】 决策树 【第6章】 逻辑斯谛回归与最大熵模型 【第7章】 支持向量机 【第8章】 提升方法 【第9章】 EM算法及其推广 【第10章】 隐马尔科夫模型 【第11章】 条件随机场 【第12章】 统计学习方法总结
echobingo
2018/09/26
1.6K0
机器学习面试干货精讲
本内容涉及模型核心数学公式,把本人面试中常被问到问题以及模型知识点的总结,起到提纲挈领作用,在准备的过程中抓住每个模型的重点。
Coggle数据科学
2019/09/12
8590
机器学习面试干货精讲
从决策树到GBDT梯度提升决策树和XGBoost
决策树可以转换成if-then规则的集合,也可以看作是定义在特征空间划分类的条件概率分布。决策树学习算法包括三部分:特征选择,数的生成和数的剪枝。最大优点: 可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够进行学习。显然,属于有监督学习。 常用有一下三种算法:
大鹅
2021/06/15
1.2K0
从决策树到GBDT梯度提升决策树和XGBoost
记录几个经典模型
2.1 gbdt 的算法的流程? gbdt通过多轮迭代,每轮迭代生成一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练.(弱分类器一般会选择CART TREE - 分类回归树)
DuncanZhou
2018/09/04
7570
记录几个经典模型
Adaboost, GBDT 与 XGBoost 的区别
最近总结树模型,尝试将主流 Boosting 实现方式做一个分析汇总,文中部分内容借鉴了知乎答案,已于参考链接中标识。
统计学家
2019/08/06
2.2K0
Adaboost, GBDT 与 XGBoost 的区别
从决策树到XGBOOST
XGBoost在机器学习领域可谓风光无限,作为从学术界来的模范生,帮助工业界解决了许多实际问题,真可谓:
西西木木
2020/06/07
1.5K0
机器学习基础知识点全面总结!
有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。Y = f (X),训练数据通常是(n×x,y)的形式,其中n代表训练样本的大小,x和y分别是变量X和Y的样本值。
统计学家
2023/12/12
4580
机器学习基础知识点全面总结!
BAT机器学习面试1000题系列
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/78796328
大黄大黄大黄
2018/09/14
2.7K0
BAT机器学习面试1000题系列
机器学习面试
为什么LR需要归一化或者取对数,为什么LR把特征离散化后效果更好,为什么把特征组合之后还能提升,反正这些基本都是增强了特征的表达能力,或者说更容易线性可分吧 naive bayes和logistic regression的区别http://m.blog.csdn.net/blog/muye5/19409615
AomanHao
2022/01/14
5190
机器学习模型,全面总结!
附注:除了以上两大类模型,还有半监督学习和强化学习等其他类型的机器学习模型。半监督学习是指在有部分标签数据的情况下,结合监督学习和无监督学习的方法进行模型训练。强化学习是指通过让计算机自动与环境交互,学习出如何最大化奖励的策略。
算法进阶
2023/11/08
4190
机器学习模型,全面总结!
最全!两万字带你完整掌握八大决策树!
决策树是一个非常常见并且优秀的机器学习算法,它易于理解、可解释性强,其可作为分类算法,也可用于回归模型。
AI科技评论
2020/07/08
2K0
相关推荐
【机器学习】XGboost
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档