【算法工程师】成为一名优秀的机器学习算法工程师所需知识及资料汇总-附思维导图

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 成为一名优秀的机器学习算法工程师所需要具备的技能和知识,包括理论基础、数学能力、编程技能、实践经验以及对特定领域的深入了解,并提供了学习资源和面试准备建议。

1.png

华为机器学习工程师招聘内容

1、负责统计机器学习、深度学习、强化学习等模型的研发工作,包括但不限于基础的算法或模型,如CNN、RNN、DNN、DQN等;
2、支撑以上模型的基础算法或算子优化,如模型压缩、卷积算法加速等,实现极致的性能;
3、负责大规模分布式凸优化和非凸优化算法、高性能通信技术的研发,充分挖掘软、硬件的优势,实现业界领先的AI框架和平台;
4、负责一站式的端到端AI平台,包括智能标注、特征工程、模型开发、自动学习和训练、推理等。职

必备技能

机器学习算法工程师,指的是有机器学习,数据挖掘,自然语言处理,分布式计算等方面工作的人员。
通过对招聘要求的解读,总结一个优秀的算法工程师大致需要以下技能

  • [ ] 算法功底
  • [ ] 大规模数据挖掘相关技术,掌握Hadoop或Spark技术
  • [ ] 机器学习理论基础
  • [ ] 熟练掌握一个深度学习框架(Tensorflow、keras、Pytorch)
  • [ ] 熟悉数据挖掘算法的原理、实现与应用
  • [ ] 熟悉机器学习常用算法,包括LR、SVM、GBDT、Xgboost、DNN等(一般面试会要求熟悉公式推导)
  • [ ] 对以下某个领域有深度研究的优先

  • 文本数据挖掘

  • 推荐系统
  • CV
  • 知识表示及推理、问答系统
  • 机器学习平台或大规模数据处理平台

建议汇总

  1. 打好数学理论基础,将机器学习的所有算法公式推导一遍,并记住,面试会问公式推导。建议反复看李航老师的《统计学学习方法》,周志华老师的《机器学习》
  2. 多打比赛,将所学知识应用到实际业务中,给予自己正向的学习反馈,知道自己该学什么,学的知识有什么实际作用能解决什么问题。认证的打完每一个比赛,并做好复盘笔记,这将会自己的实际项目。面试时考官会详细问,并可能当即登录你平台查看你的比赛成绩和提交记录。
  3. 掌握Python、R、C++、Scala等编程语言,每多会一个,多给自己一个机会
  4. 面试前刷算法题是必备,面试必考算法题
  5. 对某一个领域用较深的研究,比如NLP、CV等等
  6. 在校期间多打数学建模比赛,增强自己数模的能力,在面试和实际工作中,都是加分项。
  7. 最好掌握一项大数据开发工具,Spark或hadoop。有的是加分项有的是必需项。

1 机器学习理论

1.1 基础理论

网课《Learning from Data》机器学习基石
网课《机器学习-吴恩达》
所谓基础理论,指的是不涉及任何具体模型,而只关注“学习”这件事本身的一些理论。以下是一些比较有用的基础概念:
(1)VC维
学习资料

VC维是一个很有趣的概念,它的主体是一类函数,描述的是这类函数能够把多少个样本的所有组合都划分开来。VC维的意义在哪里呢?它在于当你选定了一个模型以及它对应的特征之后,你是大概可以知道这组模型和特征的选择能够对多大的数据集进行分类的。此外,一类函数的VC维的大小,还可以反应出这类函数过拟合的可能性。

(2)信息论

从某种角度来讲,机器学习和信息论是同一个问题的两个侧面,机器学习模型的优化过程同时也可以看作是最小化数据集中信息量的过程。对信息论中基本概念的了解,对于机器学习理论的学习是大有裨益的。例如决策树中用来做分裂决策依据的信息增益,衡量数据信息量的信息熵等等,这些概念的理解对于机器学习问题神本的理解都很有帮助。这部分内容可参考《Elements of Information Theory》这本书。

(3)正则化和bias-variance tradeoff

如果说现阶段我国的主要矛盾是“人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾”,那么机器学习中的主要矛盾就是模型要尽量拟合数据和模型不能过度拟合数据之间的矛盾。而化解这一矛盾的核心技术之一就是正则化。正则化的具体方法不在此讨论,但需要理解的,是各种正则化方法背后透露出的思想:bias-variance tradoff。在不同利益点之间的平衡与取舍是各种算法之间的重要差异,理解这一点对于理解不同算法之间的核心差异有着非常重要的作用。

(4)最优化理论

绝大多数机器学习问题的解决,都可以划分为两个阶段:建模和优化。所谓建模就是后面我们会提到的各种用模型来描述问题的方法,而优化就是建模完成之后求得模型的最优参数的过程。机器学习中常用的模型有很多,但背后用到的优化方法却并没有那么多。换句话说,很多模型都是用的同一套优化方法,而同一个优化方法也可以用来优化很多不同模型。对各种常用优化方法的和思想有所有了解非常有必要,对于理解模型训练的过程,以及解释各种情况下模型训练的效果都很有帮助。这里面包括最大似然、最大后验、梯度下降、拟牛顿法、L-BFGS等。

1.2 有监督学习

1.3 无监督学习

  • 聚类方法
    • kmeans
    • DBSCAN
    • 层次聚类
  • 混合高斯模型
  • LSI
  • pLSA
  • LDA
  • PCA
  • SVD
  • NMF
  • word2vc
  • 嵌入表示(embedding representation)
  • HMM 隐马尔可夫模型
    学习资料

2 数学基础

(1)概率论

  • 大数定理&中心极限定理
  • 常用概率分布
  • 假设检验理论

(2)参数估计方法

  • 最大似然理论
  • 最大后验理论
  • EM算法

(3)理论

  • 贝叶斯理论
  • 贝叶斯分类错误率

(4)离散数据分布

  • 伯努利分布、二项分布、多项分布、Beta分布、狄里克莱分布以及泊松分布
  • 高斯分布和指数分布族

3 特征处理和工程

  • 特征选择和特征提取,参考:特征提取与特征选择
    学习资料
  • 特征规范化
  • 特征离散化
  • 特征交叉和组合

4 必备工具

4.1 单机开发工具

numpy、sklearn、pandas、 matplotlib、libsvm、liblinear、 xgboost 等等

4.2 大数据开发工具

Spark、hadoop、 Hive、Storm

如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?

5 ML算法补充资料

  • 梯度下降法,参考:gradient descent
    学习资料

  • 牛顿法,参考:牛顿法
    学习资料

  • 线性判别分析,参考:线性判别
    学习资料

  • 深度学习 - 深度学习概述:从感知机到深度网络
    学习资料

  • Apriori 算法 - 参考地址: Apriori 关联分析
    学习资料

  • 更多更系统知识参考李航老师的《统计学学习方法第2版》

6 面试题目

6.1 机器学习公共知识

第一部分


  1. 过拟合欠拟合(举几个例子让判断下,顺便问问交叉验证的目的、超参数搜索方法、EarlyStopping)
  2. L1正则和L2正则的做法、正则化背后的思想(顺便问问BatchNorm、Covariance Shift)、L1正则产生稀疏解原理
  3. 逻辑回归为何线性模型(顺便问问LR如何解决低维不可分、从图模型角度看LR和朴素贝叶斯和无监督)
  4. 几种参数估计方法MLE/MAP/贝叶斯的联系和区别
  5. 简单说下SVM的支持向量(顺便问问KKT条件、为何对偶、核的通俗理解)
  6. GBDT随机森林能否并行(顺便问问bagging boosting)
  7. 生成模型判别模型举个例子
  8. 聚类方法的掌握(顺便问问Kmeans的EM推导思路、谱聚类和Graph-cut的理解)
  9. 梯度下降类方法和牛顿类方法的区别(顺便问问Adam、L-BFGS的思路)
  10. 半监督的思想(顺便问问一些特定半监督算法是如何利用无标签数据的、从MAP角度看半监督)
  11. 常见的分类模型的评价指标(顺便问问交叉熵、ROC如何绘制、AUC的物理含义、类别不均衡样本)
  12. CNN中卷积操作和卷积核作用
  13. maxpooling作用
  14. 卷积层与全连接层的联系
  15. 梯度爆炸和消失的概念(顺便问问神经网络权值初始化的方法、为何能减缓梯度爆炸消失、CNN中有哪些解决办法、LSTM如何解决的、如何梯度裁剪、dropout如何用在RNN系列网络中、dropout防止过拟合)
  16. 为何卷积可以用在图像/语音/语句上(顺便问问channel在不同类型数据源中的含义)

第二部分


以下牛客网作者:zakexu

常见面试题(由于有的面试时间较久,主要靠记忆写下来)

  1. 几种模型( svm , lr , gbdt , em )的原理以及公式推导;
  2. rf , gbdt 的区别; gbdt , xgboost 的区别(烂大街的问题最好从底层原理去分析回答);
  3. 决策树处理连续值的方法;
  4. 特征选择的方法;
  5. 过拟合的解决方法;
  6. kmeans 的原理,优缺点以及改进;
  7. 常见分类模型( svm ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型;
  8. svm 为啥要引入拉格朗日的优化方法;
  9. 假设面试官什么都不懂,详细解释 CNN 的原理;
  10. 海量的 item 算文本相似度的优化方法;
  11. 梯度下降的优缺点;
  12. em 与 kmeans 的关系;
  13. L1 与 L2 的区别以及如何解决 L1 求导困难;
  14. 如何用尽可能少的样本训练模型同时又保证模型的性能;
  15. 解释 word2vec 的原理以及哈夫曼树的改进;
  16. 对推荐算法的未来看法;
  17. 在模型的训练迭代中,怎么评估效果;
  18. 有几个 G 的文本,每行记录了访问 ip 的 log ,如何快速统计 ip 出现次数最高的 10 个 ip ;如果只用 linux 指令又该怎么解决;
  19. 一个绳子烧完需要 1 个小时,假设所有绳子的材质都不一样,也不均匀,怎么取出 1 小时加 15 分钟;
  20. 假设有个 M*N 的方格,从最左下方开始往最右上方走,每次只能往右或者往上,问有多少种走法,假设中间有若干个格子不能走,又有多少种走法;
  21. 实现 hmm 的状态转移代码;
  22. 最短路径代码;
  23. 拼车软件是如何定价的以及如何优化;
  24. 100 张牌,每次只能抽一张,抽过的牌会丢掉,怎么选出最大的牌;
  25. 怎么预测降雨量;
  26. kmeans 代码;
  27. mr 方案解决矩阵相乘的代码
  28. SVM有哪些核函数?如何选择?
  29. 决策树算法?什么是熵?
  30. 随机森林算法?优缺点?
  31. 逻辑回归算法?
  32. 预测的评价指标有哪些?
  33. 如何处理过拟合?
  34. 推导逻辑回归?
  35. L1正则为什么能让系数变为0?
  36. L1正则怎么处理0点不可导的情形?

6.2 NLP+推荐系统

第一部分


  1. CRF跟逻辑回归 最大熵模型的关系
  2. CRF的优化方法
  3. CRF和MRF的联系
  4. HMM和CRF的关系(顺便问问 朴素贝叶斯和HMM的联系、LSTM+CRF 用于序列标注的原理、CRF的点函数和边函数、CRF的经验分布)
  5. WordEmbedding的几种常用方法和原理(顺便问问language model、perplexity评价指标、word2vec跟Glove的异同)
  6. topic model说一说
  7. 为何CNN能用在文本分类
  8. syntactic和semantic问题举例
  9. 常见Sentence embedding方法
  10. 注意力机制(顺便问问注意力机制的几种不同情形、为何引入、seq2seq原理)
  11. 序列标注的评价指标
  12. 语义消歧的做法
  13. 常见的跟word有关的特征
  14. factorization machine
  15. 常见矩阵分解模型
  16. 如何把分类模型用于商品推荐(包括数据集划分、模型验证等)
  17. 序列学习、wide&deep model(顺便问问为何wide和deep)

7 学习书籍汇总

7.1 基础理论

  1. 《机器学习》周志华
  2. 《统计学方法》李航
  3. 《深度学习花书》
  4. 《百面机器学习》
  5. 《数据挖掘导论》

7.2 业务方向

(1)自然语言处理

  • 《统计自然语言处理第2版》

(2)大数据

  • 《数据挖掘导论》
  • 《大数据spark 企业级实战》

(3)算法

  • 《Labuladong的算法小抄》
  • 《剑指Offer》

8 网课汇总

  1. 李宏毅-机器学习
  2. 李宏毅-深度学习
  3. 吴恩达机器学习
  4. 吴恩达深度学习
  5. cs231n-深度学习之计算机视觉
  6. cs224n-深度学习之自然语言处理
  7. cs224w-机器学习之图神经网络
  8. 《统计学学习方法》-李航
目录
相关文章
|
23天前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
87 7
|
19天前
|
机器学习/深度学习 算法 搜索推荐
认识聚类算法【机器学习必学】
处理网https://www.91chuli.com/
|
2月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
125 6
|
7月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
415 6
|
4月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
5月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
931 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
4月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
5月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
152 14
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。