【面试必备】奉上最通俗易懂的XGBoost、LightGBM、BERT、XLNet原理解析

一只小狐狸带你解锁 炼丹术&NLP 秘籍

在非深度学习的机器学习模型中,基于GBDT算法的XGBoost、LightGBM等有着非常优秀的性能,校招算法岗面试中“出镜率”非常高。这些经典的机器学习算法不仅是数据科学竞赛神器,在工业界中也被广泛地使用。Microstrong最近就负责使用GBDT、XGBoost等集成模型做推荐系统的点击率预估(CTR),如果让我当面试官面试自己,那我会由浅入深依次考察:

  • GBDT的原理(理论基础)

  • 决策树节点分裂时如何选择特征,写出Gini index和Information Gain的公式并举例说明(理论基础)

  • 分类树和回归树的区别是什么?(理论基础)

  • 与Random Forest作比较,并以此介绍什么是模型的Bias和Variance(理论基础)

  • GBDT里面的决策树都是利用回归树解决分类和回归问题,请问GBDT中利用回归树是怎么做到分类的?目标(损失)函数是什么形式?(理论基础)

  • XGBoost的原理(理论基础)

  • XGBoost的参数调优有哪些经验(工程能力)

  • XGBoost的正则化是如何实现的(工程能力)

  • XGBoost的并行化部分是如何实现的(工程能力)

  • 为什么GBDT预测点击率一般都会出现严重的过拟合现象(业务理解)

  • 如果选用一种其他的模型替代XGBoost,你会选用什么?(业务理解和知识面)

我们通过上面的几个问题,考察了面试者理论基础、工程能力以及对业务的理解,检测面试者是否真的对GBDT、XGBoost有比较深入的理解。如果大家对上面的问题还一知半解,贴心的Microstrong同学为大家整理了自己从回归树到GBDT、XGBoost再到LightGBM、CatBoost的原创算法解析文章:

  • Regression Tree 回归树

  • 深入理解提升树(Boosting Tree)算法

  • 梯度提升(Gradient Boosting)算法

  • 深入理解GBDT回归算法

  • 【完善版】深入理解GBDT二分类算法

  • 深入理解GBDT多分类算法

  • 深入理解XGBoost

  • 深入理解LightGBM

  • 深入理解CatBoost

当然,深度学习也是人工智能算法工程师必备的基础技能。入行算法工程师后,怎样提升我们的掘金能力呢?最核心的还是:技术硬,懂产品。

在目前钻研的领域持续加码,保持深耕,不断学习和挖掘自身潜力。我们在科学炼丹的时候,都会用到Dropout或Batch Normalization(BN)等基本的深度神经网络优化方法。但是,深度学习技术并非一成不变,努力提升技术水平要成为一种习惯。最高水准当然是追逐最先进的技术,比如,ELMo、Transformer、BERT和XLNet等明星模型。

如果让我当面试官去判断一个面试者的深度学习水平,那我会由浅入深依次考察:

Dropout部分

  • 讲Dropout的基本原理;(理论基础)

  • Dropout训练过程和预测过程分别如何保证一致性;(工程能力)

  • Dropout本质上的Bagging的思想;(理论基础)

  • Bagging思想和Boosting思想分别怎么解决模型的偏差和方差问题;(理论基础)

  • 偏差和方差在模型的评估表现代表了什么;(理论基础)

BN部分

  • 什么是BN?

  • BN核心公式是什么?

  • BN中均值、方差通过哪些维度计算得到?

  • 训练与推理时BN中的均值、方差分别是什么?

  • Batch Normalization的优点?

  • BN与Layer Normalization、Weight Normalization、Cosine Normalization、Instance Normalization、Group Normalization、Cross-Iteration Batch Normalization、Filter Response Normalization区别?

当然,ELMo、Transformer、BERT和XLNet等较新的模型也会问一下,考察面试者是否有Follow深度学习中最新的研究工作。同样地,贴心的Microstrong同学为大家整理了自己关于上面问题的学习笔记:

  • 深度学习中的Batch Normalization

  • 深度学习中Dropout原理解析

  • 词向量与ELMo模型

  • Self-Attention与Transformer

  • 从Transformer到BERT模型

  • 从BERT到ALBERT

  • XLNet详解

总之,一篇文章总结不完关于机器学习、深度学习、自然语言处理和推荐系统相关的所有面试题,Microstrong号主花了点时间分类整理了一下自己公众号里的精华文章,欢迎大家关注和阅读:

【面试必备】奉上最通俗易懂的XGBoost、LightGBM、BERT、XLNet原理解析_第1张图片

扫码关注Microstrong的公众号

历史精品文章

机器学习

【1】深入理解CatBoost

【2】深入理解LightGBM

【3】深入理解XGBoost

【4】深入理解GBDT多分类算法

【5】【完善版】深入理解GBDT二分类算法

【6】深入理解GBDT回归算法

【7】梯度提升(Gradient Boosting)算法

【8】深入理解提升树(Boosting Tree)算法

【9】Regression Tree 回归树

【10】机器学习中的判别式模型和生成式模型

【11】EM算法详解

【12】贝叶斯分类器

【13】偏差(Bias)与方差(Variance)

【14】主成分分析(PCA)原理详解

【15】机器学习中SVD总结

【16】分类中解决类别不平衡问题

【17】ROC曲线和AUC面积理解

【18】【错误率、精度、查准率、查全率和F1度量】详细介

【19】最优化理论与方法-牛顿迭代法后续

【20】最优化理论与方法-牛顿迭代法

【21】K-means算法优化(二分K-means算法)

【22】聚类算法之K-means算法

【23】机器学习中的L1和L2正则化项

【24】机器学习中【回归算法】详解

深度学习

【1】Doc2vec原理解析及代码实践

【2】Embedding技术在房产推荐中的应用

【3】深入浅出Word2Vec原理解析

【4】智能推荐算法在直播场景中的应用

【5】XLNet详解

【6】从BERT到ALBERT

【7】从Transformer到BERT模型

【8】Self-Attention与Transformer

【9】词向量与ELMo模型

【10】《生成式对抗网络GAN的研究进展与展望》论文笔记

【11】《GAN万字长文综述》

【12】理解LSTM网络

【13】深度学习中的注意力机制

【14】循环神经网络(RNN)

【15】卷积神经网络(CNN)综述

【16】Understanding Short Texts 部分2

【17】Understanding Short Texts 部分1

【18】对Dilated Convolution理解

【19】卷积神经网络中感受野的详细介绍

【20】深度学习中Dropout原理解析

【21】深度学习中的Batch Normalization

【22】神经网络梯度消失和梯度爆炸及解决办法

【23】AI自动生成代码,论文解读之REMAUI

【24】OCR识别技术

【25】《TensorFlow实战》第一章-TensorFlow基础读书笔记

【26】神经网络激活函数的作用是什么?

【27】AI自动生成代码,研究未来可能让程序员失业的科技

成长之路

【1】2019已结束,2020再出发

【2】2019秋招算法岗复盘

【3】带师妹轻松过笔试

【4】我的2018年总结

【5】我的2017总结

Python学习

【1】Anaconda详细安装使用教程

【2】Python基本数据类型之字符串

【3】Python 中的 if __name__ == '__main__'理解

【面试必备】奉上最通俗易懂的XGBoost、LightGBM、BERT、XLNet原理解析_第2张图片

【面试必备】奉上最通俗易懂的XGBoost、LightGBM、BERT、XLNet原理解析_第3张图片

你可能感兴趣的:(【面试必备】奉上最通俗易懂的XGBoost、LightGBM、BERT、XLNet原理解析)