为什么说数据科学很性感?这与众多新应用和整个行业在使用大数据不无关系。这样的例子不胜枚举,如语音识别、计算机视觉中的物体识别、机器人和自动驾驶、生物信息学、神经科学、系外行星的发现和对宇宙起源的理解。在这些例子中,数据科学家是整个企业的核心。他们必须将领域知识和统计专业知识结合起来,并使用最新的计算机科学思想来应用这些知识。
说到底,性感最后还是要归结为有效。最近,我阅读了 Sebastian Gutierrez 的“Data Scientists at Work”一书。Sebastian 采访了来自 16 个不同行业的 16 位数据科学家,包括 Facebook 人工智能研究总监 Yann LeCun,了解他们如何进行理论思考、他们在解决什么问题、数据能够为我们带来什么好处,以及怎样才能在这方面取得成功。这 16 位受访者身处从大数据中获取价值的最前沿,跨越了各种公共和私有组织(从创业公司和成熟企业到研究团体和人道主义非营利组织)——广告、电子商务、电子邮件营销、企业云计算、时尚、工业互联网、互联网电视和娱乐、音乐、非营利组织、神经生物学、报纸和媒体、专业和社交网络、零售、销售情报和风险投资。
Sebastian 问了一些开放性的问题,让每位受访者能够清晰而准确地表达出他们的个性和自发性思考过程。这些数据科学家们分享了他们对数据科学的一些想法,比如数据科学对他们来说意味着什么、他们如何看待数据科学、他们对加入该领域的人有哪些建议,以及一个数据科学家要怎样才能在这个领域取得成功。
更多优质内容请关注微信公众号“AI 前线”,(ID:ai-front)
“创造力和关怀。你必须真正喜欢某件事情,这样才能在这件事情上进行长时间的思考。你还应该具备怀疑精神。对于博士生来说,五年时间足以让你发现一些东西,让你意识到一路上自己犯过哪些错。你会发现自己搞砸了很多东西,然后一点一点去修复它们。获得博士学位的过程锻炼了你的怀疑精神,特别是在研究工作中,它会让你对那些看起来很确定的事情心存疑虑。我认为这很重要,否则的话,你会很容易选择一条错误的道路,只是因为在第一次找到这条路时,你感觉它是对的。
虽然这听起来有点无聊,但我还是要说,数据科学家需要真正的技术深度。通过维基百科来理解机器学习并非难事。但实际上,要真正做到这一点,需要知道哪些工具适用于什么样的任务,并充分了解每种工具的局限性。这个过程是没有捷径可走的,你必然会犯下很多错误。 你必须学会如何将分类问题归为聚类问题,或将聚类问题归为假设检验问题。
你开始尝试某些事情,并相信自己做的是对的,但到最后才意识到自己完全搞错了——这样的过程会不断出现,而且没有捷径可走。你要坚持下去,并不断犯错误。成为专家需要很长时间,需要经历多年的试错,几个世纪以来一直如此。著名物理学家 Niels Bohr 曾经说过,要想成为一个领域的专家,就要在这个领域中犯下所有可能的错误。”
“我想说,在尝试做其他事情之前,先下功夫理解数据基础知识,尽管这样做并不性感,也不那么有趣。换句话说,就是要努力了解如何捕获数据,了解每个数据字段的定义方式,了解是否发生数据丢失。如果出现数据缺失,这是否意味着什么?它是不是只在某些情况下丢失?你真的会遇到这类微妙的数据陷阱,真的。
无论你对建模中最有趣的部分感到多么兴奋,都不能对原始数据视而不见。在开始建模之前,务必先检查有关底层数据的一切。
随着时间的推移,我学到了另一件事:混合算法比单一算法更好,因为不同的技术会利用不同的数据模式,特别是在复杂的大型数据集中。尽管我们可以采用一种特定的算法,并通过迭代来改进它,但我所看到的是,算法组合往往比单一算法更好。”
“我总是给出同样的建议,因为我经常被问到这个问题。我认为,如果你是一名本科生,可以选择一门专业,让你可以尽可能多地学习数学和物理。我要说的内容可能听起来似是而非,但工程学或物理学专业可能比数学、计算机科学或经济学更合适。 当然,你需要学习编程,所以需要学习计算机科学课程,学会如何编程。然后再学习数据科学研究生课程,学习机器学习、人工智能或计算机视觉课程,因为你需要接触这些技术。在那之后,尽可能多地学习数学和物理课程,特别是连续性应用数学课程,这些在以后的实战中都用得上。
在数据科学或人工智能领域有许多不同类型的工作,就看你想要做什么。人们应该想清楚他们想要做什么,然后花时间去研究相应的课题。深度学习是当前的一个热门话题,所以可以学习和了解与神经网络相关的经典著作,学习优化,学习线性代数和其他类似的课题。这样有助于你了解我们每天都要面对的底层数学技术和一般性概念。”
“对于那些仍在考虑研究什么的人来说,我想告诉他们的是,STEM 领域是最容易的,特别是 TEM。通过学习 STEM 可以更好地了解这个领域,我也是这么看待数学、统计和机器学习的。我对数学本身不是非常感兴趣,但我对使用数学来描述事物很感兴趣。毕竟它们都是工具,所以即使你没有兴趣学习数学或统计学,花点时间学习它们仍然是值得的,并考虑如何将它们应用在你真正热爱的事情上。
对于想转型的人来说,我想告诉他们的是,这是一条艰难的路。要知道,改行是很难的,你不得不付出百倍的努力。这个问题不是数据科学独有的——生活本来就是如此。在这个陌生的领域里生存很艰难,不过你可以经常参加技术会议,认识这个领域的优秀人物。我的头号生活格言是“跟进”,如果你认为你能从某人那里学到东西,那么就跟他们交谈,并努力跟进。
数据科学家的帖子可能会令人生畏,因为大多数内容看起来就像数据科学术语表一样难懂。事实上,技术变化如此之快,没有人能够掌握所有的东西,并把他们的经验写成帖子。当你看到这些帖子,可能会觉得,“这不适合我,我没有这些技能,也没有什么可以贡献的。”我建议你改变这种想法,只要你愿意做出改变,一切皆有可能。
最后,公司需要的是能够严格定义问题并设计解决方案的人,他们也需要善于学习的人。我认为这些才是核心技能。”
“对于来自数学或物理科学领域的人,我建议他们花些精力在学习软件技能上,特别是 Hadoop 和 R 语言,它们是使用最广泛的工具。而来自软件工程领域的人应该参加机器学习课程,并使用真实的数据集来开发项目,现在有很多免费的数据集。正如许多人所说的,成为数据科学家最好的方法是参与到数据科学项目中。数据已经有了,况且数据科学并不难学,特别是对于来自数学、科学或工程领域的专业人士来说。
阅读“数据的不合理有效性”(http://www.cs.columbia.edu/igert/courses/E6898/Norvig.pdf ),这篇文章很经典,是由 Google 研究人员 Alon Halevy、Peter Norvig 和 Fernando Pereira 共同撰写。这篇文章的核心观点是“更多的数据比好的算法更重要”。这篇文章值得一读,因为它概述了使用网络规模数据来改善语音识别和机器翻译的最新成果。然后,请看一下 Monica Rogati 关于更好的数据如何击败更多数据的评论(https://www.youtube.com/watch?v=F7iopLnhDik )。如果你能理解和内化上述的两个观点,那么你已经走在了成为一名数据科学家的路上。”
“我发现招到合适的人很难。这确实是一件很困难的事情,因为在我们的大学系统中,无论是在校生还是毕业生,他们只关注一件事情,也就是他们所在的专业。但数据科学家有点像新兴的文艺复兴人士,因为数据科学本质上是多学科的。
这就是为什么数据科学家比普通的计算机程序员更了解统计学,同时又比统计学家更会编程。为什么这么说?这说明数据科学家需要对这两件事情都需要略知一二。不过,我想说的是,他们不仅需要同时知道这两件事情,他们也必须知道如何与人沟通。他们不仅需要知道基本的统计学,还需要知道概率论、组合数学、微积分等。他们还需要知道如何围着数据转,如何使用数据库,甚至可能需要懂一点 OR(比值比)。有很多事情他们都需要知道。所以很难找到符合条件的人,因为他们必须接触很多学科,必须能够聪明地表达出他们的经验。对于申请人来说,这是一项艰巨的任务。
聘用符合条件的人需要很长时间,这就是为什么人们一直在讨论现在的数据科学领域没有足够人才。我认为在某种程度上,人们的顾虑是对的。我认为一些新开设的学位课程对这一问题会有所缓解。但即使如此,对于那些从这些学位课程中走出来的人,比如 MailChimp,我们还是会考察他们,看看他们如何将这些课程教给他们的知识应用在实际当中。这个过程将淘汰掉很多人。我希望有更多的课程将重点放在数据科学家的沟通和协作方面。”
“我认为最大的机遇也是最大的挑战。除此之外,在面对需要整合多个数据集的问题时,僵化的官僚主义、僵化的基础设施和数据孤岛让解决这些问题难上加难。这种情况将会发生,而且我认为我们正在讨论的很多技术都直接关系到如何让医疗保健变得更好、更实惠、更普及。这是我们一整代人的机会。
早期的另一个重要领域是风险管理,包括融资、交易和保险。在将新数据集纳入风险评估时,问题会变得非常棘手,特别是在将这些技术应用于像保险这样的行业时,存在大量的隐私和数据问题。与此同时,这些公司开始逐步走向开放,并尝试与创业社区进行互动,以便利用新的技术。这是我发现的令人难以置信的另一个领域。
我热衷的第三个领域是重塑制造业并让其变得更有效率。制造业已经出现回归本土的趋势。更强大的制造业可能是在美国重建一个充满活力中产阶级的桥梁。我认为技术有助于加速这一趋势。”
“我认为,到了最后,学习数据科学就像学习滑雪一样,变成了一件必做的事情。你看了很多教学视频,然后带上该死的滑雪板,沿着山坡滑下去。你会在途中摔几次跤,不过没关系,这是你应该获得的学习体验。实际上,我更倾向于向受访者询问那些不顺利的事情,而不是那些顺理成章的事情,因为这样才能告诉我们,他们在这个过程中学到了什么。
每当有人问我“我该做什么”时,我会说:“可以参加机器学习在线课程,毫无疑问,这些课程很有用。当然,你必须会编程,至少懂一些。你不一定要是 Java 程序员,但你必须以某种方式完成某件事,不管你是怎么做到的。”
最后,无论是在 DataKind 做志愿者,花时间帮非政府组织做事,还是去 Kaggle 网站参加他们的数据挖掘竞赛,只要让自己参与其中即可。如果是在 Kaggle 网站上,就去逛逛论坛,看看其他人怎么讨论这些问题,因为那里正是你了解人们在做什么、什么管用以及什么不管用的地方。因此,即使你没有从中获得任何回报,但至少参与了与数据有关的事情,这本身就是一件好事。
记住,除了滑下那座山,别无他法。因此,花时间去做志愿者吧,以任何你能想到的方式让自己参与其中,如果你有机会实习,那就再完美不过了。除此之外,你还有很多机会可以把握,所以放手去做吧。”
“首先,自我批评是非常重要的。总是质疑自己提出的假设,对自己的产出保持偏执的态度,做到这点其实很容易。从技能方面来看,如果人们真的想在数据科学领域取得成功,最好是先掌握软件工程技能。尽管我们可能会雇佣那些只有很少编程经验的人,但我们也会很努力地让他们意识到工程、工程实践,以及敏捷编程实践的重要性。这对他们和我们来说都很有帮助,因为这些现在几乎都可以应用在数据科学中。
在 DevOps 领域,他们已经拥有诸如持续集成、持续构建、自动化测试和测试框架这些东西——所有这些都可以很容易地从 DevOps 领域映射到 DataOps 领域。我认为这是一个非常强大的概念。测试框架对数据来说非常重要,如果更改了代码,可以针对数据进行回归测试。要想在数据科学领域取得快速的发展,掌握工程学思想是非常重要的。阅读“Code Complete”和“The Pragmatic Programmer”这两本书比阅读机器学习相关书籍会让你收获更多——当然,阅读机器学习相关书籍也是必需的。”
“如果你刚刚开始从事数据科学工作,你最需要明白的是,应该大胆地向他人请教问题。我也认为谦逊是非常重要的。你必须确保你没有被束缚在你正在做的事情当中,你可以随时做出改变,并重新开始。我认为,在刚开始时能够舍弃代码真的很难,但最重要的是要着手去做一些事情。
即使你没有从事数据科学工作,仍然可以在平时探索数据集,并从数据中获得一些洞见。在我的个人业余时间里,我使用过 Reddit 的数据。我问自己,“我可以从 Reddit 的数据中挖掘出些什么?”一旦开始问自己这样的问题,你就会看到其他人是如何解决同样的问题的。带着你的直觉阅读别人的文章,就好像“我可以按照自己的方式来使用这种技术”一样。放慢脚步,缓缓向前。在刚开始时尝试阅读很多东西,但这样做并没有太大帮助,除非你已经充分利用代码和数据,并了解它们的工作原理。人们在书里展现的东西一切都很美好,但在现实生活中,事实并非如此。
我认为多做一些尝试也是非常重要的。我从没有想过我会出现在这里,我也不知道五年后我会在哪里。但也许这就是我的学习方法,通过在不同学科中做一些事情来尝试了解最适合自己的东西。”
“虽然这只是泛泛的建议,但我还是想说,你应该相信自己,并追随你的内心。我们很容易受媒体的影响,选择一条你不想走的路。说到数据科学,你应该把它看作是职业生涯的起点。拥有这样的背景对任何事情都有好处。开发软件技能和使用统计数据的能力将有助于你在选择领域时做出更明智的决策。我们可以了解如何通过数据来提升运动员的表现,比如一个运动员通过优化和练习跳跃的角度而成为跳远金牌得主。这些是体育领域使用数据作为驱动的例子。
至于更具体的技术建议,要取决于接受建议的人的抱负。如果这个人想要创建新的方法和工具,那么就需要不一样的建议。你要坚持,并继续朝着你的方向前进,你一定会成功。但是,如果你的意图具有多样性和灵活性,那么你就需要一系列不同的工具。
一位斯坦福大学教授曾经给过我最好的建议,我之前参加了他的课程。他建议塑造自己的 T 型竞争力,但在核心能力之外还需要一些其他的竞争力,在必要的情况下,你就有另外一条路可以走。除了单个垂直领域的专业知识外,他还建议我们具备足够宽泛的背景,以便可以在不同的情况下与不同的人一起工作。所以,在你大学期间,建立一种包含其他能力的 T 形竞争力可能是最好的选择。
或许,最重要的是要围绕在比你优秀的人身边,并向他们学习,这是最好的建议。如果你在念大学,那么这是观察人们能力多样化的最佳环境。如果能与最优秀的人一起工作,将帮助你获得成功。”
“我想,也许他们需要先想清楚自己真正关心的是什么。他们想要做什么?目前,数据科学是一个热门话题,所以我认为有很多人认为如果他们能够给自己打上‘数据科学家’的标签,那么快乐和金钱就会随之而来。所以我真的建议你先搞清楚自己真正关心的是数据科学的哪些方面,这是你应该问自己的第一个问题,然后再想办法做好这项工作。你也会开始考虑哪些才是自己真正感兴趣的工作。
第一种方法是深入了解你需要知道的部分。我们的团队中有自然语言处理博士,也有物理学博士,他们使用了许多不同的分析方法。所以你可以深入到一个领域,然后找到同样重视类似问题的人,或者找到可以使用同样思维来解决的类似问题。
另一种方法是尝试做一些东西。现在有很多可用的数据集。如果你正在尝试换工作,那就试着想一下,你可以在当前角色中使用哪些数据,然后以有趣的方式去解决问题。找一个借口去尝试一些事情,看看这是否真的是你想要做的。你甚至可以在家门口四处游荡,看看能找到什么。我认为这是一个很好的开始。现在有很多不同的角色都与“数据科学”有关,而且还有很多角色看起来与数据科学有关,但没有正式打上标签,因为现在还不是时候。所以,想想你真正想要的是什么。”
“首先,你一定要学会讲故事。毕竟,你是在真正地去了解一个系统、组织或行业的基本运作原理。但你必须学会讲故事,让人们也了解这些知识,让这些知识变得真正有用。
学会把你做的东西写下来,把你的工作成果说出来,这是非常重要的。另外,少去担心你使用了什么算法。更多的数据或更好的数据胜过更好的算法,所以如果你能够建立一种方法,分析并获得很多好的、干净的、有用的数据,那是再好不过了!”
“找到你感兴趣的问题。对我而言,每次开始尝试新事物时,如果只是在没有遇到任何问题的情况下进行研究,真的感觉很无聊。开始阅读资料,并尽快用它们来解决你的问题,你很快就会找到问题所在。这样将引导你去学习其他东西,它们可能是书籍、论文或人。所以,花时间解决问题,和其他人待在一起,你就会做得更好。
深入了解基础知识。了解一些基本的数据结构和计算机科学知识,了解你使用的工具和它们背后的数学原理,而不仅仅是知道如何使用它们。了解输入、输出以及内部流程,否则你就不知道在何时以及如何应用它。当然,这也取决于你正在处理什么样的问题。对于不同的问题,需要使用不同的工具。你必须知道每种工具都可以做什么,而且必须十分了解正在解决的问题,这样才能知道使用哪一种工具或技术。”
“他们应该透彻地了解概率论。现阶段,我所学的任何东西,都会再映射回概率论。它提供了一个深入而丰富的基础,用于投射其他所有的东西。 E.T. Jaynes 有一本书叫作《概率论:科学的逻辑》,对我们来说,它就是一本圣经级的作品。我之所以喜欢概率生成方法,是因为它提供了两个正交轴——建模轴和推理轴。从贝叶斯角度来看,它的好处是可以独立设计每个轴。当然,它们并不是完全独立的,不过也足够接近独立,以至于你可以把它们看成是独立的。
深度学习或基于 LASSO 的线性回归系统都是机器学习的重要组成部分,它们沿着一个轴或另一个轴进行工程设计,但它们已经接近崩溃的边缘。在使用基于 LASSO 的技术时,我很难想象:‘如果我稍微改变这个参数,将意味着什么?’线性回归模型包含了线性附加高斯模型,问题是,如果我想做一些不一样的事情该怎么办?突然之间,所有这些正规化的最小二乘的模型都不奏效了。”
“我认为牢固的统计学背景是一个先决条件,因为你需要知道自己在做什么,并了解你所构建的模型代表了什么含义。另外,我的统计学课程还讲授了很多关于道德的内容,这些是我们一直在思考的内容。你总是希望你的成果能够被应用到工作当中,你可以给任何人提供算法,给某人一个基于拦截盘查数据的模型,但为什么要这么做?最终结果会怎样?这就像是发明新技术一样,你必须考虑风险和收益,因为你要为自己的东西负责。
无论你来自哪里,只要了解你所使用的工具,那么这就是你能做的最好的事情。我们都是科学家,而且我不只是在谈论设计产品。我们总结有关外部世界的结论,而这就是统计学——收集数据来证明假设或创建外部世界的运作模型。如果你只是盲目地相信那个模型的结果,那是很危险的,因为那代表了你对世界的理解,结果有多少瑕疵,你对世界的理解就有多少缺陷。
总而言之,要学习统计学,并进行深度思考。”
“Data Scientists at Work”一书展示了世界顶级数据科学家如何在各种行业和应用中工作,每个人都利用自己的专业领域知识、统计数据和计算机科学,创造出巨大的价值和影响力。
数据正在以指数级的速度生成,现在比以往任何时候都更需要那些能够理解数据并从中提取价值的人。如果你渴望成为下一代数据科学家,那么这些来自前辈们的经验教训将助你一臂之力。
英文原文:
https://www.linkedin.com/pulse/16-useful-advices-aspiring-data-scientists-james-le
如果你希望看到更多类似的优质内容,记得点个赞再走!
┏(^0^)┛明天见!