随着科学技术的发展,人工智能已渗透到各个行业,算法工程师非常火爆,急缺大量人才,年薪也越来越高。很多人想入手学习算法,那么多算法,究竟该如何下手呢?
很多人看到招聘要求,知道算法工程师一般要求,通常要求会机器学习、数据挖掘等等算法,因为算法工程师会很多具体分支:
音/视频算法工程师(通常统称为语音/视频/图形开发工程师)
图像处理算法工程师
计算机视觉算法工程师
通信基带算法工程师
信号算法工程师
射频/通信算法工程师
自然语言算法工程师
数据挖掘算法工程师
搜索算法工程师
控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)
导航算法工程师
例如有的招聘要求:
1 熟悉机器学习算法
2 大数据处理:熟悉至少一个分布式计算框架Hadoop/Spark/Storm/ map-reduce/MPI
3 熟悉数据挖掘算法
4 扎实的数学功底
5 至少熟悉C/C++或者Java,熟悉至少一门编程语言例如java/python/R
加分项:具有较为丰富的项目实践经验
那么是不是要直接学习这些算法呢?
其实不然,万丈高楼平地起,任何高深的算法都要从基础算法学起,不可能一口吃个胖子,所以入门算法还是要从基础开始:
首先学习一门语言,例如C/C++或者Java,初学者学C++比较普遍。
学一本数据结构,数据结构书有很多,具体看什么书最好,因人而异,尽管很多人觉得严的书难以理解,但是无法否认,严的书是权威,所以仍然推荐严的数据结构,只不过要结合博客图解看,那就简单易懂了。
注意人邮版的更好一点。数据结构图解博客:http://blog.csdn.net/rainchxy。
然后看算法入门书《趣学算法》,这本书图解多,有大量图解,问题分析,实战演练,适合入门者快速掌握经典算法。然后再看《算法导论》就简单多了。
然后选择自己感兴趣的分支,以机器学习为例,首先看看李航的《统计学习方法》,了解一下统计学习方法,因为目前的机器学习是基于统计的,建议学一下python/R,然后看看《机器学习实战》,这本书简单易懂,适合入门。
接着学习什么,就根据自己工作岗位需要了。