算法工程师进化

1 前言

  过去的两三个月为了找暑期实习,感觉就像是在准备应试教育一样,每天的任务好像就主要集中在三个方面:(1)刷题,提高编程能力;(2)学习机器学习算法,夯实算法基础;(3)关注算法的工程实现,尤其是特征工程部分;最后真的是幸运,也拿到了自己比较满意的offer,但是我深知自己任重而道远,所以我想对自己做一个总结和规划,争取能够成为一名合格的算法工程师。距离去公司实习,已经不足一个月的时间了,希望自己能够有一定的提高吧。

2 剖析自身不足

  从找实习的面试情况来看,我觉得自己有以下不足:
  (1)需要进一步提高自己的编程能力,这里的编程能力是指要提高算法思维能力和实现能力,尤其是对于递归/贪心/动态规划等算法的理解;
  (2)需要进一步的夯实自己的机器学习算法能力,我觉得自己对于机器学习算法有一定的理解,但是仍然不够,还能够继续深挖,尤其是从数学的角度进一步的理解各分类回归算法;
  (3)需要学习深度学习,仅仅只会机器学习是远远不够的,面试官总会问你会不会深度学习,所以深度学习是一个必备技能;
  (4)需要学习大数据的处理工具,包括Hadoop和Spark,面试官每次也很关注我们是否会这些大数据的处理工具,因为这毕竟是工程实现中的必备工具了;
  (5)还有一些必备技能需要熟练掌握,例如的python编程能力,linux系统的操作能力等;

3 算法工程师的工作内容和必备技能

  为了在入职前做好心理准备,我尝试着了解算法工程师的工作内容;《机器学习算法工程师需要掌握的技能与要踩的坑》一文中提出了下列工作内容和必备技能:
  (1)观察数据,需要数据敏感性和编写脚本代码的能力
  (2)找特征,数据敏感性和想象力
  (3)设计算法,特征向量化,需要有数据抽象能力/数据建模能力/编程能力
  (4)算法验证,离线验证,算法实现能力;设计上线以后的AB测试方案
  (5)洗数据,脚本语言处理能力,数据处理工具的使用
  (6)工程化,需要把算法嵌入到原有系统中,需要考虑代码的健壮性
  (7)上线看效果,不断返修
  可以看出,作为一名算法工程师,日常的工作内容主要是线下(观察数据/找特征/设计算法/算法验证)和线上(洗数据/工程化/上线)。
  下面给出一个机器学习算法工程师的技能树,来自于《成为一名合格的算法工程师需要掌握哪些技能?

4 总结

  本篇文章一方面是对过去几个月的一个总结,另一方面也是希望开启一个勤写博客的习惯。后续我会针对技能树中的各个内容进行总结和学习,希望自己能够坚持下去!

5 参考资料

  机器学习算法工程师需要掌握的技能与要踩的坑

  成为一名合格的算法工程师需要掌握哪些技能?

猜你喜欢

转载自www.cnblogs.com/dailinfly/p/9134165.html