原文 :http://www.sykv.com/cat/depth/16164.html
一年一度的校园招聘已经开始了,为了帮助参加校园招聘、社招的同学更好的准备面试,SIGAI 整理出了一些常见的机器学习、深度学习面试题。理解它们,对你通过技术面试非常有帮助,当然,我们不能只限于会做这些题目,最终的目标是真正理解机器学习与深度学习的原理、应用。 可思数据-AI,人工智能,深度学习,机器学习,神经网络
1
比较 Boosting 和 Bagging 的异同 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法。
Bagging:从原始数据集中每一轮有放回地抽取训练集,训练得到 k 个弱学习器,将这 k 个弱学习器以投票的方式得到最终的分类结果。
Boosting:每一轮根据上一轮的分类结果动态调整每个样本在分类器中的权重,训练得到 k 个弱分类器,他们都有各自的权重,通过加权组合的方式得到最终的分类结果。
2 可思数据-人工智能资讯平台
无监督学习中存在过拟合吗?
存在。我们可以使用无监督学习的某些指标或人为地去评估模型性能,以此来判断是否过拟合。 可思数据-数据挖掘,智慧医疗,机器视觉,机器人
3
什么是 k 折交叉验证?
将原始数据集划分为 k 个子集,将其中一个子集作为验证集,其余 k-1 个子集作为训练集,如此训练和验证一轮称为一次交叉验证。交叉验证重复 k 次,每个子集都做一次验证集,得到 k 个模型,加权平均 k 个模型的结果作为评估整体模型的依据。
4
关于 k 折交叉验证,需要注意什么? 可思数据-人工智能资讯平台
k 越大,不一定效果越好,而且越大的 k 会加大训练时间;在选择 k 时,需要考虑最小化数据集之间的方差,比如对于 2 分类任务,采用 2 折交叉验证,即将原始数据集对半分,若此时训练集中都是 A 类别,验证集中都是 B 类别,则交叉验证效果会非常差。
5
对于一个二分类问题,我们定义超过阈值 t 的判定为正例,否则判定为负例。现在若将 t 增大,则准确率和召回率会如何变化?
准确率 = TP / (TP + FP),召回率 = TP / (TP + FN),其中 TP 表示将正例正确分类为正例的数量,FP 表示将负例错误分类为正例的数量,FN 表示将正例错误分类为负例的数量。
准确率可以理解为在所有分类为正例的样品中,分类正确的样本所占比例;召回率可以理解为在所有原始数据集中的正例样品中,正确挑出的正例样本的比例。 可思数据-AI,人工智能,深度学习,机器学习,神经网络
因此若增大阈值 t,更多不确定(分类概率较小)的样本将会被分为负例,剩余确定(分类概率较大)的样本所占比例将会增大(或不变),即正确率会增大(或不变);若增大阈值 t,则可能将部分不确定(分类概率较小)的正例样品误分类为负例,即召回率会减小(或不变)。
6
以下关于神经网络的说法中,正确的是( )?
A. 增加网络层数,总能减小训练集错误率
B. 减小网络层数,总能减小测试集错误率
C. 增加网络层数,可能增加测试集错误率
答案:C。增加神经网络层数,确实可能提高模型的泛化性能,但不能绝对地说更深的网络能带来更小的错误率,还是要根据实际应用来判断,比如会导致过拟合等问题,因此只能选 C。
7 可思数据
说明 Lp 范数间的区别
L1 范数:向量中各个元素绝对值之和
L2 范数:向量中各个元素平方和的开二次方根 本文来自可思数据,转载请联系本站及注明出处
Lp 范数:向量中各个元素绝对值的 p 次方和的开 p 次方根
8
用梯度下降训练神经网络的参数,为什么参数有时会被训练为 nan 值?
输入数据本身存在 nan 值,或者梯度爆炸了(可以降低学习率、或者设置梯度的阈值)
9 可思数据
卷积神经网络 CNN 中池化层有什么作用?
减小图像尺寸即数据降维,缓解过拟合,保持一定程度的旋转和平移不变性。 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
10
请列举几种常见的激活函数。激活函数有什么作用? 本文来自可思数据,转载请联系本站及注明出处
sigmoidrelu,tanh。非线性化
11
神经网络中 Dropout 的作用?具体是怎么实现的?
防止过拟合。每次训练,都对每个神经网络单元,按一定概率临时丢弃。 本文来自可思数据,转载请联系本站及注明出处
12
利用梯度下降法训练神经网络,发现模型 loss 不变,可能有哪些问题?怎么解决? 内容来自可思数据
很有可能是梯度消失了,它表示神经网络迭代更新时,有些权值不更新的现象。改变激活函数,改变权值的初始化等。 本文来自可思数据,转载请联系本站及注明出处
13
如何解决不平衡数据集的分类问题?
可以扩充数据集,对数据重新采样,改变评价指标等。
14 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
残差网络为什么能做到很深层?
神经网络在反向传播过程中要不断地传播梯度,而当网络层数加深时,梯度在逐层传播过程中会逐渐衰减,导致无法对前面网络层的权重进行有效的调整。残差网络中, 加入了 short connections 为梯度带来了一个直接向前面层的传播通道,缓解了梯度的减小问题。
15
相比 sigmoid 激活函数 ReLU 激活函数有什么优势?
(1) 防止梯度消失 (sigmoid 的导数只有在 0 附近的时候有比较好的激活性,在正负饱和区的梯度都接近于 0)
(2) ReLU 的输出具有稀疏性
(3) ReLU 函数简单计算速度快 可思数据-www.sykv.cn,sykv.com
16
卷积神经网络中空洞卷积的作用是什么?
空洞卷积也叫扩张卷积,在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射(feature map)的大小保持不变。一个扩张率为 2 的 3×3 卷积核,感受野与 5×5 的卷积核相同,但参数数量仅为 9 个。
17
解释下卷积神经网络中感受野的概念?
在卷积神经网络中,感受野 (receptive field) 的定义是:卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。
18 本文来自可思数据,转载请联系本站及注明出处
模型欠拟合什么情况下会出现?有什么解决方案? 内容来自可思数据
模型复杂度过低,不能很好的拟合所有的数据
增加模型复杂度,如采用高阶模型(预测)或者引入更多特征(分类)等 内容来自可思数据
19
适用于移动端部署的网络结构都有哪些? 可思数据-www.sykv.cn,sykv.com
Mobilenet(https://arxiv.org/abs/1704.04861)
Shufflenet(https://arxiv.org/abs/1707.01083)
Xception(https://arxiv.org/abs/1610.02357) 可思数据-AI,人工智能,深度学习,机器学习,神经网络
20 可思数据-人工智能资讯平台
卷积神经网络中 im2col 是如何实现的?
使用 im2col 的方法将划窗卷积转为两个大的矩阵相乘,见下图:
21 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
多任务学习中标签缺失如何处理?
一般做法是将缺失的标签设置特殊标志,在计算梯度的时候忽略。
22
梯度爆炸的解决方法?
针对梯度爆炸问题,解决方案是引入 Gradient Clipping(梯度裁剪)。通过 Gradient Clipping,将梯度约束在一个范围内,这样不会使得梯度过大。
23
深度学习模型参数初始化都有哪些方法?
(1)Gaussian 满足 mean=0,std=1 的高斯分布 x∼N(mean,std2)
(2)Xavier 满足 x∼U(−a,+a)x∼U(−a,+a) 的均匀分布, 其中 a = sqrt(3/n) 可思数据
(3)MSRA 满足 x∼N(0,σ2)x∼N(0,σ2) 的高斯分布,其中σ = sqrt(2/n)
(4)Uniform 满足 min=0,max=1 的均匀分布。x∼U(min,max)x∼U(min,max) 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
等等
24
注意力机制在深度学习中的作用是什么?有哪些场景会使用?
深度学习中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标是从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。
目前在神经机器翻译 (Neural Machine Translation)、图像理解(Image caption) 等场景都有广泛应用。
25
卷积神经网络为什么会具有平移等不变性?
MaxPooling 能保证卷积神经网络在一定范围内平移特征能得到同样的激励,具有平移不变形。 可思数据-www.sykv.cn,sykv.com
26
神经网络参数共享 (parameter sharing) 是指什么?
所谓的权值共享就是说,用一个卷积核去卷积一张图,这张图每个位置是被同样数值的卷积核操作的,权重是一样的,也就是参数共享。
27
如何提高小型网络的精度?
(1)模型蒸馏技术 (https://arxiv.org/abs/1503.02531) 本文来自可思数据,转载请联系本站及注明出处
(2)利用 AutoML 进行网络结构的优化,可将网络计算复杂度作为约束条件之一,得到更优的结构。(https://arxiv.org/abs/1807.11626) 可思数据-人工智能资讯平台
28
什么是神经网络的梯度消失问题,为什么会有梯度消失问题?有什么办法能缓解梯度消失问题? 可思数据-www.sykv.cn,sykv.com
在反向传播算法计算每一层的误差项的时候,需要乘以本层激活函数的导数值,如果导数值接近于 0,则多次乘积之后误差项会趋向于 0,而参数的梯度值通过误差项计算,这会导致参数的梯度值接近于 0,无法用梯度下降法来有效的更新参数的值。
改进激活函数,选用更不容易饱和的函数,如 ReLU 函数。
29
列举你所知道的神经网络中使用的损失函数
欧氏距离,交叉熵,对比损失,合页损失
30 可思数据-www.sykv.cn,sykv.com
对于多分类问题,为什么神经网络一般使用交叉熵而不用欧氏距离损失? 可思数据
交叉熵在一般情况下更容易收敛到一个更好的解。
31
1x1 卷积有什么用途?
通道降维,保证卷积神经网络可以接受任何尺寸的输入数据
32 可思数据-AI,人工智能,深度学习,机器学习,神经网络
随机梯度下降法,在每次迭代时能保证目标函数值一定下降吗?为什么?
不能,每次迭代时目标函数不一样
33
梯度下降法,为什么需要设置一个学习率?
使得迭代之后的值在上次值的邻域内,保证可以忽略泰勒展开中的二次及二次以上的项
34
解释梯度下降法中动量项的作用
利用之前迭代时的梯度值,减小震荡
35
为什么现在倾向于用小尺寸的卷积核?
用多个小卷积核串联可以有大卷积核同样的能力,而且参数更少,另外有更多次的激活函数作用,增强非线性
36
解释 GoogLeNet 的 Inception 模块的原理
对输入图像用多个不同尺寸的卷积核、池化操作进行同时处理,然后将输出结果按照通道拼接起来 可思数据-数据挖掘,智慧医疗,机器视觉,机器人
37
解释反卷积的原理和用途
反卷积即转置卷积,正向传播时乘以卷积核的转置矩阵,反向传播时乘以卷积核矩阵 可思数据-AI,智能驾驶,人脸识别,区块链,大数据
由卷积输出结果近似重构输入数据,上采样
38 内容来自可思数据
解释批量归一化的原理
在数据送入神经网络的某一层进行处理之前,对数据做归一化。按照训练样本的批量进行处理,先减掉这批样本的均值,然后除以标准差,然后进行缩放和平移。缩放和平移参数同训练得到。预测时使用训练时确定的这些值来计算 可思数据-数据挖掘,智慧医疗,机器视觉,机器人
39 可思数据-www.sykv.cn,sykv.com
解释 SVM 核函数的原理
核函数将数据映射到更高维的空间后处理,但不用做这种显式映射,而是先对两个样本向量做内积,然后用核函数映射。这等价于先进行映射,然后再做内积。