举两个栗子:如何正确建立个人的机器学习项目集
作者头像
  • 赵伟
  • 2019-10-16 07:46:13 3

如何正确建立个人的机器学习项目集

选自Towards Data Science,作者:Edouard Harris,机器之心编译。

面试机器学习相关职位时,简历上的个人项目部分应该如何填写?建立模型?开发机器学习项目?这些项目的原始数据又来自哪里?

在SharpestMinds创始人Edouard Harris引荐的两个成功案例中,项目是从搜集数据开始逐步推进的。这些案例的目的明确,每个步骤都做到了极致。

作为一名物理学博士,我在YC初创公司工作,我们的目标是帮助应届毕业生找到他们的第一份机器学习工作。

要找到第一份机器学习工作,你需要建立自己的机器学习项目集。接下来,我将为你分享一些经验。

你可能会好奇为什么这很重要,因为招聘经理通常会通过你的履历来了解你。如果你缺乏实际工作经验,个人项目就成了最好的替代品。

由于职业原因,我接触过许多个人项目,其中一些做得非常好,而另一些则不尽如人意。我将展示两个成功的案例。

竭尽全力型

接下来要讲述的是一个真实的故事,为了保护隐私,人物名字已更改。

公司X利用人工智能提醒杂货店何时应该订购新的库存。这里有一位名叫罗恩的年轻人,他渴望加入公司X,因此他创建了一个个人项目,专门针对该公司进行准备。

我们通常不建议为一家公司全力以赴地准备。这样做有些冒险。然而,像罗恩这样非常希望加入公司的人则另当别论。

罗恩起初把手机固定在购物车上,然后推着购物车在超市的各个过道里走动,同时用相机记录。他重复了10到12次这样的操作。回家后,罗恩开始建立机器学习模型。他的模型能够识别杂货店货架上的缺货位置,例如玉米片或其他商品的位置。罗恩在GitHub上实时更新他的项目,完全公开透明。每天,他都会改进他的repo,提高准确率,并在README文档中记录项目的变化。当公司X了解到罗恩正在这样做时,他们感到非常感兴趣,甚至有点紧张。他们为什么会紧张呢?因为罗恩在几天内几乎复制了他们专有的技术栈的一部分。

当然,罗恩所做的并不完美。公司X已经投入了比罗恩多得多的资源来解决这个问题。但由于相似度太高,公司X很快要求罗恩将他的repo设为私有。

尽管如此,公司X的技术水平在同行业中名列前茅。即便如此,罗恩的项目在短短4天内就引起了公司X首席执行官的注意。

飞行员项目

以下是另一个真实的故事:

亚历克斯是一名历史专业的大学生,主修俄语,但他对机器学习充满兴趣。更为特别的是,尽管他从未编写过Python代码,他仍然决定学习。

亚历克斯决定通过构建实用项目来学习。他打算建立一个分类器,以检测战斗机飞行员是否失去意识。亚历克斯希望通过观察飞行员的视频来判断这一点。他知道,一个人很容易通过观察判断飞行员是否失去意识,所以他相信机器也应该能做到这一点。

这是亚历克斯在几个月内所做的事情: 亚历克斯的G-force诱导失能检测器演示。

亚历克斯从YouTube下载了所有从驾驶舱拍摄的飞行员驾驶飞机的视频片段(大约几十个)。接下来,他开始标注数据。亚历克斯构建了一个用户界面,可以滚动查看数千个视频帧,并按一个按钮表示“无意识”或“有意识”,然后自动将该帧保存在正确标记的文件夹中。这个标注过程非常耗时,花了他大量的时间。亚历克斯构建了一个数据管道,可以将飞行员从驾驶舱背景中剪切出来,使他的分类器更容易专注于飞行员。最终,他建立了他的意识丧失分类器。在他做这一切的时候,亚历克斯还在社交活动中向招聘经理展示了他项目的快照。每当他拿出项目并在手机上展示时,他们都会询问他是如何做到的,他如何构建数据管道,以及他是如何收集数据的。但没有人问及他的模型准确率(准确率低于50%)。

当然,亚历克斯计划提高他的准确率,但在他着手之前就已经被录用。事实证明,公司更看重他项目的视觉效果以及他在数据收集过程中的努力与智慧,而不是他的模型准确率。

他们之间的共同点

罗恩和亚历克斯为何如此成功?因为他们做对了以下四件事:

  1. 他们没有在建模上花费太多精力:我知道这听起来有些奇怪,但对于大多数实际应用来说,建模已经不再是问题。在实际工作中,除非你从事前沿研究,否则你80%到90%的时间都会花在数据清理上。你的个人项目也不例外。
  2. 他们自己搜集数据:正因为如此,他们得到的数据比Kaggle或UCI数据库中的数据更加混乱。但这些混乱的数据提高了他们处理复杂数据的能力。相比从学术服务器下载数据,这种方法让他们更了解自己的数据。
  3. 他们将成果可视化:面试不仅仅是让一个一无所知的裁判来评估你的能力,而是将你自己推销给他人。人是视觉动物。如果你拿出手机向面试官展示你的作品,那么你的作品必须看起来有趣,这一点非常重要。
  4. 他们的行为显得有些疯狂:正常人不会用胶带把手机绑在购物车上,正常人也不会花很长时间从YouTube上剪辑飞行员视频。什么样的人会这样做?那些不顾一切完成目标的人。公司最想雇用的就是这种人。

罗恩和亚历克斯的行为可能看起来有些夸张,但实际上,这与你在真正工作中要做的事情差不多。关键在于:当你没有相关工作经验时,招聘经理会通过你做过的类似经历来了解你。

幸运的是,这种程度的项目你只需要做一两次——罗恩和亚历克斯就在所有面试中反复使用他们的项目。

因此,如果要用一句话总结伟大的机器学习项目的秘诀,那就是:选择一个有趣的、需要大量努力来搜集的数据集,并尽可能使其在视觉上具有吸引力。

    本文来源:图灵汇
责任编辑: : 赵伟
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
栗子正确机器两个建立项目如何学习个人
    下一篇