机器学习是一门理论性和实践性都很强的技术学科。在应聘机器学习相关的工作时,我们经常会遇到各种各样的机器学习问题和知识点。算法的理论基础不仅包括基本概念和数学基础,还包括机器学习和深度学习。今天给大家推荐一个很好的基于算法理论的面试题总结资源,已经开源了~先放这个开源面试题总结的地址:https://github.com/sladesha/Reflection_Summary,作者为SladeSal和tcandzq,2020年校招面试各种算法题及个人理解总结。目前已获900+点赞~资源目录:基本概念数学数据预处理机器学习深度学习自然语言处理推荐风险控制评价指标快来看看吧!1.基本概念基本概念部分包含5个主题,分别是:方差和偏差、生成和判别模型、先验概率和后验概率、频率概率和AutoML。每个主题都包含几个常见的高频面试问题。比如“bias和variance怎么解释,模型训练为什么要引入bias和variance?”题目的解释来自于面试题的简洁总结,不罗嗦,通俗易懂。2.数学数学部分包括12个题目,分别是:数据质量、最大公约数问题、牛顿法、拟牛顿法、概率密度分布、平面曲线的切线和法线、导数、微分中值定理、泰勒公式、欧拉公式、矩阵、概率论。比如看一下关于泰勒公式的解释:泰勒公式用一句话来描述:就是用多项式函数来逼近光滑函数。常见的泰勒公式有:3.数据预处理数据预处理部分包括5个主题,分别是数据平衡、异常值处理、缺失值处理、特征选择和特征提取。数据预处理是机器学习算法的重要组成部分。比如“为什么要对数据进行转换?”、“归一化和标准化的关系?”这部分作者总结的比较详细,后面会有扩展!关于连续特征的常用方法,作者介绍一张图来总结一下:4.机器学习机器学习部分包含9个主题,分别是:聚类、线性回归、逻辑回归、决策树、贝叶斯、随机森林、集成学习、FM/FFM,支持向量机。这部分说的很详细,面试的核心问题也总结的很好。比如SVM面试题就非常丰富全面。众所周知,支持向量机(SupportVectorMachine,SVM)是一种根据监督学习对数据进行二元分类的广义线性分类器,其决策边界是求解学习样本的最大间隔超平面。关于KKT约束,KKT条件是什么,引入拉格朗日优化方法后对损失函数的解释,核函数的作用是什么,核函数的种类和应用场景,作者都有详细的讲解。5.深度学习深度学习部分包括8个主题,分别是:dropout、batch_normalization、bpprocess、embedding、softmax、梯度消失/爆炸、残差网络、Attention。比如“为什么残差网络可以解决梯度消失的问题?”6.自然语言处理自然语言处理部分包含8个专题,分别是:GloVe、WordsVec、CRF、LDA、LSTM、GRU、Bert、文本相似度计算。例如,“word2vec和glove有什么区别?”7.Recommendation推荐部分包含8个topic,分别是:DIN,DeepFM,YoutubeNet,Wide&Deep,MLR,NeuralNetworkfamilybucket,XDeepFM,Recall。8.风险控制风险控制部分包含2个主题,分别是:孤立森林和计分卡。9.评价指标评价指标包括5个主题,即:二分类、多分类、回归指标、聚类指标、排序指标。总的来说,这是一个很好的算法理论基础面试资源。笔者对大厂常见的面试题做了很好的归纳和总结。帮助大家梳理和理解这些知识点,以便更好地应对包括面试在内的机器学习笔试。目前,该项目仍应完工。最后再放上资源的GitHub开源地址:https://github.com/sladesha/Reflection_Summary
