温馨提示--如何成为一名优秀的机器学习工程师

人工智能的浪潮不断推进,相信很多读者和我一样加入了机器学习的队伍,我的工作内容很全面:从数据收集、数据处理、建模、实施服务,业务范围涉及你能想到的每一个产业。在这个岗位上呆久了,发现很多事情做起来都是有规律可循的,总结了一名优秀的机器学习工程师需要注意的11个方面,希望读者在阅读后,能对机器学习的从业和学习有所帮助!

把时间花在刀刃上:数据很重要!

如果你熟悉数据科学的一些基本原则,就会发现解决实际应用问题,处理coding问题,本质上是和数据打交道。可令人惊讶的是,我时常忘记这一点,很多时候,我着眼于建立更好的模型,而不是去提高数据的质量。

建立一个更大的模型、使用更多的计算资源可以在短时间内给你一个很好的结果。然而,出来混总是要还的,接下来你会遇到很麻烦的事。

当你参与第一个项目时,请花很多很多的时间去熟悉数据。之所以说很多很多,是因为你通常需要把你预计花的时间乘以3。长远上看,这会帮你在接下来的工作中节约不少时间。

当你拿到一个新的数据,你的目标应该是成为最了解这个数据的专家,你要检查数据的分布,找到不同类型的特征,异常值在哪里,为什么它们是异常值?如果你不能把你的数据描述清楚,那你又怎么能建立模型呢?

不要低估沟通的重要性,沟通比技术本身能带来更大的价值。

我遇到绝大多数的问题都不是技术问题而是沟通问题,的确,技术难题一直都有,但是那是工程师应该去解决的问题。永远不要低估沟通的重要性,无论是公司内部的还是公司外部的。最糟糕的事莫过于解决了一个本不该被解决的技术问题。

为什么会发生这种事呢?

对外来看,这种事发生的原因大多是因为客户的期望和我们所能提供的服务出现了不匹配,虽然客户的期望能够用机器学习实现。对内来看,因为我们每个人在公司都负责很多方面事务,所以我们很难为了同一个目标而做到步调一致。

三省吾身

回到问题的本质。请经常这样做。请问一问你自己,你的客户是否明白你们能提供的服务?你是否理解客户的问题?他们知道机器学习带来什么和不能带来什么吗?什么样的交流方式能让你很轻松地去展示你的工作成果?

稳定性>前沿性

某个方法虽然不是最前沿的,但是它能产生足够好的结果,并且这个方法也很容易使用。与其将某个方法改进到完美,不如借鉴已有的模型,在这基础上进行迁移学习,这样能带来更多的价值。

二八定律

机器学习中有一个二八定律,20%的时间用来学习,意味着剩下80%的时间将用于核心项目,然而学习是重中之重。

论文需要精读

如何紧跟时代的潮流?就是精读高质量的论文,积累沉淀,你无法跟上每一个新的突破,你最好扎实掌握和运用一些基本原理,这些基本原理经受住了时间的考验,新突破需要依靠原创性的突破,然后便是需要新的探索与开发。

做自己的怀疑论者

您可以通过怀疑自己来处理探索与开发问题。探索与开发问题是尝试新事物和复用已有模型成果之间的两难选择。

开发自己的模型

运行你已经使用的模型并获得高精度结果然后将其作为新基准报告给团队是很容易的。但是如果你得到了一个好的结果,记得反复再反复地检查你的成果,并让你的团队也这样做,因为你是一名工程师、科学家。

探索新的事物

20%时间的标准在这里也有用武之地,但是时间分配如果是70/20/10会更好。也许你在核心产品上花费70%,在核心产品的构造上花费20%,在探索上花费10%,不过探索的东西可能不会起作用,我本人从来没有试过这个方法,但这是我正朝着这个方向发展的。

先积跬步,后至千里

不积跬步无以至千里,先建立一些小事,这样就能快速理解一个新的概念,你可以使用自己的数据集或者不相关的小数据,在一个小团队中,成功的诀窍是先成功一小步,然后快速迭代。

以不变应万变

请记住,我的目标不是发明一种新的机器学习算法,而是向客户展示机器学习对他们的业务是否有帮助,有了坚固的基础,你就可以建立你自己的最好模型,而不是重复使用已有的模型了。软件行业的快速迭代,你去年所做的工作明年可能就没用了哦!这是客观事实,由于软件工程和机器学习工程的融合,这种情况越来越严重。但是你既然已经加入了机器学习的大家庭,我来告诉你什么保持不变——框架会变化,库会变化,但基础统计,概率论,数学永远不会变。 最大的挑战仍然是:如何应用它们。

posted on 2020-04-15 09:45  limingqi  阅读(202)  评论(0编辑  收藏  举报

导航