网络机器人吧社区

收藏 | 来自微软大神的机器学习秘籍!

大数据 2019-02-10 13:31:48

在这个人人都可能是学霸的全民学习时代,为什么人与人的差距依然很大?像优达学城这样的学习网站可以为每一个人想要学习的人带去技能和知识的补充,但要成为一个优秀的人才,你还需要一点点…嗯…特性!在这篇文章中,曾供职于微软的机器学习工程师从一个角度来谈谈成为优秀的机器学习工程师必备的9大特性。


关于这个话题,你可能已经读到过许多从技术角度给出建议的文章,比如你应该要有怎样的基础知识,上什么课,读哪些论文。本文将从另一个角度来解答这个问题,谈谈一个优秀的机器学习工程师应该要有(或者说应该努力去培养)怎样的特性。



01 你要能够享受迭代开发的乐趣。


如果你想开发一个机器学习系统,你要首先快速地用一个简单的模型开发一个最初版本,然后在此基础上不断迭代去改进它。



02 你要对于什么时候停止一个项目有很好的直觉。


对任何机器学习系统来说,只要继续迭代下去,你总能得到更好的准确率。但从某个时刻开始,你所获得的收益会超过你付出的精力。你要能找到这个点在哪里。



03 你要能坦然面对失败。


你的模型和实验中有很大一部分到最后都会失败。这是没关系的。



04 你应该是好奇心驱动的。


最优秀的那一批人,真正对世界充满好奇并用这份好奇心来驱动他们对机器学习的热情。



05  你要有很强的数据直觉。


要善于发现数据中的模式。为了做到这一点,能够迅速地用 R、Python、Matlab 或是 Excel 等工具制作可视化图表是很重要的。



06 你要对指标(Metrics)有很强的感觉,做一个指标驱动的工程师。


你要能够机建立合适的指标来衡量你的系统是否成功。你要很习惯做双盲试验,以及使用像是精确率(Precision)、召回率(Recall)、准确率(Accuracy)、ROC、转化率(Conversion Rates)、NDCG 等这样的名词。



07 但你要时刻记住,指标(Metrics)并不是万能的。


指标可以很好地从较高的层次描述你的系统表现如何。但与此同时,你也不应该放弃去直接观察个别例子。手工地查看你的系统表现最好和最坏的例子,以及随机抽样的例子,能够反映出许多指标所不能告诉你的问题。



08 你要能够确立一个解决模型漏洞和错误预测的通用途径。


零散地修复几个 bug 只能让你达到局部最优,而且这些补丁的引入往往还会使你的模型更复杂,更难上手。你应该把所有的问题放在一起考虑,找出几个通用的解决方案,从而确定在下一轮迭代时能够解决哪些影响最大的问题。



09  在建立模型时,你要能够从用户的角度出发来考虑。


要开发一个你自己觉得好的系统很容易,但要让你目前和未来的用户满意就很难了。以自我为中心做出决策也很容易带有偏向,你要牢记这一点并尽力避免。


来源:数知榜单


精彩活动

福利 · 阅读 | 免费申请读大数据新书 第23期

推荐阅读

2017年数据可视化的七大趋势! 

全球100款大数据工具汇总(前50款) 

论大数据的十大局限

大数据时代的10个重大变革

大数据七大趋势 第一个趋势是物联网


Q: 还有哪些机器学习的方法值得推荐?

欢迎留言与大家分享

请把这篇文章分享给你的朋友

转载 / 投稿请联系:hzzy@hzbook.com

更多精彩文章,请在公众号后台点击“历史文章”查看

Copyright © 网络机器人吧社区@2017