LightGBM最强解析,从算法原理到代码实现~
2⽉18⽇
以下⽂章来源于Microstrong ,作者Microstrong
⼣⼩瑶的卖萌屋
Microstrong
Microstrong(⼩强)同学喜欢研究数据结构与算法、机器学习、深度学习等相关领域,公众号⼀直以来坚持原创,分享⾃⼰…
⼀只⼩狐狸带你解锁NLP/ML/DL秘籍
正⽂来源:Microstrong
1 LightGBM简介
GBDT (Gradient Boosting Decision Tree) 是机器学习中⼀个⻓盛不衰的模型,其主要思想是利⽤弱分类器(决策树)迭代
训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT不仅在⼯业界应⽤⼴泛,通常被⽤于多分类、点
击率预测、搜索排序等任务;在各种数据挖掘竞赛中也是致命武器,据统计Kaggle上的⽐赛有⼀半以上的冠军⽅案都是基于
GBDT。⽽LightGBM(Light Gradient Boosting Machine)是⼀个实现GBDT算法的框架,⽀持⾼效率的并⾏训练,并且具
有更快的训练速度、更低的内存消耗、更好的准确率、⽀持分布式可以快速处理海量数据等优点。
1.1 LightGBM提出的动机
常⽤的机器学习算法,例如神经⽹络等算法,都可以以mini-batch的⽅式训练,训练数据的⼤⼩不会受到内存限制。⽽
GBDT在每⼀次迭代的时候,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训练数据的⼤⼩;如果
不装进内存,反复地读写训练数据⼜会消耗⾮常⼤的时间。尤其⾯对⼯业级海量的数据,普通的GBDT算法是不能满⾜其需
求的。
LightGBM提出的主要原因就是为了解决GBDT在海量数据遇到的问题,让GBDT可以更好更快地⽤于⼯业实践。