1、编程语言
2、基本算法
3、传统的机器学习算法
4、常见机器学习问题
过拟合问题、交叉验证问题、模型融合、模型选择问题
1) 几种模型( SVM,LR,GBDT,EM )的原理以及公式推导;
2) RF,GBDT 的区别; GBDT,XgBoost的区别;
3) 决策树处理连续值的方法;
4) 特征选择的方法;
5) 过拟合的解决方法;
6) K-means 的原理,优缺点以及改进;
7) 常见分类模型( SVM ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型;
8) SVM 为啥要引入拉格朗日的优化方法;
9) 假设面试官什么都不懂,详细解释 CNN 的原理;
10) 梯度下降的优缺点
11) EM与K-means的关系;
12) L1与L2的作用,区别以及如何解决L1求导困难;
13) 如何用尽可能少的样本训练模型同时又保证模型的性能;
14) ID3和C4.5的优缺点,树的融合(RF和GBDT)
15) 特征提取方法,如何判断特征是否重要
16) BP神经网络以及推导
17) HMM模型状态推导
18) 过拟合原因以及解决办法(深度学习同)
19) 常见损失函数
20)机器学习性能评价,准确率,召回率,ROC
22)降采样,PCA,LDA
5、深度学习问题
1)四种激活函数区别和作用
2)过拟合解决方法
3)(CNN)卷及神经网络各层作用
4)(RNN)循环神经网络
5)LSTM
6)梯度弥散
7)优化算法 adam,SGD等
8)分析Alexnet,VGG的网络结构以及各层作用
9)XgBoost(好像很多公司也面到了)
10)梯度下降的优化
12)卷积核参数计算
13)TensorFlow中的session是什么,session和interactivesession的区别
一、机器学习基本掌握技能
1、数据结构知识
2、掌握常用算法或某一细分领域(推荐、自然语言处理、图像识别、语音识别)
二、笔试和面试内容
1、技术面试计算机基础知识,概率统计、智力题、linux或编程算法题目
主要是数据结构包括数组,增删链表,树,排序算法等。也可能会有数据库基本语句,操作系统进程和 线程相关的,计算机网络的TCP/IP协议部分。
2、算法能力:
给出一个场景,回答使用什么算法去建模解决。
2、面试问题:
1、机器学习常用算法,例如:
决策树的ID3,C4.5,CART等,决策树的split原理和剪枝策略
神经网络如何工作
SVM的原理及公式推导
朴素贝叶斯的公式
Bagging 和 Boosting的区别
GBDT的参数怎么调
聚类过程
偏差和方差是什么,高偏差和高方差说明了什么
怎么理解损失函数,SVM的损失函数是什么,写出公式
过拟合怎么解决,L1和L2正则化有什么区别
为什么用最小二乘而不是最小四乘
GB和牛顿法的区别,它们和泰勒公式的关系
2、数据结构算法知识,手写代码:
最大子数组和、快速排序、字典排序
3、特征工程
4、pca原理
5、编程能力考察编程的相关知识,编程语言一门即可
static的作用,hashmap,arraylist和linklist的区别,多线程
实现strstr(判断一个字符串是否是另一个的子串)
8、大数据开发能力
大数据开发能力:Hadoop/Hive/Map Reduce开发,例如Map Reduce 写 word count
9、深度学习知识
1、深度学习框架
2、cnn:什么是卷积,为什么要使用padding
10、Udacity的机器学习项目P0和P1
P0(泰坦尼克号项目):预测这个有啥用?召回率是多少?(题目中并没有算)
P1(预测波士顿房价):特征都是离散的,为什么用决策树?