做算法,你要掌握这些

2020 年 11 月 27 日 AINLP



往期回顾:

之前我总结过数据科学家必备的技能,而在我今年经历过实习后,逐步对工业界,实际应用有一定了解后,我决定重新总结一下作为算法工程师所必要的技能,大家可以根据这个list查漏补缺,技能完善,你将所向披靡。 不完全,又补充欢迎参考。

算法篇

算法应该是做算法工程师的基操,然而算法何为高级,何为一般,其实应该有一个分界线。

基本操作

  • 机器学习算法,市面上这种书非常多,来来去去都会讲的,那就是基本操作。

    • 有关理论,现在首推还是李航的《统计学习方法》,这是理解算法的根本,入门啃这本书是非常好的。

    • 有关实现,基本的机器学习方法和上下游的数据处理与评估,python的sklearn基本就能够实现,推荐塞巴斯蒂安的《python机器学习》,讲的很全面。

    • 周志华的《机器学习》具有很强的广度,大家可以通过这本书拓宽自己的知识面,但是仅靠这本书不够,自己多去查文献和博客,这本书做提纲不错,但是光靠这本书远远不够(举个例子,隐马尔可夫书里只讲了3个关键问题,没说怎么实现!!)。

    • 另外推荐一本可能很多人知道但是可能没很多人看,就是ping的《数据挖掘导论》,建议大家看看,当时机器学习还是刀耕火种的时代,这本书带着我入门,至今仍觉得受益匪浅,例如关联规则,DBSCAN都是从这里知道的。

  • 深度学习这块,BP、CNN、RNN等理解后,多去看看论文和前沿的技术。

  • 数据的处理能力。预处理、清洗、抽取等,这里面的学问远比前面的高得多而且深得多,而且上游的数据好坏直接决定了后续用模型的结果,大概是:数据的好坏决定结果的上限,模型的好坏决定结果的上限,数据质量高低。

    • 异常值、缺失值等。

    • 特征抽取、转化,PCA,SVD等等。

  • 数学能力。并非自己是数学系出身所以这么建议,是在现实场景有过一些体验才有这种感受。主要是指下面几个方面吧。

    • 建模能力。对新的问题,无论是从无到有,还是迭代更新的数学建模能力。用公式模型对现实进行表达,能知道什么时候可以假设简化,什么时候设置参数等,需要很强的能力。当然,侧面体现的是自己查阅文献、了解问题背景的能力。

    • 高数、线代、概率、统计。optimizer的计算来源于梯度,前向传播来源于线代,概率和统计就更不用说了(在这里强调一下,概率和统计虽然经常放在一块,但是不是一个东西!),如果要深入理解一些算法,这些就是基操,还给老师是肯定不行的。

    • 公式的推导能力。这会体现在你的创新性中,某些模型的迭代,就需要进行合理性等方面的评估,这些就需要更多的公式推导。

推荐一本书,应该是下半年出的,《百面机器学习》,非常优秀,建议和《统计学习方法》一样的人手一本。

升级操作

  • 紧跟发展进程。大量现行的算法其实都是比较经典的算法,但是要令自己的算法更加符合问题,需要进行不断的迭代,之后不断的读文献,把我发展进程,才能有更加好的结果。注意,这里我说的不是潮流,作为一名做技术、做问题的人,不应该去追潮流,而是追前沿。

  • 数据分析和监控能力。俗称数据的敏感性,作为算法工程师,你的世界很大部分都是数据,如何从海量的数据中发现问题,这是非常重要的,也是你必须具备的。

  • 论文阅读能力。快速从文章中找出自己需要的内容,快速看懂。

  • 了解算法是后的重现能力。这点看起来很简单,但是做起来其实很难,在要求高效的现在,快速重现结果,尤其是最新的模型,其实很难。

技术篇

算法工程师,需要具备工程能力,由于非计算机出身,所以本身能力相对薄弱,但是被逼着还是掌握了很多新的内容,也发现了很多需要掌握的东西。

  • python、Java最为常见,c++偶尔也会遇到。R做开发其实并不多。

  • SQL。取数据的基本操作,非常重要!!!!,主要集中在查询,多表联查,聚合函数等

  • git。代码协作工具。

  • 机器学习有关的框架和包。sklearn,tensorflow,keras最好都会,另外最新的pytorch可以关注一下,势头很猛。

  • 业务能力,认识问题,剖析问题,讨论问题的能力。

  • 一些大数据技术,spark、storm、hadoop等,另外还有linux的基本操作(会写shell脚本,然后是新建文件夹之类的)

写的很笼统,是自己基本的一个总结,自己也有很多的内容也需要进一步学习,希望大家一起好好学习。

这篇作为今年最后一篇,在此祝大家新的一年,事事顺利,身体健康!

下期预告:推荐系统具体问题与评价指标


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

欢迎加入AINLP技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注NLP技术交流

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
0

相关内容

【经典书】《数据科学家统计学实战》,409页pdf
专知会员服务
102+阅读 · 2020年12月31日
手写实现李航《统计学习方法》书中全部算法
专知会员服务
48+阅读 · 2020年8月2日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
354+阅读 · 2020年2月15日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
198+阅读 · 2020年2月11日
已拿Offer!字节跳动算法面试经验
CVer
22+阅读 · 2020年7月3日
我的推荐系统入门经验~
大数据技术
39+阅读 · 2019年9月19日
秋招面经 | 旷视科技算法岗秋招面试经验分享
极市平台
9+阅读 · 2019年8月10日
准备了2个月,终于拿到了推荐算法岗的offer
算法与数据结构
7+阅读 · 2019年5月31日
机器学习各种熵:从入门到全面掌握
AI研习社
10+阅读 · 2018年3月22日
机器学习工程师31门课程(视频):从新手到专业
数据挖掘入门与实战
7+阅读 · 2018年3月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
CRPS Learning
Arxiv
0+阅读 · 2021年2月1日
Arxiv
0+阅读 · 2021年2月1日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关资讯
已拿Offer!字节跳动算法面试经验
CVer
22+阅读 · 2020年7月3日
我的推荐系统入门经验~
大数据技术
39+阅读 · 2019年9月19日
秋招面经 | 旷视科技算法岗秋招面试经验分享
极市平台
9+阅读 · 2019年8月10日
准备了2个月,终于拿到了推荐算法岗的offer
算法与数据结构
7+阅读 · 2019年5月31日
机器学习各种熵:从入门到全面掌握
AI研习社
10+阅读 · 2018年3月22日
机器学习工程师31门课程(视频):从新手到专业
数据挖掘入门与实战
7+阅读 · 2018年3月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
相关论文
Top
微信扫码咨询专知VIP会员