BAT机器学习面试1000题(396~400题)

2018 年 8 月 31 日 七月在线实验室

点击上方蓝字关注




BAT机器学习面试1000题(396~400题)


396题

请说说常用核函数及核函数的条件


点击下方空白区域查看答案

解析:

我们通常说的核函数指的是正定和函数,其充要条件是对于任意的x属于X,要求K对应的Gram矩阵要是半正定矩阵。RBF核径向基,这类函数取值依赖于特定点间的距离,所以拉普拉斯核其实也是径向基核。SVM关键是选取核函数的类型,常用核函数主要有线性内核,多项式内核,径向基内核(RBF),sigmoid核。


 线性核函数

线性核,主要用于线性可分的情况,我们可以看到特征空间到输入空间的维度是一样的,其参数少速度快,对于线性可分数据,其分类效果很理想,因此我们通常首先尝试用线性核函数来做分类,看看效果如何,如果不行再换别的


多项式核函数

多项式核函数可以实现将低维的输入空间映射到高纬的特征空间,但是多项式核函数的参数多,当多项式的阶数比较高的时候,核矩阵的元素值将趋于无穷大或者无穷小,计算复杂度会大到无法计算。 


 高斯(RBF)核函数

高斯径向基函数是一种局部性强的核函数,其可以将一个样本映射到一个更高维的空间内,该核函数是应用最广的一个,无论大样本还是小样本都有比较好的性能,而且其相对于多项式核函数参数要少,因此大多数情况下在不知道用什么核函数的时候,优先使用高斯核函数。 


sigmoid核函数

采用sigmoid核函数,支持向量机实现的就是一种多层神经网络。 


因此,在选用核函数的时候,如果我们对我们的数据有一定的先验知识,就利用先验来选择符合数据分布的核函数;如果不知道的话,通常使用交叉验证的方法,来试用不同的核函数,误差最下的即为效果最好的核函数,或者也可以将多个核函数结合起来,形成混合核函数。


 在吴恩达的课上,也曾经给出过一系列的选择核函数的方法: 

如果特征的数量大到和样本数量差不多,则选用LR或者线性核的SVM; 

如果特征的数量小,样本的数量正常,则选用SVM+高斯核函数;

 如果特征的数量小,而样本的数量很大,则需要手工添加一些特征从而变成第一种情况。




397题

请具体说说Boosting和Bagging的区别


点击下方空白区域查看答案

解析:

(1) Bagging之随机森林   

随机森林改变了决策树容易过拟合的问题,这主要是由两个操作所优化的: 

1)Boostrap从袋内有放回的抽取样本值 

2)每次随机抽取一定数量的特征(通常为sqr(n))。   


分类问题:采用Bagging投票的方式选择类别频次最高的   

回归问题:直接取每颗树结果的平均值。 

常见参数误差分析优点缺点 

1、树最大深度 

2、树的个数  

3、节点上的最小样本数 

4、特征数(sqr(n))oob(out-of-bag)将各个树的未采样样本作为预测样本统计误差作为误分率可以并行计算不需要特征选择可以总结出特征重要性可以处理缺失数据不需要额外设计测试集在回归上不能输出连续结果

(2)Boosting之AdaBoost    

Boosting的本质实际上是一个加法模型,通过改变训练样本权重学习多个分类器并进行一些线性组合。而Adaboost就是加法模型+指数损失函数+前项分布算法。Adaboost就是从弱分类器出发反复训练,在其中不断调整数据权重或者是概率分布,同时提高前一轮被弱分类器误分的样本的权值。最后用分类器进行投票表决(但是分类器的重要性不同)。 


 (3)Boosting之GBDT     

将基分类器变成二叉树,回归用二叉回归树,分类用二叉分类树。和上面的Adaboost相比,回归树的损失函数为平方损失,同样可以用指数损失函数定义分类问题。但是对于一般损失函数怎么计算呢?GBDT(梯度提升决策树)是为了解决一般损失函数的优化问题,方法是用损失函数的负梯度在当前模型的值来模拟回归问题中残差的近似值。   

注:由于GBDT很容易出现过拟合的问题,所以推荐的GBDT深度不要超过6,而随机森林可以在15以上。


(4)Boosting之Xgboost  

这个工具主要有以下几个特点: 

支持线性分类器 

可以自定义损失函数,并且可以用二阶偏导 

加入了正则化项:叶节点数、每个叶节点输出score的L2-norm 

支持特征抽样 

在一定情况下支持并行,只有在建树的阶段才会用到,每个节点可以并行的寻找分裂特征。





398题

逻辑回归相关问题


点击下方空白区域查看答案

解析:

(1)公式推导一定要会 


 (2)逻辑回归的基本概念    

这个最好从广义线性模型的角度分析,逻辑回归是假设y服从Bernoulli分布。

 

 (3)L1-norm和L2-norm   

其实稀疏的根本还是在于L0-norm也就是直接统计参数不为0的个数作为规则项,但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布,我们在网上看到的通常用图像来解答这个问题的原理就在这。   

但是L1-norm的求解比较困难,可以用坐标轴下降法或是最小角回归法求解。


(4)LR和SVM对比  

 首先,LR和SVM最大的区别在于损失函数的选择,LR的损失函数为Log损失(或者说是逻辑损失都可以)、而SVM的损失函数为hinge loss。    

其次,两者都是线性模型。   

最后,SVM只考虑支持向量(也就是和分类相关的少数点) 


 (5)LR和随机森林区别   

随机森林等树算法都是非线性的,而LR是线性的。LR更侧重全局优化,而树模型主要是局部的优化。 


 (6)常用的优化方法   

逻辑回归本身是可以用公式求解的,但是因为需要求逆的复杂度太高,所以才引入了梯度下降算法。   


一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。


二阶方法:牛顿法、拟牛顿法:   


这里详细说一下牛顿法的基本原理和牛顿法的应用方式。牛顿法其实就是通过切线与x轴的交点不断更新切线的位置,直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优化问题,也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法。实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。我们常常看到的x通常为一个多维向量,这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。   

 缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降,严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。    


 拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。





399题

什么是共线性, 跟过拟合有什么关联?


点击下方空白区域查看答案

解析:

共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。共线性会造成冗余,导致过拟合。解决方法:排除变量的相关性/加入权重正则。 

本题解析来源:@抽象猴,链接:https://www.zhihu.com/question/41233373/answer/145404190





400题

用贝叶斯机率说明Dropout的原理


点击下方空白区域查看答案


解析:

回想一下使用Bagging学习,我们定义 k 个不同的模型,从训练集有替换采样 构造 k 个不同的数据集,然后在训练集上训练模型 i。 


Dropout的目标是在指数 级数量的神经网络上近似这个过程。Dropout训练与Bagging训练不太一样。在Bagging的情况下,所有模型是独立 的。 


在Dropout的情况下,模型是共享参数的,其中每个模型继承的父神经网络参 数的不同子集。参数共享使得在有限可用的内存下代表指数数量的模型变得可能。 在Bagging的情况下,每一个模型在其相应训练集上训练到收敛。


 在Dropout的情况下,通常大部分模型都没有显式地被训练,通常该模型很大,以致到宇宙毁灭都不 能采样所有可能的子网络。取而代之的是,可能的子网络的一小部分训练单个步骤,参数共享导致剩余的子网络能有好的参数设定。http://bi.dataguru.cn/article-10459-1.html





题目来源:七月在线官网(https://www.julyedu.com/)——面试题库——面试大题——机器学习



分享一哈

分享完机器学习面试题

再和大家分享一哈

我们的

计算机视觉第二期

正在火热报名中喔

还没报名的小伙伴们

抓紧时间喽

2人及2人以上组团

立减100元

想组团者可以添加客服:

julyedukefu_02

让客服帮忙组团享受优惠喔

点击下方“阅读原文

可在线报名



 更多资讯

 请戳一戳

往期推荐

机器学习中4种常见的防止过拟合方法,你都知道哪些?(文末有惊喜)

一图了解整个机器学习的核心知识体系(建议收藏)

kaggle大杀器之十大深度学习技巧,你了解多少?

数学不好,怎么办?这6大数学技能,AI “必备”

深度学习难吗?如果你连这25个概念都不知道,当然难!

这10道题会做,年薪百万木问题

45万AI面经 |  面试offer拿不停,人称“offer收割机”

【干货合集】关于支持向量机(SVM)的原理,你了解多少?(万字长文 速收)

点击“阅读原文”,可在线报名

登录查看更多
0

相关内容

【伯克利】再思考 Transformer中的Batch Normalization
专知会员服务
41+阅读 · 2020年3月21日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
130+阅读 · 2020年3月15日
机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
359+阅读 · 2020年2月15日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
192+阅读 · 2019年12月28日
专知会员服务
118+阅读 · 2019年12月24日
【机器学习课程】Google机器学习速成课程
专知会员服务
168+阅读 · 2019年12月2日
【斯坦福&Google】面向机器人的机器学习,63页PPT
专知会员服务
26+阅读 · 2019年11月19日
BAT机器学习面试1000题(721~725题)
七月在线实验室
11+阅读 · 2018年12月18日
BAT机器学习面试1000题(716~720题)
七月在线实验室
19+阅读 · 2018年12月17日
BAT机器学习面试题1000题(376~380题)
七月在线实验室
9+阅读 · 2018年8月27日
BAT机器学习面试题1000题(316~320题)
七月在线实验室
14+阅读 · 2018年1月18日
BAT机器学习面试题及解析(266-270题)
七月在线实验室
6+阅读 · 2017年12月13日
BAT题库 | 机器学习面试1000题系列(第211~215题)
七月在线实验室
9+阅读 · 2017年11月22日
BAT题库 | 机器学习面试1000题系列(第196~200题)
七月在线实验室
17+阅读 · 2017年11月16日
BAT机器学习面试1000题系列(第116~120题)
七月在线实验室
16+阅读 · 2017年10月24日
BAT机器学习面试1000题系列(第76~80题)
七月在线实验室
5+阅读 · 2017年10月13日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
Arxiv
18+阅读 · 2019年1月16日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Neural Arithmetic Logic Units
Arxiv
5+阅读 · 2018年8月1日
Arxiv
6+阅读 · 2018年4月24日
VIP会员
相关VIP内容
【伯克利】再思考 Transformer中的Batch Normalization
专知会员服务
41+阅读 · 2020年3月21日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
130+阅读 · 2020年3月15日
机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
359+阅读 · 2020年2月15日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
192+阅读 · 2019年12月28日
专知会员服务
118+阅读 · 2019年12月24日
【机器学习课程】Google机器学习速成课程
专知会员服务
168+阅读 · 2019年12月2日
【斯坦福&Google】面向机器人的机器学习,63页PPT
专知会员服务
26+阅读 · 2019年11月19日
相关资讯
BAT机器学习面试1000题(721~725题)
七月在线实验室
11+阅读 · 2018年12月18日
BAT机器学习面试1000题(716~720题)
七月在线实验室
19+阅读 · 2018年12月17日
BAT机器学习面试题1000题(376~380题)
七月在线实验室
9+阅读 · 2018年8月27日
BAT机器学习面试题1000题(316~320题)
七月在线实验室
14+阅读 · 2018年1月18日
BAT机器学习面试题及解析(266-270题)
七月在线实验室
6+阅读 · 2017年12月13日
BAT题库 | 机器学习面试1000题系列(第211~215题)
七月在线实验室
9+阅读 · 2017年11月22日
BAT题库 | 机器学习面试1000题系列(第196~200题)
七月在线实验室
17+阅读 · 2017年11月16日
BAT机器学习面试1000题系列(第116~120题)
七月在线实验室
16+阅读 · 2017年10月24日
BAT机器学习面试1000题系列(第76~80题)
七月在线实验室
5+阅读 · 2017年10月13日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
相关论文
Top
微信扫码咨询专知VIP会员