「置顶」算法工程师的底层逻辑

最近实在闲着没事,回想自己毕业以来的经历,突然有感而发。写这篇文章和大家聊聊!



大家好,我是老周,欢迎阅读我的文章。


工作快三年了,从刚开始入门自然语言处理,到刷题面试,再到毕业入职一家还算不错的互联网公司。期间走过不少弯路,一是不知道学什么,二是不知道怎么学,三是不知道学了有什么用。


于是乘着春节有时间,我把我走过的路总结一下,希望对读到这篇文章的人有一些帮助,毕竟大家的时间都是宝贵的,我花时间写,就是希望对你有帮助。你花时间读,希望你有所收获。


问题1:该不该选算法?(学什么)

这是每个人都会遇到的一个问题,大家在学一个新东西的时候,都会问,这东西学了有什么用?我到底应不应该学,我是学算法好还是学后端开发、前端开发好。我也一直纠结这个问题。


从我毕业找工作的经历看,选择的时候要注意一下几点:

1、经济有周期性,技术也有周期性

所以选择一个新技术的时候,一定要很早的开始学习,争取做第一个吃螃蟹的。那可能有人会问,我不知道什么时候有螃蟹吃?这时候就要利用互联网人的优势了,学会收集信息。可以去招聘网站看看职位数量、问问学长学姐。


2、兴趣为王,找准自己的优势

上面的第一点有点不好把握,但有一个基本规律,是一个新技术出来,头两年掌握它的人会很少,后面将会越来越多的人掌握,然后要求就会水涨船高。

如果不是很早的入门,第二点“兴趣为王”比较重要,找到自己的优势,选定一个方向深耕,比如选定了后端就在后端上一直学习。总会进步。

3、多讨论,多尝试

记得刚毕业找工作,都是一个人蒙头学习蒙头找,没有和同学进行沟通,错过了很多有用的信息。


问题2:如何成为一名算法工程师?(怎么学)

在确定自己学什么后,我们都会焦虑,该学什么了?我选择的方向是自然语言处理。这个方向学的人很多,应用也比较广,在搜索、推荐系统、智能客服等场景中都能大展身手。好比我们想成为一个货车司机,那么我们需要考个驾照、买辆车等等一些列操作。我也总结了一个算法工程师需要的技能图谱:

「置顶」算法工程师的底层逻辑

图1:自然语言处理算法工程师技能图谱


如果把自然语言处理算法工程师比作一个货车司机,那么一个基础架构对应的是“驾驶技能”,工具层是“货车驾驶的知识”,应用层“跑运输的知识”。这是一个逐渐递进的关系。


基础架构层的内容:

计算机基础:这是任何从事编程职业的人员都必须掌握的知识,具体为操作系统、数据结构、计算机网络。特别是数据结构和算法是重中之重。


软实力:沟通能力、简历制作、人脉


在掌握了基础架构层知识后,算法为学习工具知识打好了基础。

编程语言:作为算法工程师,C++和python是必须掌握的两门语言,C++是上线实际算法的语言,python是为了更好更快的进行模型的实验、迭代。


机器学习、深度学习:机器学习、深度学习作为一个很好的建模工具,机器学习必须学会逻辑回归、xgboost这些模型。深度学习作为自然语言建模的重点,也是重中之重,类似学生时代的必修课。必须学会卷积神经网络、循环神经网络、预训练模型、多任务学习这些热点知识。


问题3:学了有什么用?(有什么用)


学习了自然语言处理后,现在热门的应用方向是智能客服、智能音箱、推荐系统、搜索,如果想继续深耕下去,可以选择一个细分领域继续学习。做到更好更强。


后续我会不断分享,我在上面那些方向的学习经历!


欢迎关注我的公众号--“代码人老周”,和老周一起学习自然语言处理周边,共同进步!


分享到:


相關文章: