关于程序员:自学成才的机器学习工程师十诫

30次阅读

共计 2728 个字符,预计需要花费 7 分钟才能阅读完成。

导读

应用数学,代码和数据来揭示大自然的机密。

写代码可能会让人变得有点丧气,须要让本人的四周充斥色调自律和自学这两个词不能漫不经心。一个人必须对本人的教育和启蒙负责。如果你疏忽它,他人就会为你做抉择。

1、数学,代码和数据是你最重要的三大项

任何无效的机器学习管道都是数学、代码和数据的穿插。每一项只有和另一项在一起时才会有成果。
如果你的数据品质很差,那么无论你的数学计算如许优雅或代码如许高效都没用。
如果你的数据品质最高,但你的数学计算谬误,那么你的后果可能会不是很好,甚至会更糟,造成挫伤。

如果你的数据和数学都是世界级的,然而你的代码效率很低,那么你将无奈取得扩大带来的益处。
数据为你提供了一个蕴含天然珍宝的采矿地点。数学就是你的鹤嘴锄。代码能够让你建设一支挥动着鹤嘴锄的机器人队伍。

2、三大项之外的惟一例外

除了不能均衡这三大项之外,还有一个更大的罪过:遗记这三大项是为谁服务的。即便是执行得最好、由最优雅的数学驱动的代码,如果不能为客户提供服务,从最丰盛的数据中取得洞察也毫无意义。

工程师常常会发现自己迷失在一个过程中,遗记了最后想要的后果。只管他们怀着良好的用意进行,但他们遗记了,用意并不像口头那么重要。
三大项至多要为客户提供点益处,总比什么都不提供要好。
须要廓清的是,如果你的先进模型须要 47 倍的工夫能力进步 1% 的准确率,那么它是否提供了最好的体验?

3、不要被三大项给骗了

无论你如许崇拜这三大项,你都不应该被你的爱蒙蔽。自学成才的机器学习工程师是他们本人的最大的怀疑者。
他们晓得,数据不能进行证实,只能进行反驳 (只有在十亿数据中有一个数据点就能证实之前的概念是谬误的),一点点蹩脚的数学运算就会产生极其的结果(天然不是线性的),代码的效率只有在它最单薄的中央才有。
无论三大项如许神圣,直觉也不应被忽视。如果一个后果好得令人难以置信,除非你很侥幸,否则它很可能就是错的。

4、和你须要提供服务的客户放弃好关系

让机器做它们善于的事件(重复反复过程)。让你去做你善于的事件时(关怀、将心比心、发问、聆听、领导、教学)。

你的客户不像你那样关怀三大项。他们关怀他们的需要是否失去满足。

5、向那些为你奠定根底的人致敬

当你想到计算机、机器学习、人工智能、数学等畛域时,你会想到谁的名字?
Ada Lovelace,Geoffrey Hinton,Yann LeCun,Yoshua Bengio,Alan Turing,Fei Fei Li,Grace Hopper,Andrew Ng,Jon Von Neumann,Alan Kay,Stuart Russel,Peter Norvig?

当然,在你听到或记住的所有名字中,有 1000 个名字功不可没,但却从历史书中隐没了。
后起之秀应该认可前辈们做出的微小致力,但也应该认可他们中的每一个人都会通知这位新晋的机器学习工程师同样的事件:这个畛域的将来取决于你的工作。

6、不要低估了齐全重写的力量

你的指标应该是在第一工夫构建牢靠的货色。但随着技能的进步,你可能会想重构之前的作品,拆掉它们,用新的视角从新发明它们。
自学成才的机器学习工程师都明确,就像大自然一样,软件和机器学习我的项目永远不会实现,它们始终在静止。数据变动,代码在新的硬件上执行,一个蠢才发现了一个计算高效,低内存依赖的优化器适宜,并称之为 Adam。
你不仅应该对这些变动持凋谢态度,还应该欢送它们。一旦它们呈现,请应用你最好的判断力来判断它们是否值得实现到你的零碎中 —— 仅仅因为有些货色是新的,并不意味着它是必须的。

7、防止在工具上滥情

在编程界,一个常见的轶事是粉刷自行车棚。它说的是一个程序员,或者一组程序员,放心的是车棚应该是什么色彩,而不是问一些重要的问题,比方车棚是否真的能够寄存自行车。
当然,这个自行车棚也能够用电脑程序来代替。

在机器学习的世界里,你会听到对于 R 还是 Python、TensorFlow 还是 PyTorch、书籍还是课程、数学还是 code first(两者都有,记得这三位一体吧)、Spark 还是 Hadoop、Amazon Web Services 还是谷歌云平台、VSCode 还是 Jupyter、Nvidia 还是……的无休止的争执。
所有的比拟都是无效的,但没有一个值得与对方争执。

你应该答复的真正问题是:用什么能够让我以最快、最牢靠的形式建设我的想法?

一旦你问本人这个问题,你会发现其他人都在问本人同样的问题。
工程师的咒骂是从工具开始,而后寻找问题,而不是从问题开始,而后寻找工具,只有到了那个时候,如果没有适合的工具,才应该去构建它。
学习资源也是如此。数学、代码和数据的三大项,在你学习它的时候就是不变的,惟一重要的是你如何应用它。
不要遗记:许多问题能够在没有机器学习的状况下解决。

8、你的想法是商品

不要把一个执行好想法的人与窃取你想法的人一概而论。你的想法在他人手中比在你的头脑中更有价值。
作为一名工程师,你的角色不仅是建设本人的想法,而且还要与别人沟通,向他们展现如何从这些想法中获益。如果你不足这样的沟通能力,你应该与有这种能力的人单干,或者寻求造就这种能力。
在一个没人晓得该置信什么的世界里,你能够通过做实在的本人来辨别本人。诚恳面对你做的货色所能提供的和你所不晓得的。可能抵赖本人的无知是一种劣势,而不是弱点。
好的技术总是胜利的,扯谎永远不会胜利。构建技术。不要扯谎。

9、你的街坊、共事、同学和搭档也在思考这个问题

你看到他人的提高而嫉妒吗?或者你把它看作是你能做到的事件的能源?

你对他人的胜利的感觉就是你本人胜利时候的感觉。

10、不能贪

你应该寻求建设你使用三大项的技能,答复那些你想要提供服务的人的问题,但你不应该带着欲望这样做。欲望会咒骂你,让你永远过于庄重地对待将来,而不是享受你当初所领有的。
对进步技能的渴望的医治办法是造就对学习的酷爱。

自学成才的机器学习工程师可能很快地学习利用数学、代码和数据力量所需的概念,但不能匆忙行事。他们明确学习任何有价值的技术都须要工夫,如果是这样的话,还不如享受这个过程。
从一开始,你就是对本人的启蒙和教育负责的人。晓得了这一点,你就应该抉择那些无论你有什么样的运气都能胜利的我的项目。这个我的项目是否满足了你的好奇心?它是否对你的技能形成挑战?它能够让你恪守这些戒律吗?如果是这样,就足够了。

最初,在沿着本人的路线前进的同时,自学成才的机器学习工程师在他们的脑海中始终放弃着这样的印象:

没有常识就没有资质
没有口头就没有思维
没有享受就没有学习
没有格调就没有发明
没有实际就没有技巧
没有工具就没有目标
没有展现没有贸易
没有狐疑就没有假如
没有奉献就没有生产
没有对当初的爱,就没有对将来的渴望
最重要的是,没有三大项就没有机器学习

正文完
 0