机器学习常见面试题与参考答案总结
1、L1范式和L2方式的区别
(1)L1范式是对应参数向量绝对值之和
(2)L1范式具有稀疏性
(3)L1范式可以用来作为特征选择,并且可解释性较强(这里的原理是在实际Loss function中都需要求最小值,根据L1的定义可知L1最小值只有0,故可以通过这种方式来进行特征选择)
(4)L2范式是对应参数向量的平方和,再求平方根
(5)L2范式是为了防止机器学习的过拟合,提升模型的泛化能力
2、优化算法及其优缺点
温馨提示:在回答面试官的问题的时候,往往将问题往大的方面去回答,这样不会陷于小的技术上死磕,最后很容易把自己嗑死了。
(1)随即梯度下降
优点:可以一定程度上解决局部最优解的问题
缺点:收敛速度较慢
(2)批量梯度下降
优点:容易陷入局部最优解
缺点:收敛速度较快
(3)mini_batch梯度下降
综合随即梯度下降和批量梯度下降的优缺点,提取的一个中和的方法。
(4)牛顿法
牛顿法在迭代的时候,需要计算Hessian矩阵,当维度较高的时候,计算Hessian矩阵比较困难。
(5)拟牛顿法
拟牛顿法是为了改进牛顿法在迭代过程中,计算Hessian矩阵而提取的算法,它采用的方式是通过逼近Hessian的方式来进行求解。
(6)共轭梯度
(7)启发式的优化算法
启发式的优化算法有遗传算法,粒子群算法等。这类算法的主要思想就是设定一个目标函数,每次迭代根据相应的策略优化种群。直到满足什么样的条件为止。
3、RF与GBDT之间的区别
(1)相同点
- 都是由多棵树组成
- 最终的结果都是由多棵树一起决定
(2)不同点
- 组成随机森林的树可以分类树也可以是回归树,而GBDT只由回归树组成
- 组成随机森林的树可以并行生成,而GBDT是串行生成
- 随机森林的结果是多数表决表决的,而GBDT则是多棵树累加之和
- 随机森林对异常值不敏感,而GBDT对异常值比较敏感
- 随机森林是通过减少模型的方差来提高性能,而GBDT是减少模型的偏差来提高性能的
- 随机森林不需要进行数据预处理,即特征归一化。而GBDT则需要进行特征归一化
(3)RF:
优点:
- 易于理解,易于可视化
- 不需要太多的数据预处理,即数据归一化
- 不易过拟合
- 易于并行化
缺点:
- 不适合小样本数据,只适合大样本数据
- 大多数情况下,RF的精度低于GBDT
- 适合决策边界的是矩阵,不适合对角线型
(4)GBDT
优点:
- 精度高
缺点:
- 参数较多,容易过拟合
- 不易并行化
4、SVM的模型的推导
5、SVM与树模型之间的区别
(1)SVM
- SVM是通过核函数将样本映射到高纬空间,再通过线性的SVM方式求解分界面进行分类。
- 对缺失值比较敏感
- 可以解决高纬度的问题
- 可以避免局部极小值的问题
- 可以解决小样本机器学习的问题
(2)树模型
- 可以解决大样本的问题
- 易于理解和解释
- 会陷入局部最优解
- 易过拟合
6、梯度消失和梯度膨胀
(1)梯度消失:
- 根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0
- 可以采用ReLU激活函数有效的解决梯度消失的情况
(2)梯度膨胀
- 根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都大于1的话,在经过足够多层传播之后,误差对输入层的偏导会趋于无穷大
- 可以通过激活函数来解决
7、LR的原理和Loss的推导
相关文章
AI 人才就业报告:机器学习工程师年薪 98 万,但 AI 就业增幅正在下降
这篇文章主要介绍了机器学习工程师年薪 98 万,但 AI 就业增幅正在下降!通过大量数据统计形式给出了最新的AI 人才就业报告,指出了当前AI就业的增长趋势与相关薪资待遇问题2019-08-06- 这篇文章主要介绍了Android面试中的常见知识点,整理汇总了Android面试中常见的各种Android开发知识点、概念、原理及相关注意事项,需要的朋友可以参考下2019-08-13
史上最全的Java面试题总汇(不再惧怕面试官,成功坐等offer)
这篇文章主要介绍了史上最全的Java面试题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-08-07- 这篇文章主要介绍了华为16道经典面试题与参考思路,总结分析了华为面试中遇到的经典问题,并提供了相应的解答思路供读者参考,需要的朋友可以参考下2019-08-01
- 这篇文章主要介绍了2019 PHP面试题与常用技巧,总结分析了php常用知识点、注意事项与开发建议等,需要的朋友可以参考下2019-06-27
- Python是目前编程领域最受欢迎的语言。在本文中,我将总结Python面试中最常见的50个问题。每道题都提供参考答案,感兴趣的可以了解下2019-06-26
- 这篇文章主要为大家介绍了Python常见的面试题与相应的Python知识点,包括Python变量、函数、对象、数据类型等,需要的朋友可以参考下2019-06-25
- 之前过了几个简单的简历面,所以总结了几套面试的试题供大家分享。小编觉得挺不错的,也给大家做个参考。一起跟随小编过来看看吧2019-04-25
- 这篇文章主要介绍了春招面试,看这110道Python面试题就够了,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-04-15
- 很多人去面试之前都很做足准备,下面就分享一次,从面试中,其实可以看得出来现在的公司对于面试者的知识体系要求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-04-09
最新评论