昨晚参加了大疆的网申笔试,本人申请的岗位是机器学习算法工程师。抱着试一试的心态,去看看题型,没想到最后真的是就只看了看题型,尴尬。现记录如下,权当学习。
一、单选
1. SVM & Logistic算法
2. 稠密矩阵计算顺序的效率
3. 特征数据归一化
4. 神经网络中激活函数的特征及选择
5. Adagrad &L-BFGS
二、多选
1. Logistic Regression 同时加入L1, L2范数,会怎样?
2. PCA
3. SVM, 决策树,聚类分析
4. 平衡数据集与非平衡数据集,在评价时的指标选择。
(准确率,精确率,召回率。其实就是在考察F1指标。)
5. 神经网络中的梯度爆炸问题。
三、填空题
1. 第一个是一个关于CNN的题目。给了一个200*200的图片,问经过一个卷积层和一个池化层,再经过一个卷积层之后,图像大小是多少。这个懂CNN的基本都能算出来,注意每层的stride。
2. 第二个是一个矩阵问题。目标变量在训练集上的8个实际值[0,0,0,1,1,1,1,1],目标变量的熵是______?
四、简答题
1. 在图像处理中,data augmentation(数据增强。话说,当时都不知道这个单词啥意思,尴尬脸。)方式有哪些?
一些常见方法,如裁剪/缩放/彩色变换/翻转等。
random crop, random mirror, random resize
2. BP公式推导
(这个感觉真的是最基本的了,可我就是没写上来。还是得把基础打扎实了。)
3. 归一化的作用?有哪些方法?
4. 请写出LeakyReLU激活函数的公式,并阐述其相对于Sigmoid的优缺点。
(这里就考察到了CNN的东西了)
5. 请阐述Adagrad优化方法的优点和缺点
五、编程题
1. 对n个数列,a[0], a[1], a[2], ... , a[n-1], n>4. 存在i<j<p<q, 使得a[j]-a[i]+a[q]-a[p]的值最大,求此最大值,并指出算法复杂度。
2. 对n个数列,求一个数k,使得前k个数的方差,与后面n-k个数的方差的和最小。n不超过100000. 并指出算法复杂度。
(我看到编程题基本是懵的状态,逻辑思维差点,没有头绪,不知从何下手)
答完之后的总结就是,把基础打扎实,不论是机器学习算法还是程序,都从基础来吧。加油!