本文共 1898 字,大约阅读时间需要 6 分钟。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37737254/article/details/110508319算法工程师
Author:louwill
Machine Learning Lab
由于算法工程师这个岗位根据不同的业务场景和应用方向,各自的工作差异相对较大。所以很难有一个一概而论的算法工程师技术栈。比如说做图像方向的有机器视觉算法岗、做文本方向的有自然语言处理算法岗、做语音的又有语音识别算法岗。
本文仅对算法工程师常用的、基础的、必备的研发技能进行梳理。也就是说,不论你是做哪个业务场景下的算法工作,这些基础研发技能都是必知必会的。
这组技能清单主要包括两大类型,一类是理论技术,另一类是编程语言和工具类。
数据分析
数据分析是算法工程师的基础能力。当前所有的算法都是基于数据驱动,数据分析可以算作是算法研究的前置条件。主要技术栈包括:
EDA统计分析统计绘图与数据可视化sql...
数据结构与算法
数据结构与算法是计算机从业者的四大基础课之一,对常用的数据结构和基础算法有深刻的理解是算法工程师的基本功。目前业界无论大厂小厂,面试考数据结构与算法题是必备项目。刷leetcode是算法找工作前的必做准备了。
数据结构
线性表数组链表字符串栈队列堆哈希表树图
基础算法
二分查找排序递归回溯分治双指针深度优先搜索广度优先搜索动态规划...
机器学习
机器学习是算法岗的核心能力。对于机器学习算法工程师而言,随着算法岗越来越内卷,对常用的机器学习模型与算法能够做到深入理解和手推已是普遍要求了。常用的机器学习模型包括:
单模型 线性回归 逻辑回归 Lasso Ridge knn ID3 C4.5 CART 感知机 神经网络 SVM集成学习 GBDT AdaBoost XGBoost LightGBM CatBoost Random Forest无监督模型 kmeans 层次聚类 谱聚类 PCA SVD LDA概率模型 朴素贝叶斯 贝叶斯网络 EM MCMC 最大熵 CRF HMM
机器学习模型导图
深度学习
深度学习作为机器学习的一个最流行方向,不同的应用领域也相对有各自的侧重点,比如做图像算法的更侧重于CNN,做文本算法的更侧重于RNN。但常用的网络模型和发展沿革都应该做到了然于胸。
DNN MLP BPCNN 分类 检测 分割 AlexNet/VGG/GoogleNet/ResNet/DenseNet ...RNN LSTM Transformer Attention Bert XLNet ...GNN...
Linux
Linux是算法工程师干活主要工具,基础和常用命令必须熟练。
LinuxShellVim
Git
版本管理远程仓库分支管理...
Python
Python的重要性就不多说了。完整教程可参考廖雪峰老师:
https://www.liaoxuefeng.com/wiki/1016959663602400
算法人员应熟练掌握的第三方库包括:
sklearntensorflowkeraspytorchcv2nltk...
C++
C++跟Python一样,甚至重要性还要强于Python,C++对于模型算法的工业化部署和落地至关重要。C++在线教程参考:https://www.w3cschool.cn/cpp/
SQL
SQL是算法人员的基础研发工具。能写一手熟练的SQL脚本也是非常重要的能力体现。
增删改查MySQLOracleSQLite...
Docker
Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
爬虫
爬虫对于算法工程人员而言可以自主的编写脚本获取web页面上的一些结构化数据。基于Python的爬虫应掌握:
前端知识 html css javascriptPython第三方库 urllib beautifulsoup request lxml scrapy