机器学习常见面试知识点整理

最近在整理知识要点,正好看到有许多关于面试知识点的文章,集百家之所长、取其精华去其糟粕,本文将汇总一些收集的资料并给予出处。

本文将分 机器学习 、 深度学习 和 基本素养 三大板块进行阐述。

注:本文属于入门级知识要点,掌握对应的知识点就相当于对该领域入门

0x01 机器学习

1、Classification / Regression 常见的算法原理与推导,如 SVM 、 NN 、Trees & ensemble methods,其中 SVM 是重中之重。

2、Clustering 常见算法与用途,如 K-means/median/medoids 、DBSCAN 、Spectral clustering 等。

3、Bias 和 Variance 的含义,并结合 Ensemble Method 分析哪种算法降低 Bias,哪种算法降低 Variance

4、LR 与 SVM 的区别与联系

5、GBDT 与 Adaboost 的区别与联系,并理解原理

6、PCA 与 LDA 的区别与联系,并学会推导

7、白化的原理与作用

8、给定一个常见算法,如 LR ,询问该算法 model、evaluate、optimization 分别是什么

其中,LR 和 SVM 都要会手推,面试遇到的几率较大

入门书籍推荐

Introduction to Data Mining (Pang-Ning Tan, Michael Steinbach, Vipin Kumar)

进阶书籍推荐

The Elements of Statistical Learning (Trevor Hastie, Robert Tibshirani , Jerome Friedman)

0x02 深度学习

1、Back Propagation 原理及推导,尤其是可以手推

2、梯度消失、爆炸的原因以及解决办法

3、常见激活函数的应用场景及优劣

4、常见优化函数的原理的区别与联系,SGD 、Momentum 、RmsProp 、Adam

5、Batch Normalization 的原理,以及和白化的联系

6、防止过拟合的方法

7、DNN 、CNN 、RNN 的区别与联系

8、Batch Size 对于训练以及收敛的影响

9、训练参数初始化对训练以及收敛的影响

进阶知识点

那些深度学习《面试》你可能需要知道的

答:那些深度学习《面试》你可能需要知道的

0x03 基本素养

1、基本的 Coding 能力,可以熟练运用 Python / R / Matlab 其中之一的语言

2、基本了解常见深度学习框架,如 PyTorch / Keras / MXNet / Caffee2 / TensorFlow ,并选一框架熟练掌握

3、基本了解常见机器学习支持库,如 xgBoost / sklearn ,并有一定的使用经历

4、基本了解数据清洗、特征处理、特征选择的常见做法

5、基本了解常见算法及其思想,如 排序、分治、递归、贪心、DP 、DFS 、BFS 等

6、(进阶)熟练使用 Jupyter Notebook

0x04 Reference

如果你是面试官,你怎么去判断一个面试者的深度学习水平?

收藏 | Data Scientist 常见面试问题总结

使用 Hugo 构建
主题 Stack 由 Jimmy 设计