Déclaration de copyright: Cet article est l'article original du blogueur et suit l'accord de copyright CC 4.0 BY-SA. Veuillez joindre le lien source original et cette déclaration pour réimpression.
Lien vers cet article: https://blog.csdn.net/weixin_37737254/article/details/110508319
ingénieur en algorithmes
Auteur : louwill
Laboratoire d'apprentissage automatique
Comme le poste d'ingénieur en algorithmes est basé sur différents scénarios commerciaux et directions d'application, leurs emplois respectifs sont relativement différents. Il est donc difficile d'avoir une pile technologique généralisée d'ingénieur en algorithmes. Par exemple, il existe des messages d'algorithme de vision industrielle pour l'orientation de l'image, des messages d'algorithme de traitement du langage naturel pour l'orientation du texte et des messages d'algorithme de reconnaissance vocale pour la parole.
Cet article ne trie que les compétences de R&D communes, de base et nécessaires des ingénieurs en algorithmes. En d'autres termes, quel que soit le scénario commercial que vous effectuez dans le travail d'algorithme, ces compétences de base en recherche et développement doivent être connues.
Cet ensemble de liste de compétences comprend principalement deux types, l'un est des compétences théoriques et l'autre des langages et des outils de programmation.
l'analyse des données
L'analyse des données est la capacité de base des ingénieurs en algorithmes. Tous les algorithmes actuels sont basés sur des données, et l'analyse des données peut être considérée comme une condition préalable à la recherche d'algorithmes. Les principales piles technologiques comprennent:
EDA
统计分析
统计绘图与数据可视化
sql
...
Structures de données et algorithmes
La structure des données et les algorithmes est l'un des quatre cours de base pour les informaticiens. À l'heure actuelle, la structure des données et les questions d'algorithme du test d'entretien sont des éléments essentiels pour les grandes et petites entreprises du secteur. Le brossage leetcode est un must pour l'algorithme avant de trouver un emploi.
Structure de données
线性表
数组
链表
字符串
栈
队列
堆
哈希表
树
图
Algorithme de base
二分查找
排序
递归
回溯
分治
双指针
深度优先搜索
广度优先搜索
动态规划
...
Apprentissage automatique
L'apprentissage automatique est la compétence principale d'Algorithm Post. Pour les ingénieurs en algorithmes d'apprentissage automatique, à mesure que l'article sur l'algorithme devient de plus en plus écrit, il est courant d'avoir une compréhension approfondie et une poussée manuelle des modèles et des algorithmes d'apprentissage automatique couramment utilisés. Les modèles d'apprentissage automatique couramment utilisés comprennent:
单模型
线性回归
逻辑回归
Lasso
Ridge
knn
ID3
C4.5
CART
感知机
神经网络
SVM
集成学习
GBDT
AdaBoost
XGBoost
LightGBM
CatBoost
Random Forest
无监督模型
kmeans
层次聚类
谱聚类
PCA
SVD
LDA
概率模型
朴素贝叶斯
贝叶斯网络
EM
MCMC
最大熵
CRF
HMM
Carte du modèle d'apprentissage automatique
L'apprentissage en profondeur
L'apprentissage profond est l'une des directions les plus populaires de l'apprentissage automatique, et différents domaines d'application ont également leur propre objectif. Par exemple, l'algorithme d'image se concentre davantage sur CNN et l'algorithme de texte se concentre davantage sur RNN. Cependant, les modèles de réseau et l'historique de développement couramment utilisés doivent être clairs.
DNN
MLP
BP
CNN
分类
检测
分割
AlexNet/VGG/GoogleNet/ResNet/DenseNet
...
RNN
LSTM
Transformer
Attention
Bert
XLNet
...
GNN
...
Linux
Linux est le principal outil des ingénieurs en algorithmes, et les commandes de base et courantes doivent être maîtrisées.
Linux
Shell
Vim
Git
版本管理
远程仓库
分支管理
...
Python
Je ne dirai pas grand-chose sur l'importance de Python. Pour le tutoriel complet, veuillez vous référer à l'enseignant Liao Xuefeng:
https://www.liaoxuefeng.com/wiki/1016959663602400
Les bibliothèques tierces dans lesquelles le personnel des algorithmes devrait maîtriser comprennent:
sklearn
tensorflow
keras
pytorch
cv2
nltk
...
C ++
C ++ est identique à Python, et encore plus important que Python. C ++ est essentiel pour le déploiement industriel et l'atterrissage des algorithmes de modèle. Référence du didacticiel en ligne C ++: https://www.w3cschool.cn/cpp/
SQL
SQL est l'outil de recherche et de développement de base pour le personnel des algorithmes. La capacité à écrire des scripts SQL compétents est également une manifestation très importante de cette capacité.
增删改查
MySQL
Oracle
SQLite
...
Docker
Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de conditionner leurs applications et packages dépendants dans un conteneur léger et portable, puis de les publier sur n'importe quelle machine Linux populaire, qui peut également être virtualisée.
reptile
Pour les ingénieurs en algorithmes, les robots d'exploration peuvent écrire indépendamment des scripts pour obtenir des données structurées sur les pages Web. Les robots d'exploration basés sur Python doivent maîtriser:
前端知识
html
css
javascript
Python第三方库
urllib
beautifulsoup
request
lxml
scrapy