结构化数据上的机器学习大杀器XGBoost
XGBoost是一个机器学习算法工具,它的原理本身就并不难理解,而且你并不需要彻底搞懂背后的原理就能把它用得呼呼生风。
它的威力有多强?
自从2014年9月份在 Kaggle 的希格斯玻色子机器学习大赛中夺魁以来,XGBoost 与深度学习两个算法垄断了 Kaggle 大赛的大部分冠军。
现在 Kaggle 大赛的情况基本是这样的,凡是非结构化数据相关,比如语音、图像,基本都是深度学习获胜,凡是结构化数据上的竞赛,基本都是 XGBoost 获胜。要知道大部分的业务数据,都是以良好格式存储在关系数据库中的结构化数据,这也就是说,跟行业应用、业务优化这些真金白银息息相关的场景里,XGBoost是目前最好用的大杀器之一。
如果时间倒退两年,在2015年,只要你用 XGBoost 算法参赛,不用做特别优化,在很多结构化数据科学竞赛中就排到前十。尤其是 2015 年下半年,XGBoost 横扫 Kaggle 大赛,冠军拿到手软。
看看这些冠军们怎么评价 XGBoost。
2015年7月 Avito 上下文广告点击大赛冠军 Owen Zhang 说:“要是你犹豫不决,不知如何是好,就放 XGBoost 出来咬。”
2015年8月卡特彼勒钢管价格预测大赛冠军四人组说:“XGBoost是我们手上最牛的单一模型算法。”
2015年8月物业检查预测大赛冠军Qingchen Wang 说:“我只用 XGBoost”。
2015年9月优惠券销售预测大赛冠军 Halla Yang 说:“在监督学习算法中我只使用 Gradient Boosting,而在 Gradient Boosting 算法的实现中我只使用 XGBoost。”
> 2015年10月 True Native 大赛冠军 Mad Professor 说:“我已经拿了好几个Kaggle竞赛冠军了,你们可以相信我的话,XGBoost真的是个牛逼的全能算法,你值得拥有。”
但比较奇怪的是,然而只要离开这个小小的圈子,在广大的数据科学的蛮荒之地,绝大多数人都只知有深度学习,而不知有 XGBoost。我想大概可以归结为两方面原因。
第一是公众的注意力集中在人工智能下围棋、机器人、识别人脸、自动驾驶这些性感的应用场景里,对于专业领域内的应用,即便大脑知道它们很重要、很有价值,但小脑提不起兴趣。
但这种态度不科学啊!要知道深度学习虽然具有革命性,但是你去看看 Kaggle 上来自真实需求的那些竞赛课题,会发现大多数还是结构化行业数据的分析。预测客户的回头率啊,预测产品寿命,预测病人是否爽约,分析干系人是否有作案嫌疑,计算产品在各城市最佳的铺货分布,等等。这些项目背后是各行各业对 AI 的迫切而真实的需求,是几千上万亿美元的潜在市场。而这正是 XGBoost 这一类算法可以驰骋的舞台,所以我们当然应该关注。
第二是网上现有的 XGBoost 文章,差不多都是给正在学习机器学习的人准备的“课外读物”,它假设你已经花很长时间复习了数学基础,正在学习20个机器学习算法,而 Gradient Boosting 只是其中之一,XGBoost 只是工具之一。如果你不是这种情况,那就很难看懂这些文章。
但其实使用 XGBoost 也不需要掌握那么多其他算法啊,也不需要自底向上一层一层的积累啊。跟学习深度学习类似,如果你的目标就是掌握这一两个大杀器,那你完全可以单刀直入,在比较短的时间里形成单点突破。这是今天学习和使用 AI 技术的一个可行的途径。甚至对于有经验的开发者来说,这是一个更优的选择。
课程地址:http://edu.ai100.com.cn/course/57