GBDT与Logistic Regression的区别总结

本文从机器学习的模型、策略和算法三个方面详细比较了GBDT与Logistic Regression的区别。在模型方面,Logistic Regression是线性分类器,GBDT是非线性模型;策略上,GBDT采用CART树拟合负梯度,而Logistic Regression利用交叉熵作为损失函数;算法上,GBDT仅用一阶导数信息,而Logistic Regression可采用多种优化算法,包括二阶导数信息。此外,GBDT在特征组合和处理稀疏数据方面具有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然还没有在面试中遇到面试官问这个问题,但是我认为这是一个考察算法工程师基础的很好的一个问题。在这里我从多方位总结一下我的理解,如有错误,欢迎指正。

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 转换为回归问题),用当前轮 CART 树拟合前一轮目标函数与实际值的负梯度,本质上是回归算法。

也正是因为 GBDT 采用的 CART 树模型作为基分类器进行负梯度拟合,其是一种对特征样本空间进行划分的策略,不能使用 SGD 等梯度优化算法,而是 CART 树自身的节点分裂策略:均方差(回归

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值