算法岗位知多少

算法工程师这个带着亮光的耀眼称呼,和AI有着紧密的天然联系,令人向往。今天和算法工程师午饭闲聊,对算法工程师的工作有了新的感触和认知。

正文

验证算法实验时用Python,工程应用时用Spark,sql查询使用基于Hadoop的Hive工具。一些常规的数据处理,比如计算均值,寻找最大,最小值,这些并不需要用到高深的算法知识。

前端通过调用API和开源类库就可以实现相当多的算法,并不要算法工程师参与。当遇到如下的情况:对某个算法进行修改,定制化功能等,算法工程师才有很大的发挥空间和价值

算法工程师的价值,是引入算法或者改进已有算法后,能增加多少效益。但是,有时候这个效益是比较难量化的。比如推荐算法,对这个人推荐的效果好,对其他人的推荐效果可能就不好。任何算法,只要找到切入点,都能讲出算法的可行性和良好效果。

人工智能现在是很热的概念,就像前几年的云计算,大数据,物联网。自从AlphaGo战胜人类围棋天才,人工智能走入了大众的视野。有清晰的规则,算法的威力才会很强大。算法工程师真实的工作内容和AlphaGo的是两个世界,人工智能是算法的一个领域。

算法工程师的成长路径:

  1. 已知算法融会贯通,然后研究出新的算法,形成影响,给其他的算法工程师使用
  2. 转型成为算法类的产品经理或者团队管理者,知道这个算法能解决什么问题,有什么优势和不足,适用范围,连接业务和商业化。

算法工程师的成长路径放到其他领域同样成立。纵向学习成为领域专家,横向扩展成为产品经理、团队管理者。

算法浩如烟海,每年都有大量的新算法诞生,算法工程师需要大量的学习、跟进和迭代算法。这个过程是走向领域专家的自然过程,如果期间有了量变,将爆发出惊人的能量。

建立算法模型需要选取特征量,考虑影响因素。这些因素如何而来?在模型理论上的输入值和具体业务之间找到对应关系,一个学术上的因素会裂变为工程上多个影响因素,因素和因素之间还需要他们的依赖关系。即使考虑很清楚了,想到的影响因素也只是客观存在的全部影响因素里的一小部分,没有办法全部找到。

如何解决这个难题呢?通过神经网络、深度学习。让数据一个一个的进入神经网络,拟合出满足业务需求的曲线。根据全息理论:部分是整体的缩影。因此每一个数据点上包含了所有的影响因素的影响。

小结

技术环节可以有这样的分类:底层算法研究性,中间过渡带,业务开发。每个环节都需要管理者,但是管理者的角色在不同环节上是有差异的,算法和中间过渡带是相对更强调技术能力的。越往下,技术的力量越能显现出威力和价值,相伴而生的是技术精进的难度也越来越大。