机器学习面试问题笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010412858/article/details/79563404

1, xgboost与GBDT区别(算法到内存)?

  • xgboost在损失函数中加入了正则项以控制模型复杂度。

XGBoost原理:
http://www.nflgift.com/2017/08/01/XGBoost%E7%9A%84%E5%8E%9F%E7%90%86/
https://blog.csdn.net/a819825294/article/details/51206410
http://www.52cs.org/?p=429
xgboost导读和实战.pdf
https://www.zhihu.com/question/41354392/answer/103119723

2, 神经网络有哪些优化算法?
http://blog.csdn.net/u010089444/article/details/76725843

Batch gradient descent,批量梯度下降法: Use all examples in each iteration;
Stochastic gradient descent,随机梯度下降法: Use 1 example in each iteration;
Mini-batch gradient descent,小批量梯度下降法: Use b examples in each iteration.
Momentum:为SGD加动量
Nesterov Momentum:
Adagrad:
RMSprop:
Adam自适应时刻估计方法(Adaptive Moment Estimation)

3、L1范数和L2范数的区别?
https://zhuanlan.zhihu.com/p/28023308
4、激活函数了解哪些?
sigmoid ,ReLU, softmax、tanh
http://blog.csdn.net/u011584941/article/details/71534828
[机器学习]常用激活函数的总结与比较
为什么需要激活函数?
通俗来说,激活函数一般是非线性函数,其作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。
https://mp.weixin.qq.com/s/btrwGjVDdJStmvCx7HkKKg

5、损失函数如何去选择?
https://datascience.stackexchange.com/questions/9850/neural-networks-which-cost-function-to-use
6、概率论:均匀分布如何转变为高斯分布?
http://sofasofa.io/forum_main_post.php?postid=1001242
高斯分布生成均匀分布:http://blog.csdn.net/acceptyly/article/details/47857353
7、欠拟合与过拟合的概念及应对办法?

8、线性回归与逻辑回归区别?
线性回归是拟合,用于预测;逻辑回归是分类
9、k-means 聚类的原理以及缺点及对应的改进;

10、集成学习的方法?
集成方法:可以是不同算法的集成,也可以是同一算法在不同设置下的集成,还可以是数据集不同部分分配给不同分类器之后的集成。


11、特征选择的方法?

12、正则项为什么可以防止过拟合?
这个问题可以用奥卡姆剃刀(Occam’s Razor)来解释。奥卡姆剃刀的思想是,如果两个模型都能拟合数据,那么我们优先选择简单的模型。
正则化给神经网络带来的影响是:权值 (绝对值) 会更小。权值小的好处是,当输入发生微小的变化时,网络的结果不会发生大的波动,相反地,如果权值 (绝对值) 过大,那么一点点变化也会产生很大的响应(包括噪声)。从这一点来看,我们可以认为正则化的网络是比较简单的模型。

13、Dropout为什么可以防止过拟合?
dropout 的思想可以这么理解:假设我们按照标准模式 (没有 dropout) 训练很多相同结构的网络,由于每个网络的初始化不同,训练时的批训练数据也会存在差异,因此每个网络的输出都会存在差别。最后我们取所有网络的结果的均值作为最终结果(类似随机森林的投票机制)。例如,我们训练了 5 个网络,有 3 个网络将数字分类为「3」,那么我们就可以认为结果是「3」,因为另外两个网络可能出错了。这种平均的策略很强大,因为不同的网络可能在不同程度上出现了过拟合,而平均取值可以缓解一定程度的过拟合现象。dropout 每次训练时会 drop 一些神经元,这就像在训练不同的网络,dropout 的过程就像在平均很多网络的结果,因此最终起到减小 overfitfing 的作用。

14、Bagging与Boosting

15、梯度下降与极大似然法

16、机器学习 生成式与判别式 模型
判别式模型:根据训练数据得到分类函数和分界面(LR,SVM)
生成式模型:对数据的分布进行建模,有多少个类别,我们就建立多少个模型

17、伯努利分布:
(Bernoulli distribution,又名两点分布或者0-1分布)随机变量只取0或者1,各自的频率分别取1−p和p,当x=0或者x=1时,数学定义为: p ( x ) = p x ( 1 p ) 1 x

18、BP神经网络原理
分为前向传播反向传播。前向传播是信息、权重、偏置的线性变换与激活函数的非线性变换的多次叠加;反向传播是不断地对权重求偏导数,然后不断地用梯度下降更新每一个节点的权重。梯度下降法可由泰勒一阶展开推导得出,多次迭代可以收敛到局部最优解处。

18、梯度爆炸,梯度消失是什么,怎么解决
在ReLU出现以前,在DNN中使用tanh或者sigmoid函数会产生这些问题。梯度爆炸是因为在反向传播中,多层网络的权重值一直在0附近,而sigmoid在0附近的梯度很大,多次叠加会造成梯度爆炸,但这种情形在实际应用中并不常见。常见的情形是梯度消失,是在反向传播中,多层网络权值分布在sigmoid函数的两侧,而这两侧的梯度都非常接近0,多次叠加会产生0梯度,使得梯度消失,梯度下降无法更新权重。这两个问题主要可通过更换激活函数解决,ReLU在很大程度上可以解决这两个问题。也有研究表明batch normalization 可以缓解梯度消失问题。

为什么相比于RNN,LSTM在梯度消失上表现更好?

18.1、梯度消失问题和损失函数有关吗?

19、线性最小二乘法
让一条直线尽可能地去拟合样本点,实际中虽然不存在一条穿过所有样本点的直线,但是能近似表示样本的分布趋势也是有意义的(让这条直线在所有数据点中间穿过,而这些点到这条直线的误差之和越小越好)

20、导数与偏导的概念
导数就是求变化率。偏导数则是当变量超过一个的时候,对其中一个变量求变化率。

21、拉格朗日乘子法

22、如何判断函数凸或非凸?
https://blog.csdn.net/xmu_jupiter/article/details/47400411

23、EM算法与Kmeans

24、Dropout为什么能防止过拟合?

25、Batch Normalization有什么好处?

26、反向传播的算数题,要求算出结果并解释

27、SVM能不能梯度下降求解呢

一文搞定数据科学和机器学习的最常见面试题(附学习资料)

面试了8家公司,他们问了我这些机器学习题目……

【数据】数据科学面试问题集二

数据科学面试问题一


5.22:
FM、FFM你了解吗?
https://www.cnblogs.com/yaoyaohust/p/7865379.html

Softmax推导?

WordEmbedding你了解吗?
https://www.jianshu.com/p/0bb00eed9c63

收藏 | 超全数据科学与机器学习面试指南(附资源)

【深度学习面试问答集】《Deep Learning Interview Questions And Answers - YouTube》https://weibo.com/1402400261/Gtc21dIR1?type=repost#_rnd1533521659117

猜你喜欢

转载自blog.csdn.net/u010412858/article/details/79563404