机器学习算法工程师校招笔试题-大疆-2019

大疆机器学习算法工程师2019校招笔试题

——201986日星期二
根据多方搜索回忆汇总,侵删。
一、单选题(5道,15分)


1.1 其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题

A. 增加训练集量

B. 减少神经网络隐藏层节点数

C. SVM算法中使用高斯核/RBF核代替线性核

D. 删除稀疏的特征

答案选择:C

分析:

过拟合的根本原因特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。过度的拟合了训练数据,而没有考虑到泛化能力。

减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂
(1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation)
(2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力;
(3)dropout
(4)正则化,在训练的时候限制权值变大
(5)限制训练时间(提前停止);通过评估测试;
(6)增加噪声 Noise: 输入时+权重上(高斯初始化) ;

(7)Batch Normalization

(8)结合多种模型: Bagging用不同的模型拟合不同部分的训练集;Boosting只使用简单的神经网络;

参考链接:


1.2 对于输入维度为[N, H, W, C]的Tensor, Batch Normalization在哪个(些)维度上做归一化?

A. N, W      B. N      C. N, C      D. N, H

答案选择:B

分析:

Batch Normalization网络层前向传导过程公式:


参考链接:


1.3 以下关于牛顿法描述错误的是()

A. 牛顿法使用一个二次曲面去拟合当前所处位置的局部曲面

B. 牛顿法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根

C. 牛顿法是一种迭代算法,求解过程中需要计算目标函数的Hessian矩阵的逆矩阵

D. 牛顿法是一种常见的解决带约束最优化问题的方法

答案选择:D

分析:

1)引自Wiki:“从几何上说,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径”。

(2)牛顿法解决的是无约束最优化问题。

参考链接:

1常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)


二、多选题(5道,20分)

2.1 下列哪些优化算法具有自适应性?

A. RMSProp      B. Momentum      C. AdaGrad      D. SGD

答案选择:AC

分析:详细解答查看问答题3.3

2.2 关于偏差和方差,下列说法正确的是()

A. 泛化误差=方差+偏差+噪声

B. 当训练样本数量趋于无穷大时,在该数据集上训练的模型变化趋势是偏差变小

C. bagging降低偏差,boosting降低方差

D. bagging降低方差,boosting降低偏差

答案选择:AD

分析:

1经验误差(训练误差)与泛化误差

2-1)当模型欠拟合的时候,我们发现增大训练集,偏差无法降低,无法解决欠拟合问题;(2-2)当模型过拟合的时候,我们发现增大训练集,方差减小,可以解决过拟合问题;

3Bagging通过样本随机划分训练多个模型,然后融合,从而提高模型的泛化能力,也就是降低方差;

4Boosting则是通过增加错误样本的权重来提高模型的拟合能力,也就是减低偏差。

参考链接:

1经验误差与泛化误差、偏差与方差、欠拟合与过拟合、交叉验证


三、问答题(3道,30分)

3.1 BatchNormalization的原理和作用?给出BN的公式。

参考链接:

1深度学习中的Normalization模型


3.2 ROC曲线的横纵坐标轴是什么?ROC曲线和AUC的含义是什么?


参考链接:

1机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率


3.3 优化算法SGDMomentumAdaGradRMSPropAdam的特点是什么?

参考链接

1) SGD Adam —— 6大常见优化算法总结

2) 优化方法总结:SGDMomentumAdaGradRMSPropAdam

3) 一文简述深度学习优化方法——梯度下降

4) 深度学习最全优化方法总结比较(SGDAdagradAdadeltaAdamAdamaxNadam

5) SGD Adam —— 深度学习优化算法概览()


四、编程题(2道,30分)

4.1 输入常数NM,构造含有N个字符AM个字符B的字符串(保证能够构造成功),并且字串中不能有连续3个字符相同,输出任意满足要求的字符串形式即可。

解题思路:

1)找出NM中的最小值。假设为M,也就是字符B的数量num(B)最少;

2)根据(1)及题意可以推断:num(A)3*num(B),要不然无法构造成功;

3)然后根据最小值(M)的数量,依次进行填充,每个B后面跟两个A

4.2 输入一个数字,对数字各个位数进行重组(0不能在首位),使得重组之后的数可以被2整除,若能满足该要求则输出true,否则输出false

解题思路:

1)将数字各个位的取值存为列表元素,

2)若列表长度为1且包含0,则输出false

3)否则,判断是否有偶数(包括0)存在,若有,则输出true;若无,则输出false

五、其他

1大疆2019校招提前批机器学习算法工程师在线笔试题目回忆版

22018 年大疆机器学习算法工程师春季提前批笔试题

#大疆##算法工程师##笔试题目##笔经#
全部评论
请问笔试时间是多长
点赞 回复 分享
发布于 2020-08-03 20:49

相关推荐

重生2012之我是java程序员:换个稍微正式点的照片吧
点赞 评论 收藏
分享
20 93 评论
分享
牛客网
牛客企业服务