1.定义

机器学习算法,或者说“算法工程师”这个职位名称里的“算法”,并不是计算机系本科课程《算法与数据结构》里那个算法。那门课里讲的,是排序、查找这类”确定性算法”;而这里我们说的,是用统计方法对数据进行建模的”概率性算法”。

1.1分类

算法工程师分为两类。其中一类是偏研究型的算法工程师,例如复现paper,改善模型,发paper,出专利,这一类人才大都是科研大佬。第二类则是更加贴近业务的算法工程师,不如称为「算法应用工程师」。这一类同学主要是与业务同学进行搭档,通过现有的一些成熟模型来帮助业务同学解决问题。

作者:天雨粟
链接:https://www.zhihu.com/question/31284094/answer/331809395
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.主要工作

理想中的算法工程师:提出假设->收集数据->训练模型->解释结果。

实际中的算法工程师:提出假设->收集数据->预处理->预处理->训练模型->调试->调试->重新收集数据->预处理->收集更多数据->调试->调试->调试->…->放弃。

每天最重要的就是跑数据!这不是段子,而是事实。为什么“高大上”的算法工程师实际上是个数据民工,要寻找这种理想与现实的差距的原因,首先要理解一个事实:只有人能够理解数据,机器不能。不管我们用什么机器学习算法——无论是LR,SVM,k-means,EM——对于它们来说,输入数据都是一堆浮点数组成的矩阵而以(如果说的更本质一点,只是一堆01序列)。如果有一个特征是“小时”,而它出现了25,任何一个智商正常的人类都能明白,这是一个错误,然后在数据清洗的时候把这样的数据排除。但是机器就无法理解这一点。要具备小时的概念,又要理解什么是时间,一天有多少个小时…机器怎么能自动化完成这样的数据清洗工作?更进一步,如果人发现“小时”这个特征中大部分数据是0到12,而混入少量13(但13的数量又不是太少以至不能被当成离群点排除),人就会怀疑,是不是使用了12小时制而13是一个错误。机器目前是无法做到这一点的。
一位算法工程师对自己工作的反思,写得挺实在的

3.进阶之路

在机器学习领域,算法工程师脚下的进阶之路是清晰的:当你掌握了工具、会改造模型,进而可以驾驭新问题的建模,就能成长为最优秀的人才。
20万、50万、100万的算法工程师,到底有什么区别?

4.传统模型VS深度学习模型

优秀的算法工程师都是不用深度学习的
讲的是为什么有部分传统的算法工程师不愿意使用深度学习算法,虽然题目有点哗众取宠,但是问题角度还是挺值得深思的。

如何做一名算法应用工程师?相关推荐

  1. 如何做一名优秀网络安全工程师

    如何做一名优秀网络安全工程师 随着信息化的快速发展,网络安全问题更加突出,对网络安全人才建设不断提出新的要求.网络安全企业需要发现和雇佣深入了解网络安全实践和流程的优秀安全人才.以下总结梳理了优秀网络 ...

  2. 如何做好一名运维工程师

    这个话题是一个刚入运维行业的小伙子来问我,因为刚参加工作,可能部分经验不足,问到如何能够做好一名运维工程师呢?其实,只要用心去做,沉淀,仿佛也并没有那么难. 运维工程师,大多数情况下还是需要保证服务器 ...

  3. 非计算机专业本科毕业如何迅速成长为一名算法工程师

    非计算机专业本科毕业如何迅速成长为一名算法工程师 2018年11月27日 10:11:13 adam-liu 阅读数 4561 首先先offer镇楼 我想介绍一下我的学习经历,希望对一些还处于迷茫时期 ...

  4. 做一名真正的软件工程师

    今天是 10.24,是程序员的节日. 前天我做了一个名为<做一名真正的软件工程师>的分享,表达了一些我的个人观点. 中国的软件研发经历了几个阶段.在 2000 年以前,最先进的软件开发团队 ...

  5. 如何做一名优秀的电子工程师[zz]

    如何做一名优秀的电子工程师 成为一个杰出工程师最重要的因素就是"热爱自己的职业".毕竟兴趣是最好的老师,许多优秀的电子工程师都是从小作为电子爱好者的.爱好不仅要体现在行动中 更要深 ...

  6. java工程师js_Ajax,  励志做一名Java全干工程师

    $(励志做一名Java全干工程师) 前言:JS,JSP,JQ区别? JSP:JavaServer pages,他是作用于后端的技术,基于java的语言,混合了html,动态的调用html语句,实现动态 ...

  7. 【软件测试】资深测试聊一聊,测试架构师是怎么样的,做一名成功的测试工程师......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  8. 软件测试课程体系应该是什么样的,软件测试是什么?怎样做一名优秀的软件测试工程师?...

    原标题:软件测试是什么?怎样做一名优秀的软件测试工程师? 做软件测试的你,也许已经找到了满意的工作,也许才刚刚开始,还在摸索着前行的道路,也许一知半解,还在犹豫是否要入行.还有很多人不懂,软件测试到底 ...

  9. 浅谈如何做一名优秀的WEB前端工程师

    浅谈如何做一名优秀的WEB前端工程师 随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注. ...

最新文章

  1. 同志亦凡人第五季/全集BQueer As Folk 5迅雷下载
  2. Codeforces Round #686 (Div. 3) E. Number of Simple Paths 基环树 + 容斥
  3. UVA 10895——Matrix Transpose
  4. javaScript设计模式之面向对象编程(object-oriented programming,OOP)(二)
  5. PHP字符编码绕过漏洞总结
  6. C#|GMap.NET控件基本使用-高德地图
  7. 激光破解太空通信难题
  8. 半空间数据空间化相关接口
  9. 超好用的搜索引擎推荐
  10. 知名程序员云风辞职 意在重新思考未来
  11. 开心一下,39 个奇葩代码注释,看完笑哭了
  12. windows10出现扬声器小红叉问题的解决方法
  13. java课程设计 华容道_JAVA课设华容道总的
  14. 安装Photon虚拟机
  15. 利用Google Chrome滚动截屏,截取整个网页
  16. JN516中断简单应用
  17. 获取笑话集网站笑话数据的后台代码
  18. java学习第95天,p586-594(04/23)
  19. 关于 SecureFx传输远程服务器中文显示乱码 的解决方法
  20. 关于MAC装双系统的一些体会

热门文章

  1. Stay hungry, Stay young
  2. 面试之路(6)-BAT面试之操作系统内存详解
  3. 时间戳与日期年月日时分秒的转换
  4. 常规卷积,DW卷积和PW卷积的区别
  5. 教你禁用Windows 10中的各种小广告
  6. 网络设备互联技术· 『1』
  7. LeetCode 908 题解
  8. LeetCode908.最小差值
  9. Ubuntu安装samb服务
  10. JS和jQuery通过this获取html标签中的属性值