Dans l'ingénieur en algorithmes (la route du développement et de la pratique de l'ingénieur en algorithmes)

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

Je suppose que tu aimes

Origine blog.csdn.net/qq_49821869/article/details/112112551
conseillé
Classement