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

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

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

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

0x01 机器学习

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

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

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

4、LRSVM 的区别与联系

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

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

7、白化的原理与作用

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

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

入门书籍推荐

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 常见面试问题总结