当前位置:首页 > 数学课件 > 正文内容

机器学习算法工程师面试需要做那些准备?

zhao_admin9个月前 (08-29)数学课件37

备战机器学习工程师面试,你需要掌握这些经典面试题金九银十,又到了就业旺季,互联网公司的秋招如火如荼的进行着。机器学习类岗位依然非常热门且高薪,但想在竞争激烈的面试中杀出重围,必须有充足的准备。

如何能够短时间内抓住机器学习知识的技术重点,集中突击? 如何不再惧怕“算法”? 如何才能在面试中对答如流,打造属于自己的“offer收割机”?刷题是必不可少的步骤。应聘前,你需要了解的内容有:机器学习的基本概念和分类(训练/测试数据、监督/非监督学习等)、经典的机器学习模型(支持向量机、朴素贝叶斯、随机森林等)、深度学习模型(卷积神经网络、循环神经网络、生成式对抗网络等);特征工程(特征组合、特征选择等),模型评估(评价指标、超参数的选择等),优化算法(损失函数、梯度下降等),数学基础(概率论、线性代数等),工程能力(数据结构与算法、机器学习平台等),业务与应用(计算机视觉、自然语言处理等)。

跟题主分享几个超级高频的机器学习面试题,希望能祝你一臂之力!

Q1:如何对贝叶斯网络进行采样 (8.6)对一个没有观测变量的贝叶斯网络进行采样,最简单的方法是祖先采样(Ancestral Sampling),它的核心思想是根据有向图的顺序,先对祖先节点进行采样,只有当某个节点的所有父节点都已完成采样,才对该节点进行采样。以场景描述中的图8.9 为例,先对Cloudy 变量进行采样,然后再对Sprinkler 和Rain 变量进行采样,最后对WetGrass 变量采样,如图8.10 所示(图中绿色表示变量取值为True,红色表示取值为False)。根据贝叶斯网络的全概率公式

可以看出祖先采样得到的样本服从贝叶斯网络的联合概率分布。

如果只需要对贝叶斯网络中一部分随机变量的边缘分布进行采样, 可以用祖先采样先对全部随机变量进行采样,然后直接忽视那些不需要的变量的采样值即可。由图可见,如果需要对边缘分布p(Rain) 进行采样,先用祖先采样得到全部变量的一个样本,如(Cloudy=T, Sprinkler=F,Rain=T,WetGrass=T),然后忽略掉无关变量,直接把这个样本看成是Cloudy=T 即可。

接下来考虑含有观测变量的贝叶斯网络的采样,如图8.11 所示。网络中有观测变量(Sprikler=T,WetGrass=T)(观测变量用斜线阴影表示),又该如何采样呢?最直接的方法是逻辑采样,还是利用祖先采样得到所有变量的取值。如果这个样本在观测变量上的采样值与实际观测值相同,则接受,否则拒绝,重新采样。这种方法的缺点是采样效率可能会非常低,随着观测变量个数的增加、每个变量状态数目的上升,逻辑采样法的采样效率急剧下降,实际中基本不可用。

因此,在实际应用中,可以参考重要性采样的思想,不再对观测变量进行采样,只对非观测变量采样,但是最终得到的样本需要赋一个重要性权值:

其中E 是观测变量集合。这种采样方法称作似然加权采样(Likelihood Weighted Sampling),产生的样本权值可以用于后续的积分操作。在有观测变量(Sprikler=T,WetGrass=T)时,可以先对Cloudy 进行采样,然后对Rain 进行采样,不再对Sprinkler 和WetGrass 采样(直接赋观测值),如图8.12 所示。这样得到的样本的重要性权值为

w ∝ p(Sprinkler=T|Cloudy=T)·p(WetGrass=T|Sprinkler=T, Rain=T)=0.1×0.99=0.099.

除此之外,还可以用MCMC采样法来进行采样。具体来说,如果采用Metropolis-Hastings 采样法的话,如图8.13所示,只需要在随机向量(Cloudy, 、Rain)上选择一个概率转移矩阵,然后按照概率转移矩阵不断进行状态转换,每次转移有一定概率的接受或拒绝,最终得到的样本序列会收敛到目标分布。最简单的概率转移矩阵可以是:每次独立地随机选择(Cloudy, Rain)的四种状态之一。如果采用吉布斯采样法的话,根据条件概率p(Cloudy|Rain, Sprinkler, WetGrass) 和p(Rain|Cloudy, Sprinkler, WetGrass), 每次只对(Cloudy, Rain)中的一个变量进行采样,交替进行即可。

Q2:ResNet 的提出背景和核心理论 (9.6)ResNet的提出背景是解决或缓解深层的神经网络训练中的梯度消失问题。假设有一个L 层的深度神经网络,如果我们在上面加入一层, 直观来讲得到的L+1 层深度神经网络的效果应该至少不会比L 层的差。因为我们简单地设最后一层为前一层的拷贝(用一个恒等映射即可实现),并且其他层维持原来的参数即可。然而在进行反向传播时,我们很难找到这种形式的解。实际上,通过实验发现,层数更深的神经网络反而会具有更大的训练误差。在CIFAR-10 数据集上的一个结果如图9.22 所示,56 层的网络反而比20 层的网络训练误差更大,这很大程度上归结于深度神经网络的梯度消失问题。

为了解释梯度消失问题是如何产生的。回顾第3 节推导出的误差传播公式

将式(9.31)再展开一层,可以得到

可以看到误差传播可以写成参数 、 以及导数 、 连乘的形式。当误差由第L 层(记为 )传播到除输入以外的第一个隐含层(记为 )的时候,会涉及非常多的参数和导数的连乘,这时误差很容易产生消失或者膨胀,影响对该层参数的正确学习。因此深度神经网络的拟合和泛化能力较差,有时甚至不如浅层的神经网络模型精度更高。

ResNet 通过调整网络结构来解决上述问题。首先考虑两层神经网络的简单叠加(见图9.23(a)),这时输入x 经过两个网络层的变换得到H(x),激活函数采用ReLU。反向传播时,梯度将涉及两层参数的交叉相乘,可能会在离输入近的网络层中产生梯度消失的现象。ResNet 把网络结构调整为,既然离输入近的神经网络层较难训练,那么我们可以将它短接到更靠近输出的层,如图9.23(b)所示。输入x经过两个神经网络的变换得到F(x),同时也短接到两层之后,最后这个包含两层的神经网络模块输出H(x)=F(x)+x。这样一来,F(x) 被设计为只需要拟合输入x 与目标输出 的残差 ,残差网络的名称也因此而来。如果某一层的输出已经较好的拟合了期望结果,那么多加入一层不会使得模型变得更差,因为该层的输出将直接被短接到两层之后, 相当于直接学习了一个恒等映射,而跳过的两层只需要拟合上层输出和目标之间的残差即可。

ResNet 可以有效改善深层的神经网络学习问题,使得训练更深的网络成为可能,如图9.24 所示。图9.24(a)展示的是传统神经网络的结果,可以看到随着模型结构的加深训练误差反而上升;而图9.24(b) 是ResNet 的实验结果,随着模型结构的加深,训练误差逐渐降低,并且优于相同层数的传统的神经网络。

Q3:WGAN 解决了原始 GAN 中的什么问题 (13.2)直觉告诉我们:不要让生成器在高维空间傻傻地布网,让它直接到低维空间“抓”真实数据。道理虽然是这样,但是在高维空间中藏着无数的低维子空间,如何找到目标子空间呢?站在大厦顶层,环眺四周,你可以迅速定位远处的山峦和高塔,却很难知晓一个个楼宇间办公室里的事情。你需要线索,而不是简单撒网。处在高维空间,对抗隐秘的低维空间,不能再用粗暴简陋的方法,需要有特殊武器,这就是Wasserstein 距离(见图13.7),也称推土机距离(Earth Mover distance)

怎么理解这个公式?想象你有一个很大的院子,院子里有几处坑坑洼洼需要填平,四个墙角都有一堆沙子,沙子总量正好填平所有坑。搬运沙子很费力,你想知道有没有一种方案,使得花的力气最少。直觉上, 每个坑都选择最近的沙堆,搬运的距离最短。但是存在一些问题,如果最近的沙堆用完了,或者填完坑后近处还剩好多沙子,或者坑到几个沙堆的距离一样,我们该怎么办?所以需要设计一个系统的方案,通盘考虑这些问题。最佳方案是上面目标函数的最优解。可以看到,当沙子分布和坑分布给定时,我们只关心搬运沙子的整体损耗,而不关心每粒沙子的具体摆放,在损耗不变的情况下,沙子摆放可能有很多选择。对应式(13.16),当你选择一对(x,y) 时,表示把x 处的一些沙子搬到y 处的坑,可能搬部分沙子,也可能搬全部沙子,可能只把坑填一部分,也可能都填满了。x 处沙子总量为 ,y 处坑的大小为 ,从x 到y的沙子量为γ(x,y),整体上满足等式

为什么Wasserstein 距离能克服JS 距离解决不了的问题?理论上的解释很复杂,需要证明当生成器分布随参数θ 变化而连续变化时,生成器分布与真实分布的Wasserstein 距离也随θ 变化而连续变化,并且几乎处处可导,而JS 距离不保证随θ 变化而连续变化。

通俗的解释,接着“布网”的比喻,现在生成器不再“布网”,改成“定位追踪”了,不管真实分布藏在哪个低维子空间里,生成器都能感知它在哪,因为生成器只要将自身分布稍做变化,就会改变它到真实分布的推土机距离;而JS 距离是不敏感的,无论生成器怎么变化,JS 距离都是一个常数。因此,使用推土机距离,能有效锁定低维子空间中的真实数据分布。

其他常见经典面试题:Q:如何缓解图像分类任务中训练数据不足带来的问题?(特征工程)

Q:超参数有哪些调优方法?(模型评估)

Q:训练误差为0的SVM分类器一定存在吗?(经典算法)

Q:自组织映射神经网络是如何工作的?(非监督学习)

Q:L1正则化使得模型参数具有稀疏性的原理是什么?(优化算法)

Q:XGBoost与GBDT的联系和区别有哪些?(集成学习)

Q:在GAN的生成器和判别器中应该怎样设计深层卷积结构?(生成式对抗网络)

……

以上面试题都来自知名互联网公司Hulu机器学习算法研究岗位的真实面试场景,而像这样的经典题目和解答,有超过100道收录在《百面机器学习》这本机器学习面试宝典中。

《百面机器学习》是一本怎样的书?《百面机器学习》出版自2018年,书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。

集结15位一线算法工程师,来自全球顶尖视频流媒体公司hulu

在面试过数百名候选人后,公开124道基于真实场景的原创面试题

本书按照面试的逻辑,从日常工作、生活中各种有趣的现象出发,梳理了知识点和工具与业务场景结合能力,不仅囊括了机器学习的基本知识 ,而且还包含了成为出众算法工程师的相关技能。机器学习面试中最常见的考点,你都可以在这本书中找到。

《百面机器学习》这本书无论是入门还是技术进阶都给出相对应的学习脉络图。

学习脉络图作者群像欢迎关注

人民邮电出版社,IT知识干货,等你发掘!

我看了其他回答,刚好最近也在知乎上看见这个话题,有一句话送给你。

把你做过的机器学习项目的细节讲清楚,对经典的以及前沿的机器学习知识有所了解。

机器学习面试要考察三方面的内容,

1、理论基础;

2、工程能力;

3、业务理解。

但资深一点的面试官只要问你一个项目,这三方面的能力也就都考察到了。我记得我的一位面试同学介绍自己实习时候用过XGBoost预测股票涨跌,那面试官会由浅入深依次考察。

GBDT的原理 (理论基础)决策树节点分裂时如何选择特征,写出Gini index和Information Gain的公式并举例说明(理论基础)分类树和回归树的区别是什么?(理论基础)与Random Forest作比较,并以此介绍什么是模型的Bias和Variance(理论基础)XGBoost的参数调优有哪些经验(工程能力)XGBoost的正则化是如何实现的(工程能力)XGBoost的并行化部分是如何实现的(工程能力)为什么预测股票涨跌一般都会出现严重的过拟合现象(业务理解)针对这个问题有同学觉得没什么太多好讲的,我在评论里给了我的理解,我不是做这块的,可能比较浅显,大家理解一下面试官的意图就好。如果选用一种其他的模型替代XGBoost,你会选用什么?(业务理解和知识面)除了

上面的问题,可能检查一下面试者对NN,RNN,个别聚类算法,模型评估等知识的理解程度以及对GAN,LSTM,online learning是否有基本理解,这是考察面试者对经典以及前沿的机器学习知识的了解程度。再稍微检查一下面试者对工具的了解程度,写一段简单的spark或者map reduce的程序,如果无误的话,那么可以说这位面试者的机器学习部分是完全合格的。

当然,如果你介绍的项目是用CNN实现的,这条考察线路当然是不一样的,大概会是

LR推导->梯度消失->激活函数->tensorflow调参经验这条路,大家体会意思就好。除此之外,还有其他工程方向的面试官会着重考察coding和一些算法题目,那是另外一个话题了。

总之:讲清楚自己所做的,严肃对待在简历上所写的。

文章来自知乎作者问题:如何准备机器学习工程师的面试?。

扫描二维码推送至手机访问。

版权声明:本文由PPT写作技巧发布,如需转载请注明出处。

本文链接:http://www.ppt3000.com/post/75717.html

分享给朋友:

相关文章

新北师大版五年级数学上册第二单元轴对称和平移教案

新北师大版五年级数学上册第二单元轴对称和平移教案

第二单元轴对称和平移 教学目标2、轴对称图形。 3、能积极地参与数学学习活动,增加学习数学的求知欲。4、懂得用图形来描述现实世界中的某些现象,感受数学与日常生活原密切联系。单元重点:能正确判断轴对称图形,并能在方格纸上画出轴对称图形的另一半...

一次函数的性质

一次函数的性质

一次函数y=kx+b的性质 当k>0时,y随x的增大而增大, 这时函数的图象从左到右上升; 当k...

事业单位一般的备考周期不足一个月,如何备考才能事半功倍?

事业单位一般的备考周期不足一个月,如何备考才能事半功倍?

大家好,我是去年上岸的事业单位,当时全职备考28天,最后以公基81分的成绩考到了我们单位的岗位第一名。 下面我就结合着自己的经历,把自己在复习过程中总结的经验分享给大家,你们看完之后一定能学会高效率复习,一个月的复习时间也能考个高分,顺利的...

三年级上册苏教版练习四课件(苏教版三上第四单元测试题)

三年级上册苏教版练习四课件(苏教版三上第四单元测试题)

三年级上册数学苏教版公式?1厘米=10毫米 1分米=10厘米 1千米(公里)=1000米 1吨=1000千克 长方形的周长=(长+宽)*2 正方形的周长=边长*4 1分=60秒 (三年级上学期的公式就这些,a+b=b+a..这些事运算定律,...

六年级下数学课本答案(人教版)数学书人教版p167.8.9.10.p17.13.14要过程!!!人教版人教版数学书

六年级下数学课本答案(人教版)数学书人教版p167.8.9.10.p17.13.14要过程!!!人教版人教版数学书

  绝对正版,请勿抄袭,本人是芳。第七题:3。14*1。2*2=7。536(平方米)第八题:3。14*1。5*2。5=11。775(平方米)第九题:底面积:3。14*15²=7。065(平方米)侧面积:3。  14*3*2=18。84(平方...

如何快速构思数学说课

如何快速构思数学说课

所谓说课,就是教师以教育教学理论和教材为依据,向同行、专家或领导有准备地就某一节课来分析教祠·的地位作用和学生现有的认知基础,阐述教学目标,选择恰当的教学方法和学习指导方法,讲解教学方案的设计思路的一种教学研究和交流的形式。,占既可以是课前...