一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2140|回复: 7
收起左侧

[找工就业] 机器学习面试的那些事儿

[复制链接] |试试Instant~ |关注本帖
qingbinlee 发表于 2016-9-10 01:14:53 | 显示全部楼层 |阅读模式

2016(1-3月)-[]CS硕士+1-3年 - Other| 分析|数据科学类全职@在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
一直想写写数据科学家面试中机器学习有关的问题,无奈杂事缠身又懒癌发作导致迟迟没有动笔。最近找工季来临,不少同学找我咨询数据科学家面试的问题,借此机会把自己的一点点想法和经验教训记录下来。

作为数据科学家的核心技能之一,机器学习在数据科学家日常工作中的重要性不言而喻。正因如此,机器学习是数据科学家面试中极为重要的一环。但是机器学习涵盖范围广,同时涉及诸多复杂的数学知识,精通所有主流算法及其细节对于绝大多数人而言都是很难实现的。同时,机器学习的面试又是一个理论与实践紧密结合的方式,对于初学者来说,无疑大大增加了面试准备的难度。但是,面试并不是考试,对于知识点的侧重与考试也是有所不同,只要准备方法得当,抓住主要矛盾,掌握面试的规律,就能够游刃有余的应对大部分机器学习方面的面试。

接下来我将以垃圾邮件分类器为例,谈一下数据科学家面试中是如何对机器学习进行考察。假设我们做过一个垃圾邮件分类器的项目。为了建立这个分类器,我们首先对数据进行清理及预处理,如缺失数据的处理、数据的归一化等。在获得初始特征向量后,用PCA进行了特征选择。利用特征选择得到的特征向量及对应数据,训练一个随机森林的分类器作为我们的垃圾邮件分类器。针对的这样一个项目,有这样几个点可以进行挖掘和准备。

1. 项目简介
如何向面试官介绍你做过的项目,这是一个非常基础、非常常见但是又充满技巧的问题。首先,项目简介不应过于冗长,力争用最短的几句话勾勒出项目的框架。其次,数据科学相关项目通常是业务与技术并存,因此,既要突出项目过程中解决的技术难题及应用的相关技术,又应该兼顾项目带来的业务上的影响。

2. 模型简介
这类问题同样是机器学习面试中最普遍最常见的一类问题,面试的形式一般为介绍一个你最喜欢的模型,或是介绍项目中应用的某种模型。与项目简介相同,模型简介也应力求简洁,用最简短的几句话,讲清楚模型是用了什么样的原理完成了怎样的目标。wikipedia中关于随机森林的定义给我们提供了一个非常好的学习模板,可以用来借鉴:

Random forests is a notion of the general technique of random decision forests that are an ensemble learning method(怎样的方法) for classification, regression and other tasks(解决了什么问题), that operate by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes (classification) or mean prediction (regression) of the individual trees(基本原理).

但是,wikipedia中大部分模型的描述更偏书面化的表达,并不适合原封不动地照搬到面试中。我们需要将它转化为更口语化的表达。

3. 模型的优缺点
模型的优缺点与模型简介是紧密相关的,可以将两个问题结合起来一起准备。比如之前我们谈到了什么是随机森林,紧接着可以谈一下随机森林有什么优点,如:a. 对于很多数据集表现良好,精确度比较高;b. 不容易过拟合;c. 可以得到变量的重要性排序;d. 既能处理离散型数据,也能处理连续型数据,且不需要进行归一化处理; e. 能够很好的处理缺失数据;f. 容易并行化等等。同时,将理论与实践结合也是非常好的切入点,如随机森林的诸多优点是如何体现在垃圾邮件分类器项目中,这样的结合能更好的展示出面试人对于模型的理解及掌控。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
4. 模型原理及相关技术细节
模型简介与模型优缺点的问题属于概念性问题,偏向于考察面试人是否了解某种模型,而更进一步的则是对于模型原理及相关技术细节的考察,比如模型假设、目标函数、优化过程、算法收敛性等。所谓知其然,又知其所以然,这是对于面试人的进一步要求。

例如,在模型的优缺点中,我们提到了随机森林可以对变量重要性进行排序。相应地,我们应该能够解释随机森林是如何对变量重要性进行排序,有哪几种常见的排序指标,比如利用OOB误分率的改变或者分裂时信息增益的变化等。当然,问题并非到此终止,基于上面提到的两种常见的变量重要性排序指标,又可以衍生出新的问题。例如,针对OOB误分率这个指标,解释一下什么是OOB,随机森林中OOB是如何计算的,它有什么样的优缺点;针对信息增益,同样会有很多与之有关的问题,如什么是信息增益,如何计算信息增益,什么是熵,什么是GINI指数,他们之间的区别是什么,他们之间的区别会对建树产生怎样的影响等。

再如,在垃圾邮件分类器项目中,有一部分数据存在缺失,而随机森林具有处理缺失数据的优点,建模的过程中我们充分利用了这一特性。那么,与之相关的问题可能会是,随机森林为什么会有这个优点?随机森林是怎样对缺失数据进行训练及预测?
. from: 1point3acres.com/bbs
5. 模型的横向比较
模型原理及相关技术细节的考察属于对机器学习知识深度考察的范畴,与之对应的是机器学习知识广度方面的考察。广度上的考察主要有两大部分,一方面是从理论上对不同算法进行横向比较,如模型假设,优化方法等。另一方面,是结合实际案例对不同算法进行横向比较,这要求面试人不仅仅要熟知不同模型的原理及技术细节,更需要将抽象的理论与具体的实践结合,在实际案例中对算法进行比较。

在垃圾邮件分类器项目中,随机森林被用作最终的分类器模型。面试官可能会就此提出以下问题:为什么选择随机森林而非其他模型,比如朴素贝叶斯或者支持向量机。一般来说,面试者可以从数学理论和工程实现两个方面进行比较回答。从理论上讲,数据表现出来的特征,以及模型所基于的假设都是很好的突破口;从工程实现上讲,实现的难易程度,是否易于scale都是可以考虑的点。
. more info on 1point3acres.com
6. 开放性问题
除了对机器学习知识深度和广度上的考察,开放性问题也是面试中经常会遇到的问题,对于初学者来说这也是最难准备的一类问题。一方面这类问题很难在教科书中见到,没有固定的问题清单;另一方面,这类问题没有标准答案,很多时候是对过往经验的总结。针对这一类问题,更多的是靠平时工作学习过程中多思考、多总结、多积累,临阵抱佛脚很难起到效果。

再次回到垃圾邮件分类器项目,这个项目中有多个开放性问题可以被提问。比如,1. 邮件数据存在缺失,通常情况下,如何对缺失数据进行处理?2. 垃圾邮件分类是一个非平衡数据集分类的问题,针对这一类问题,我们应该如何进行建模。3. 项目中,PCA被用于特征选择,除此而外,还有哪些方法可以用来进行特征选择?
.1point3acres缃
7. 准备材料
在准备机器学习的过程中,我主要用了如下的材料:
A. stanford CS229 Machine Learning.
B. CMU 10-701 Introduction to Machine Learning.
C. The Elements of Statistical Learning. By Trevor Hastie, Robert Tibshirani and Jerome Friedman.
D. Pattern Recognition and Machine Learning. By Christopher Bishop.

A.和B.是Stanford和CMU机器学习课程的课件,里面涵盖了各种常用算法,应该力求掌握这些算法。C.和D.是经典中的经典,难度适中,内容没有太理论,语言也没有太晦涩,是机器学习内功修炼的不二法门。

关于材料再说句题外话,我之前是个资料收集整理爱好者,总是在努力充实自己的资料库,总是担心遗漏任何有用的材料。但是后来才逐渐意识到,资料求精不求多,存在脑子里面的叫知识,存在硬盘里叫文档。
. more info on 1point3acres.com
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

如果有什么问题,欢迎随时联系我,大家也可以在下面几个地方关注我:
知乎: https://www.zhihu.com/people/hello_lqb. Waral 鍗氬鏈夋洿澶氭枃绔,
Linkedin: https://www.linkedin.com/in/qingbinli
Quora: https://www.quora.com/profile/Qingbin-Li





传送门:
Data Scientist 招工小记
安利贴Georgia Tech MS CSE 请吃下这颗安利!!!

版权所有,商业转载请联系作者获得授权,非商业转载请注明出处. 1point 3acres 璁哄潧

评分

6

查看全部评分

本帖被以下淘专辑推荐:

wilsoj 发表于 2016-9-10 07:23:43 | 显示全部楼层
ESL把我看哭了都。。。。
看完第一章果断放弃了。。。。

PRML主要是在讲贝叶斯的框架下讲ML。。
难度要好一点,不过也不是那么容易。。。
只要熬过第二章的多元分析,会好很多。。。
回复 支持 反对

使用道具 举报

sugar 发表于 2016-9-11 18:23:53 | 显示全部楼层
冒昧问一下,ds的待遇是不是不如码农?因为也有做机器学习的码农,Facebook就是这样的。
回复 支持 反对

使用道具 举报

 楼主| qingbinlee 发表于 2016-9-13 04:20:06 | 显示全部楼层
wilsoj 发表于 2016-9-9 15:23
ESL把我看哭了都。。。。
看完第一章果断放弃了。。。。

两本书都需要一些基础,零基础啃起来确实有点难度,不过扛过去就柳暗花明了
回复 支持 反对

使用道具 举报

 楼主| qingbinlee 发表于 2016-9-13 04:23:08 | 显示全部楼层
sugar 发表于 2016-9-11 02:23
冒昧问一下,ds的待遇是不是不如码农?因为也有做机器学习的码农,Facebook就是这样的。

通常大家的回答是ds待遇不如码农,我觉得是it depends。facebook家比较特殊,他家除了core data scientist外的ds更偏向于传统的data analyst 或者bi analyst,据我了解,base salary一样,股票上比码农少。
回复 支持 反对

使用道具 举报

demonhunter 发表于 2016-9-13 04:29:54 | 显示全部楼层
qingbinlee 发表于 2016-9-13 04:23
通常大家的回答是ds待遇不如码农,我觉得是it depends。facebook家比较特殊,他家除了core data scientis ...

他家CDS都是神牛啊,他家要是有介于DS和CDS之间的职位就好了
回复 支持 反对

使用道具 举报

 楼主| qingbinlee 发表于 2016-9-14 02:10:35 | 显示全部楼层
demonhunter 发表于 2016-9-12 12:29
他家CDS都是神牛啊,他家要是有介于DS和CDS之间的职位就好了

是啊,cds的人都是大牛,可能也是因为这样,他家没有介于cds和ds之间的职位吧
回复 支持 反对

使用道具 举报

elvenxzy 发表于 2016-10-14 12:33:39 | 显示全部楼层
从楼主的另一个帖子里追到这里来,加了楼主的LinkedIn, 非常感谢楼主的分享,太及时了。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 19:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表