算法工程师-见解。


先搞清楚目前行业内招的算法工程师主要在做什么:

第一类是做数据模型进行推荐、分类、识别、预测等工作的建模型算法工程师,通常JD上也写成数据挖掘工程师、深度学习工程师等。这类大体的工作就是结合业务场景,选择合适的算法模型,将数据进行处理后使用模型获得结果,也被戏称为“调参工程师”。

第二类是做针对性方向的算法研究,包括图像、语音、文本等,其囊括了在外界看来很智能的人脸识别、人脸变换、语音生成、语音识别、新闻推荐、智能对话等功能。和第一类的区别主要在于处理的数据非传统的结构化数据,需要进行针对性的处理,比如图像的取点、二值化,语音的要素提取,文本的分词、向量化等等。当进行了数据处理后,后续选择模型时就和第一类类似了。

不难看出,第二类会比第一类需要一些针对性的知识体系,相对来说更好去做准备。

你描述中要做的准备看的出来对主要的能力点有所了解,其实大致的区分下就以下这几块:

从学习安排上,可以以如下的学习路线做准备:

一、数学能力基础

无论是否计算机出身,数学方面的能力在算法工作中是非常必要的基础,需要掌握的程度如下:

1、高等数学,主要包括微分和积分、偏微分、向量值函数、方向梯度、泰勒展开等,才能更好理解算法公式,调参原理,以及迭代时梯度的概念等;

2、线性代数,主要是矩阵运算、高维向量、空间运算,这些是理解深度学习向量空间的基础;

3、概率论及数理统计,或者称之为概率学和统计学,要理解,机器学习本质上是一个概率问题,从数据中学习的不确定性,就是在获得概率值。

二、计算机科学能力基础

算法工程师是一个研发性岗位,写代码的能力也是必须的。

1、掌握基本的排序、查找算法

2、熟悉常用的各类数据结构,如数组、树、表

3、将抽象逻辑思路转为代码,能完成leetcode上中等难度的题目

4、有编程语言学习能力,会python更好,其他语言需要花时间了解其语法特点

以上两大基础,如果是工科出身,应该不会需要太久做准备,可以根据缺少的部分来查漏补缺,这些部分在两个月内完成应该问题不大。

后续才是真的开始做算法的学习:

三、机器学习算法能力基础

1、熟悉常用机器学习算法的原理,包括线性回归、逻辑回归、决策树、K均值、SVM、adaboost、CNN、RNN等

2、能够了解各个算法的优劣和适用的数据场景

3、熟悉常用机器学习算法在代码中的实现,深一些是能自己手写实现,浅一些是能通过使用python的包来调用,熟悉参数

4、能够独立完成完整的数据项目,如在kaggle上尝试解决入门的问题,实现从数据处理到模型选择直到输出结果的过程

第三部分是个长久的事情,不断的熟悉算法和使用,并在实际数据项目中来深化,不去公司实习的话,在kaggle上多做尝试可以积累不少经验。

当能掌握这些后,就可算做正式入门了,目前大厂的实习生或者校招生基本就在这个水平程度,想要得到更好的机会或者能在工作中真的有好的产出,需要更多的努力和学习。



我们整理了一套55g的技术求职资料,关注公众号职景求职回复资料即可获得,同时还可以加入我们建立了一个技术求职答疑群,群里有4位技术大牛(北邮博士,ofo早期核心技术团队,网易百度技术负责人等),还有很多同行小伙伴,有什么技术难题或者求职疑惑都可以在群里进行交流。群里不定时会有免费答疑讲座欢迎志同道合的小伙伴加入

猜你喜欢

转载自blog.csdn.net/binbigdata/article/details/80751254