机器之心整理, 项目作者: HUA Yang, 机器之心编辑部.
春季到来, 春招不久也会开始. 在本项目中, 作者为大家准备了 ML 算法工程师面试指南, 它提供了完整的面试知识点, 编程题及题解, 各科技公司的面试题锦等内容. 目前该 GitHub 项目已经有 1 万 + 的收藏量, 想要跳一跳的同学快来试试吧.
项目地址:
如下所示为整个项目的结构, 其中从机器学习到数学主要提供的是笔记与面试知识点, 读者可回顾整体的知识架构. 后面从算法到笔试面经主要提供的是问题及解答方案, 根据它们可以提升整体的解题水平与编程技巧.
面试知识点
面试题多种多样, 但机器学习知识就那么多, 那么为了春招或春季跳槽, 何不过一遍 ML 核心知识点? 在这个 GitHub 项目中, 作者前一部分主要介绍了机器学习及各子领域的知识点. 其中每一个知识点都只提供最核心的概念, 如果读者遇到不熟悉的算法或者遇到知识漏洞, 可以进一步阅读相关文献.
项目主要从机器学习, 深度学习, 自然语言处理和数学等方面提供详细的知识点, 因为作者比较关注 NLP, 所以并没有提供详细的计算机视觉笔记.
机器学习
首先对于机器学习, 项目主要从基础概念, 基本实践, 基本算法和集成学习专题这四个方面概括 ML 的总体情况. 其中基础概念可能是最基本的面试问题, 例如「偏差方差怎么权衡?」,「生成模型和判别模型的差别是什么?」,「先验和后验概率都是什么, 它们能转换吗?」.
这些知识点一般是入门者都需要了解的, 而对于 ML 基本实践, 主要会从如何做好传统 ML 开发流程的角度提问. 例如「你如何选择超参数, 能介绍一些超参数的基本搜索方法吗?」,「混淆矩阵, 准确率, 精确率, 召回率或 F1 值都是什么, 如何使用它们度量模型的好坏?」,「你能介绍数据清洗和数据预处理的主要流程吗, 举个例子?」.
这些问题都能在前两部分的知识点中找到答案. 后一部分的基本算法就非常多了, 从最简单的 Logistic 回归到复杂的梯度提升树, 这一部分总结了主流的机器学习算法:
信息论
逻辑斯蒂回归
支持向量机
决策树
集成学习
梯度提升决策树 GBDT
随机森林
其中每一种算法都提供了最核心的概念, 例如对于决策树中的 CART 算法, 笔记主要引用了李航《统计学习方法》中的描述:
最后机器学习还有一个关于集成方法的专题. 除了支持向量机, 集成方法相关的问题在 ML 中也比较重要, 因为像 XGboost 和随机森林等方法在传统 ML 中效果应该是顶尖的, 被问到的概率也大得多.
深度学习
深度学习的内容就相对比较多了, 目前也有非常多的笔记或资料, 但是我们可能会感觉深度学习的问题并没有机器学习难. 顶多会让我们手推一个反向传播算法, 不会像手推支持向量机那样让我们从表达式推一下卷积网络. 如果要为深度学习打基础, 其实最好的办法是学习 Ian Goodfellow 的《Deep Learning》, 我们只要阅读这本书的前两部分: 应用数学与机器学习基础; 深度网络: 现代实践. 第三部分因为涉及大量前沿研究的东西, 我们暂时可以不急着学.
该项目主要从以下几个方面介绍深度学习面试知识点:
深度学习基础
深度学习实践
CNN 专题
RNN 专题
优化算法专题
序列建模专题
《Deep Learning》整理
前面 6 个专题都是介绍的笔记, 每一个专题都有非常多的具体内容, 其中序列建模专题还引用了机器之心综述的从循环到卷积, 探索序列建模的奥秘. 如下展示了优化算法专题所包含的内容:
在最后的《Deep Learning》整理中, 项目作者给出了五十多道深度学习问题, 并根据这些问题介绍《Deep Learning》中的知识点. 如下为问题示例, 不同的星号表示问题的难度:
自然语言处理与数学
后面的自然语言处理也是最近在重点更新的, 目前介绍的方面主要有;
自然语言处理基础
NLP 发展趋势
词嵌入专题
句嵌入专题
多模态专题
视觉问答综述
深度理解查询
来源: https://juejin.im/post/5c6fb773f265da2d8763746e