掌握这些问题,成为 Facebook 机器学习工程师

【新智元导读】彭博社最近推出了一些列大公司面试指南,其中包括Facebook、Uber和高盛等大公司。那么,如果想进入Facebook做一名机器学习工程师,需要具备哪些素质?要多牛才能与Yann LeCun做同事呢?

职位:软件工程师,机器学习

招聘负责人:James Everingham,Instagram工程主管

薪资:$130,000-$145,000

职位描述:

构建更智能的系统;检测数据,增强用户体验,编写和实现代码,评估结果。该职位不仅是写代码,而且要做研究。例如,尝试提供更好的个性化搜索结果。

资历要求:

最好有博士学位。硕士或学士学位但有相应的经验亦可。

面试过程

第一轮:

15至30分钟面谈,通常由招聘专员通过电话面试。

第二轮:

45分钟技术评估,可以现场或远程进行。考查内容包括系统、算法和数据结构、写代码的逻辑、清洁度和速度,以及与技术面试官的互动。面试官的话:“这也是为了面试者的成功,因为这样能让我们了解他们的水平,引导他们进入状态,并给他们公平的面试机会。”

第三轮:

通常是针对面试者背景和兴趣的五个左右的提问。面试官主要是工程师,也会有一些技术经理或领导。问题包括编码、设计、团队合作等。面试官的话:“我喜欢问面试者他最棒的一天是哪天,那天具体发生了什么。因为他们已经在技术考查中胜出了,或者他们已经做出一些成就让我们很想录取他了。…这能让我们了解他们的激情是什么,让我们提供能够再次唤起他们的激情的工作类型。我喜欢提的另一个问题是,他们进入这个领域的理由是什么。”在这一轮中,面试者也能对公司有更多的了解。

评分方式:

面试官会提交反馈,然后进行小组讨论。被录取者需要参加Facebook的新人训练营,并可以选择他们想进入的团队。面试者也可以在招聘过程中表达对某个团队或产品的兴趣。面试官的话:“我们的招聘过程实际上提供了不只一个职位。面试是为了发现他们是否适合,我们的价值观是否一致,以及他们是否通过技术考核。因为我们有许多开放的职位,面试也是为了找出他们最适合的角色。”

建议:

与面试官互动。面试官的话:“我们非常注重团队合作。 所以,那些面试表现很好的人会有这样的态度,不是认为我们在测试他们,而是他们是团队的一分子,就像他们已经得到了工作一样与我们进行互动。”

了解产品。面试官的话:“面试者对我们的产品有了解,能提出如何改善产品的想法——这很好。”

确保简历是最新的。面试官的话:“我们不会只浏览一下简历就得出‘噢,就这个人了’。我们会仔细阅读简历,研究它,如果你适合,我们会想为你定制一个职位。因此,简历重要的是要保持最新,要简洁,信息准确,将重点放在你的强项上。很多人喜欢把他们做过的所有事情都放到简历上,以彰显他们做了很多事。但是,更好的方法是专注于你的优势,好的简历专注于深度而不是广度。”

了解Facebook的使命。面试官的话:“我们公司是使命驱动型的,我们寻找的是想为公司贡献的人。”

多做练习。面试官的话:“有时人们在白板上写代码会有些紧张,尤其当他们面对的是不认识的人时…练习将思考和说话连接起来,写代码的同时解释你在做什么,为什么那样写。你可以讲错,然后认识到自己的错误并改正。我们宁愿看到你讲错了,而不愿看到你沉默不语。”

承认自己的弱点。面试官的话:“承认你有不懂的东西。这是加分项。同时也要了解自己的优势。”

不要让自己陷入困境。面试官的话:“向面试官提问以寻求提示是OK的,要让对话进行下去。”

附:机器学习面试常见十问

Q:朴素贝叶斯(naive Bayes)为何如此“naive”?

A:朴素贝叶斯如此“naive”,是因为它假设一个数据集中的所有特征具有同等的重要性和独立性。在现实世界中这种假设很少成真。

Q:假设你正在处理一个时间序列数据集,你的上司要求你建一个高精度模型。你先是用了决策树算法,因为你知道它在各种数据类型上都运行得相当好。后来,你尝试了一个时间序列回归模型,并获得比决策树模型更高的准确度。这种情况可能发生吗?为什么?

A:时间序列数据是线性的,而我们知道决策树算法在检测非线性交互上效果最好。决策树模型未能提供鲁棒预测是因为它在映射线性关系上不像回归模型那样好。因此,这是可能的,由于数据集满足其线性假设,线性回归模型能够提供鲁棒预测。

Q:你发现你的模型偏置低、方差高,应该使用那些算法来解决?为什么?

A:当模型的预测值接近实际值时,会出现低偏置。换句话说,低偏置模型足够灵活,能模仿训练数据的分布。但灵活的模型缺乏泛化能力。这意味着,当用未知数据测试这个模型时,得出的结果会不如人意。在这种情况下,我们可以使用bagging算法(如随机森林)来降低方差。bagging算法能将数据集切分为用重复随机抽样的子数据集。然后,使用单个学习算法和这些子数据集生成一组新的模型,使用投票(分类)或平均(回归)来组合模型预测。

Q:KNN和kmeans聚类有什么区别?

A:不要被它们名字中的“k”误导。这两种算法间的根本区别是,kmeans本质上是无监督的,而KNN本质上是有监督的。Kmeans是一种聚类算法,而KNN是分类(或回归)算法。

Q:在处理数据集时,如何选择重要变量?

A:以下是可选择的方法:

  1. 在选择重要变量前删除相关变量
  2. 使用线性回归并根据p值选择变量
  3. 使用前向选择、后向选择、逐步筛选
  4. 使用随机森林、Xgboost并绘制变量重要性图
  5. 使用套索回归
  6. 测量可得的一组特征的信息增益,并选择n值高的特征。

Q:都是基于树的算法,随机森林和梯度boosting算法(GBM)有什么区别?

A:根本的区别是,随机森林使用bagging技术做预测,GBM使用boosting技术进行预测。Bagging技术中,使用随机抽样将数据集分成n个样本,然后使用单个学习算法对所有样本建模,最后使用投票或回归来对得到的预测结果进行组合。Bagging是平行进行的。

Boosting(提升)则是在第一轮预测后,算法将错误分类的预测权重提高,使它们在下一轮预测中得到校正。这个过程会重复进行,知道达到标准精度才停止。

随机森林主要通过降低方差来提高模型精度,随机森林的树相互间没有相关性,能尽可能的降低方差。另一方面,GBM提高精度的同时可能同时降低模型的偏置和方差。

Q:假设你在处理分类问题,为了验证,你从训练数据集中随机抽样出子集用于训练和验证。因为验证得到的准确度很高,你确信你的模型在未见数据中也能运作得很好。但是,模型的测试精度非常低。是什么地方出了错?

A:在分类问题中,应该使用分层抽样而不是随机抽样。随机抽样没有考虑目标类别的比例。而且,分层抽样也有助于保持目标变量在样本中的分布和数据集中的分布一致。

Q:假设我是个5岁小孩,请向我解释机器学习。

A:机器学习就像婴儿学走路。当他们跌倒时,他们会(无意识地)认识到,他们的腿应该直着,而不是弯曲着。下一次他们再跌倒,会感到痛苦,会哭,但这次他们又学会了“不要再像这样子站”。为了成功学会走路,他们甚至扶着门或墙壁或其它东西,以帮助他们不跌倒。这就是机器如何从环境中发展出直觉的工作原理。

Q:机器学习算法有那么多,给定一个数据集,你怎样决定使用哪个算法?

A:选择哪个算法完全取决于数据的类型。如果给定的是一个线性数据集,那么线性回归是最好的算法;如果数据集是图像或音频,那么就选择神经网络;如果数据集包括非线性相互作用,则应该选择boosting或bagging算法;如果任务需求是建一个可以部署的模型,那么应该使用回归或决策树模型(易于解释),而不是像SVM、GBM这些黑盒算法。总之,没有一个主算法能适用所有情况。

Q:机器学习中什么时候需要正则化?

A:当模型显示出过拟合/欠拟合时,就需要正则化。正则化引入了成本项,用于为目标函数带来更多特征。正则化试图将许多变量的系数变为零,从而减少成本项。这有助于降低模型复杂度,使模型的泛化能力更好。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2016-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据和云计算技术

深度学习的历史和趋势

引言: 本文是黄文辉同学的第4篇文章,前面三篇分别是: SparkStreaming窗口操作 sqoop数据导入总结 SparkStreaming入门 最近AI...

42140
来自专栏机器之心

学界 | 斯坦福提出高速视频目标检测系统NoScope:速度超现有CNN上千倍

选自Stanford University 作者:Daniel Kang 等 机器之心编译 参与:熊猫 卷积神经网络在目标检测任务上已经取得了优良的表现,但它们...

39070
来自专栏机器之心

观点 | 我们该如何学习机器学习中的数学

数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是那些在校期间没有研究过数学或统计学的人。

7310
来自专栏大数据文摘

学界 | 谁来拯救集体失灵的NLP模型?

机器能够像人类一样阅读文档并回答问题,确定某一给定的语句是否在语义上蕴含另一给定的语句,还能处理翻译任务。更重要的是,机器的表现甚至优于人类。

13820
来自专栏新智元

【重磅】深度学习难以加冕算法之王 3 大根本原因

【新智元导读】New Frontiers in Computing 2016 日前在斯坦福举行, 探讨视觉、NPL、人机界面等认知和计算前沿问题。本文是参会笔记...

40080
来自专栏AI研习社

学不学吴恩达 deeplearning.ai 课程,看完这篇你就知道了

AI 研习社按:本文的作者是 Thomas Treml,是一名具有社会学背景的数据科学自由职业者。他在 Medium 上分享了自己学习 deeplearning...

11310
来自专栏机器之心

地平线机器人杨铭:深度神经网络在图像识别应用中的演化

机器之心整理 编辑:杜雪 4 月 15 日,杨铭博士在机器之心线下活动 Interface 上做了一次题为「深度神经网络在图像识别应用中的演化」的演讲。这篇文章...

47560
来自专栏AI科技大本营的专栏

CCAI 2017 | 香港科技大学计算机系主任杨强:论深度学习的迁移模型

作者 | 贾维娣 7月23日,由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 201...

376110
来自专栏新智元

【深度】“信息瓶颈”理论揭示深度学习本质,Hinton说他要看1万遍

【新智元导读】在深度学习应用突飞猛进的现在,我们比任何时候都急需理论上的突破。日前,希伯来大学计算机科学家和神经学家Naftali Tishby等人提出了一种叫...

29640
来自专栏PPV课数据科学社区

译文:安德鲁.M.莫尔的教程(二) PDF下载

安德鲁•W•穆尔简介 卡耐基梅隆大学的计算机科学学院院长,机器学习、人工智能、机器人技术,大数据统计计算行业背景,热爱算法和统计,最喜欢机器人技术。 曾在机...

36180

扫码关注云+社区

领取腾讯云代金券