【机器学习】为什么GBDT可以超越深度学习

共 2697字,需浏览 6分钟

 ·

2021-12-28 19:28

今天的讨论比较玄学,至于为什么用曹雪芹的诗当封面,看完文章明白啦。


目录

  • 背景
  • 玄学立论
  • 娓娓道来
  • 后话



背景


之前在知乎上回答了一个类似的问题,他们问为什么很多领域的比赛数据集上的GBDT效果那么好(比神经网络)。


回答这个问题前,先引入一个概念,目标的非线性。


非线性,应该是从原始输入到目标决策之间gap的刻画,用博大精深的中文语言为例:


比如垃圾话,就很直白,无非是问候几个人物,几个器官,几个行为。可以望文生义。


但是阴阳话,这个就非常难了。


感恩两字,你要看他真的感恩,还是在那里只能咸因。威武支持有希望了,你看他是不是在叼飞盘,这就很难。


这些都要看具体的场景,人物和环境,这就叫非线性。


人的解决问题,大概就是把一个复杂目标化简解决的能力,目的是降低问题的非线性,把一个问题去解决的过程。具体到数据挖掘上,应该是把特征表达出来的能力。


具体到问题,非线性比较高的场景有,序列建模,大规模离散ID建模,阴阳话识别,语音的特征表达。这些都是非线性非常高的场景,基本超出了手动解决输入到目标之间gap的能力。


玄学立论



先用一个玄学的图来立论。


简而言之当你的认知超越问题的难度时候,可以通过一些方法把问题去复杂化,一般GBDT的效果会比NN好。

可这话真的太晦涩了。


我们回到之前的知乎上回答看看吧。


娓娓道来


先来几个问题作为引子吧,在回答为什么在实际的kaggle比赛中,GBDT效果非常好?

Q1.kaggle上的数据和赛题有什么特点?

Q2.GBDT和NN有什么特点?

Q3.为什么你很少看见Kaggle上用SVM LR立大功?

Q4.怎么根据数据特点进行模型选型?

Q5.近三年,有哪些非CV和NLP,Speech的比赛上印证了NN和GBDT的江湖地位之争


一句话来回答,本质上还是由数据和模型决定的。


再来说一下为什么kaggle里给你一种GBDT满天飞的感觉。

来到Q1kaggle上的数据和赛题有什么特点?

跟现在研究生入学,大部分用深度学习怼图片文本不一样,以前kaggle赛题,尤其是2019年前,有很大比例是工业界的表格数据。比如各种实际的预测预估任务,CTR,信用评分,销量预测等。他们有如下几个特点。

1.工业界的数据脏。异常点,缺失值,历史遗留问题造成的数据痕迹等等。

2.工业界的数据可解释性很强,每一列有真实的业务含义。


在以上背景下,再来到Q2.GBDT和NN有什么特点?

我们理一下树模型天然的优点

1.天然的鲁棒性,能自动从异常点,缺失值学到信息。不需要归一化。直接上手一把梭哈。

2.树可以半自动化地完成一些特征非线性表达的工作,而且基于贪心切分+采样等抗过拟合手段,能比较好的挖掘数据的非线性。

3.树的可解释性很好,能生产特征重要性,帮助你理解数据,改善特征工程。一个经典的套路是思考topN特征背后的逻辑,并围绕他们进行特征工程。

我们理一下NN模型的优点:

1.全自动化的特征工程和登峰造极的非线性表达能力,在数据表征范式统一,语义含义统一的稠密数据上(典型文本图像)上,NN一个打十个。另外,典型的像ID序列这种,人很难做出花来。也就是Bag of words或者借用embedding表达一下,还有一半是NN的功劳。

2.NN模型容量极大,在数据量的加持上,放大了1的优势。

给你们整个表吧


优势劣势
GBDT1.鲁棒,异常点,缺失值都是可以学习的信息
2.适中的非线性能力,在一定范围内是优势3.可解释性很好,可以帮你优化特征工程
1.非线性表达能力有限,很难在文本图像上有用。
2.数据量带来的边际增益不大,容易触及天花板。
NN1.全自动化的特征工程
2.模型容量大,可以利用数据量的优势
1.异常值敏感,依赖手动处理
2.不可解释,改进迭代的过程有点像蒙特卡洛,措施和结果的路径太远。3.过强的非线性中隐含过拟合和噪音。


但是看起来LGB的优点在其他模型也有,那么Q3为什么不是SVM和LR?

1.这两种模型获取非线性的方式太粗暴了,有种大炮打蚊子的感觉。依靠kernel强行把VC维提高,带来的噪声特别多,有用信息很少,并且kernal是有先验的,很容易被人设的参数带跑偏。这在实际业务数据中是非常致命的。

2.理论上LR+完美的特征工程可以很强,但是太难了,又不是人人都是特征工程大师。早期凤巢亿级特征跑LR效果特别好逐渐成为传说。


说了那么多,那么我们到Q4.怎么根据数据特点进行模型选型?

前面讲了很多了,大概可以从这4方面来的。A.数据量大小 B.数据到预测目标的非线性C.单列数据可解释性D.特征工程天花板高低

XGB/LGB/CTB在最后两个上很有优势。NN在前两个方面很有优势。


Q5.近三年,有哪些非CV和NLP,Speech的比赛上印证了NN和GBDT的江湖地位之争

NN胜出的比赛

第一个

Google Brain - Ventilator Pressure Prediction

这个比赛是医学数据,表结构。干的事情是根据呼吸机的呼吸阀百分比来预测压力。

Transfoermer+特征工程在排行榜上单模型可以杀到金牌。

示例代码:
TensorFlow Transformer - [0.112]


第二个

Riiid Answer Correctness Prediction

这个题目是根据学生历史学习情况,预测做题表现。

Transfoermer+特征工程胜出。

示例代码:

Riiid LGBM bagging2 + SAKT =0.781


GBDT完胜的比赛。

这部分就比较多了,不详细介绍了。

IEEE-CIS Fraud Detection | Kaggle

Elo Merchant Category Recommendation

Home Credit Default Risk


后话



好风凭借力,送我上青云。


力,就是人的主观能动性。

风,是模型本身的潜力。


风好不好,要看具体的问题。主观能动性的力量很强,但也是有天花板的。


在合适的问题上,选择合适的模型,发挥你的主观能动性。


这大概也是大部分问题的解决方式吧。

往期精彩回顾




站qq群955171419,加入微信群请扫码:
浏览 58
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报