查看原文
其他

机器学习面试真题1000题详细讲解(五)

草yang年华 机器学习与python集中营 2021-09-10

本文转载来源:https://blog.csdn.net/v_july_v/article/details/78121924


python进阶教程

机器学习

深度学习

长按二维码关注

进入正文


131、梯度下降算法的正确步骤是什么?


    计算预测值和真实值之间的误差

    重复迭代,直至得到网络权重的最佳值

    把输入传入网络,得到输出值

    用随机值初始化权重和偏差

    对每一个产生误差的神经元,调整相应的(权重)值以减小误差

  A. 1, 2, 3, 4, 5

  B. 5, 4, 3, 2, 1

  C. 3, 2, 1, 5, 4

  D. 4, 3, 1, 5, 2

  答案:(D)
132、已知:
  - 大脑是有很多个叫做神经元的东西构成,神经网络是对大脑的简单的数学表达。
  - 每一个神经元都有输入、处理函数和输出。
  - 神经元组合起来形成了网络,可以拟合任何函数。
  - 为了得到最佳的神经网络,我们用梯度下降方法不断更新模型
给定上述关于神经网络的描述,什么情况下神经网络模型被称为深度学习模型?

A 加入更多层,使神经网络的深度增加
  B 有维度更高的数据
  C 当这是一个图形识别的问题时
  D 以上都不正确
答案:(A)
更多层意味着网络更深。没有严格的定义多少层的模型才叫深度模型,目前如果有超过2层的隐层,那么也可以及叫做深度模型。


133、使用CNN时,是否需要对输入进行旋转、平移、缩放等预处理?


A 需要
B 不需要
答案:(A)
把数据传入神经网络之前需要做一系列数据预处理(也就是旋转、平移、缩放)工作,神经网络本身不能完成这些变换。


134、下面哪项操作能实现跟神经网络中Dropout的类似效果?(B)


A Boosting
B Bagging
C Stacking
D Mapping
Dropout可以认为是一种极端的Bagging,每一个模型都在单独的数据上训练,同时,通过和其他模型对应参数的共享,从而实现模型参数的高度正则化。


135、下列哪一项在神经网络中引入了非线性?


  1. A 随机梯度下降

  2. B 修正线性单元(ReLU)

  3. C 卷积函数

  4. D 以上都不正确

  答案:(B)

  修正线性单元是非线性的激活函数。


136、 在训练神经网络时,损失函数(loss)在最初的几个epochs时没有下降,可能的原因是?(D)


A 学习率(learning rate)太低
B 正则参数太高
C 陷入局部最小值
D 以上都有可能


137、下列哪项关于模型能力(model capacity)的描述是正确的?(指神经网络模型能拟合复杂函数的能力)


  1. A 隐藏层层数增加,模型能力增加

  2. B Dropout的比例增加,模型能力增加

  3. C 学习率增加,模型能力增加

  4. D 都不正确

  答案:(A)


138、如果增加多层感知机(Multilayer Perceptron)的隐藏层层数,分类误差便会减小。这种陈述正确还是错误?

    A 正确

    B 错误

答案:(B)

并不总是正确。层数增加可能导致过拟合,从而可能引起错误增加。

9 、构建一个神经网络,将前一层的输出和它自身作为输入。

  下列哪一种架构有反馈连接?

    A 循环神经网络

    B 卷积神经网络

    C 限制玻尔兹曼机

    D 都不是

  答案:(A)

140 在感知机中(Perceptron)的任务顺序是什么?


1 随机初始化感知机的权重
2 去到数据集的下一批(batch)
3 如果预测值和输出不一致,则调整权重
4 对一个输入样本,计算输出值
  A. 1, 2, 3, 4
  B. 4, 3, 2, 1
  C. 3, 1, 2, 4
  D. 1, 4, 3, 2
  答案:(D)


141、假设你需要调整参数来最小化代价函数(cost function),会使用下列哪项技术?


  A. 穷举搜索

  B. 随机搜索

  C. Bayesian优化

  D. 梯度下降

  答案:(D)


142、在下面哪种情况下,一阶梯度下降不一定正确工作(可能会卡住)?


D. 以上都不正确

  答案:(B)

这是鞍点(Saddle Point)的梯度下降的经典例子。另,本题来源于:https://www.analyticsvidhya.com/blog/2017/01/must-know-questions-deep-learning/。


143、下图显示了训练过的3层卷积神经网络准确度,与参数数量(特征核的数量)的关系。


从图中趋势可见,如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么?

    A 即使增加卷积核的数量,只有少部分的核会被用作预测

    B 当卷积核数量增加时,神经网络的预测能力(Power)会降低

    C 当卷积核数量增加时,导致过拟合

    D 以上都不正确

答案:(C)


144 、假设我们有一个如下图所示的隐藏层。隐藏层在这个网络中起到了一定的降纬作用。假如现在我们用另一种维度下降的方法,比如说主成分分析法(PCA)来替代这个隐藏层。


那么,这两者的输出效果是一样的吗?

  A.是

  B.否

  答案:(B)

PCA 提取的是数据分布方差比较大的方向,隐藏层可以提取有预测能力的特征


145、下列哪个函数不可以做激活函数?


A. y = tanh(x)
B. y = sin(x)
C. y = max(x,0)
D. y = 2x

答案:(D)


146、下列哪个神经网络结构会发生权重共享?


A.卷积神经网络

B.循环神经网络

C.全连接神经网络

D.选项A和B

答案:(D)


147、批规范化(Batch Normalization)的好处都有啥?



A.在将所有的输入传递到下一层之前对其进行归一化(更改)
B.它将权重的归一化平均值和标准差
C.它是一种非常有效的反向传播(BP)方法
D.这些均不是
答案:(A)


148、在一个神经网络中,下面哪种方法可以用来处理过拟合?(D)


A Dropout
 B 分批归一化(Batch Normalization)
 C 正则化(regularization)
 D 都可以
对于选项C,分批归一化处理过拟合的原理,是因为同一个数据在不同批中被归一化后的值会有差别,相当于做了data augmentatio。


149、如果我们用了一个过大的学习速率会发生什么?


A 神经网络会收敛
B 不好说
C 都不对
D 神经网络不会收敛下图所示的网络用于训练识别字符H和T,如下所示(深度学习 DL基础 易):

网络的输出是什么?

D.可能是A或B,取决于神经网络的权重设置
答案:(D)
不知道神经网络的权重和偏差是什么,则无法判定它将会给出什么样的输出。


150、假设我们已经在ImageNet数据集(物体识别)上训练好了一个卷积神经网络。然后给这张卷积神经网络输入一张全白的图片。对于这个输入的输出结果为任何种类的物体的可能性都是一样的,对吗?


A 对的
B 不知道
C 看情况
D 不对
答案:D,已经训练好的卷积神经网络, 各个神经元已经精雕细作完工, 对于全白图片的输入, 其j层层激活输出给最后的全连接层的值几乎不可能恒等, 再经softmax转换之后也不会相等, 所以"输出结果为任何种类的等可能性一样"也就是softmax的每项均相等, 这个概率是极低的。


151、当在卷积神经网络中加入池化层(pooling layer)时,变换的不变性会被保留,是吗?


A 不知道
B 看情况
C 是
D 否
答案:(C)
池化算法比如取最大值/取平均值等, 都是输入数据旋转后结果不变, 所以多层叠加后也有这种不变性。


152、当数据过大以至于无法在RAM中同时处理时,哪种梯度下降方法更加有效?(A)


A 随机梯度下降法(Stochastic Gradient Descent)
B 不知道
C 整批梯度下降法(Full Batch Gradient Descent)
D 都不是
梯度下降法分随机梯度下降(每次用一个样本)、小批量梯度下降法(每次用一小批样本算出总损失, 因而反向传播的梯度折中)、全批量梯度下降法则一次性使用全部样本。这三个方法, 对于全体样本的损失函数曲面来说, 梯度指向一个比一个准确. 但是在工程应用中,受到内存/磁盘IO的吞吐性能制约, 若要最小化梯度下降的实际运算时间, 需要在梯度方向准确性和数据传输性能之间取得最好的平衡. 所以, 对于数据过大以至于无法在RAM中同时处理时, RAM每次只能装一个样本, 那么只能选随机梯度下降法。


153、下图是一个利用sigmoid函数作为激活函数的含四个隐藏层的神经网络训练的梯度下降图。这个神经网络遇到了梯度消失的问题。下面哪个叙述是正确的?(A)


 第一隐藏层对应D,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应A
 第一隐藏层对应A,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应D
 第一隐藏层对应A,第二隐藏层对应B,第三隐藏层对应C,第四隐藏层对应D
 第一隐藏层对应B,第二隐藏层对应D,第三隐藏层对应C,第四隐藏层对应A
由于反向传播算法进入起始层,学习能力降低,这就是梯度消失。换言之,梯度消失是梯度在前向传播中逐渐减为0, 按照图标题所说, 四条曲线是4个隐藏层的学习曲线, 那么第一层梯度最高(损失函数曲线下降明显), 最后一层梯度几乎为零(损失函数曲线变成平直线). 所以D是第一层, A是最后一层。


154、 对于一个分类任务,如果开始时神经网络的权重不是随机赋值的,二是都设成0,下面哪个叙述是正确的?(C)


A 其他选项都不对
B 没啥问题,神经网络会正常开始训练
C 神经网络可以训练,但是所有的神经元最后都会变成识别同样的东西
D 神经网络不会开始训练,因为没有梯度改变
令所有权重都初始化为0这个一个听起来还蛮合理的想法也许是一个我们假设中最好的一个假设了, 但结果是错误的,因为如果神经网络计算出来的输出值都一个样,那么反向传播算法计算出来的梯度值一样,并且参数更新值也一样(w=w−α∗dw)。更一般地说,如果权重初始化为同一个值,网络即是对称的, 最终所有的神经元最后都会变成识别同样的东西。


155、下图显示,当开始训练时,误差一直很高,这是因为神经网络在往全局最小值前进之前一直被卡在局部最小值里。为了避免这种情况,我们可以采取下面哪种策略?


A  改变学习速率,比如一开始的几个训练周期不断更改学习速率
B 一开始将学习速率减小10倍,然后用动量项(momentum)
C 增加参数数目,这样神经网络就不会卡在局部最优处
D 其他都不对
答案:(A)
选项A可以将陷于局部最小值的神经网络提取出来。


156、对于一个图像识别问题(在一张照片里找出一只猫),下面哪种神经网络可以更好地解决这个问题?(D)


A 循环神经网络
B 感知机
C 多层感知机
D 卷积神经网络
卷积神经网络将更好地适用于图像相关问题,因为考虑到图像附近位置变化的固有性质。


147、假设在训练中我们突然遇到了一个问题,在几次循环之后,误差瞬间降低

你认为数据有问题,于是你画出了数据并且发现也许是数据的偏度过大造成了这个问题。

你打算怎么做来处理这个问题?


A 对数据作归一化
B 对数据取对数变化
C 都不对
D 对数据作主成分分析(PCA)和归一化
答案:(D)
首先您将相关的数据去掉,然后将其置零。具体来说,误差瞬间降低, 一般原因是多个数据样本有强相关性且突然被拟合命中, 或者含有较大方差数据样本突然被拟合命中. 所以对数据作主成分分析(PCA)和归一化能够改善这个问题。


148、下面那个决策边界是神经网络生成的? (E)

A A
B D
C C
D B 
E 以上都有
神经网络可以逼近方式拟合任意函数, 所以以上图都可能由神经网络通过监督学习训练得到决策边界。


149、在下图中,我们可以观察到误差出现了许多小的"涨落"。 这种情况我们应该担心吗?


A 需要,这也许意味着神经网络的学习速率存在问题
B 不需要,只要在训练集和交叉验证集上有累积的下降就可以了
C 不知道
D 不好说
答案:(B)
选项B是正确的,为了减少这些“起伏”,可以尝试增加批尺寸(batch size)。具体来说,在曲线整体趋势为下降时, 为了减少这些“起伏”,可以尝试增加批尺寸(batch size)以缩小batch综合梯度方向摆动范围. 当整体曲线趋势为平缓时出现可观的“起伏”, 可以尝试降低学习率以进一步收敛. “起伏”不可观时应该提前终止训练以免过拟合


160、在选择神经网络的深度时,下面那些参数需要考虑?


1 神经网络的类型(如MLP,CNN)
2 输入数据
3 计算能力(硬件和软件能力决定)
4 学习速率
5 映射的输出函数

A 1,2,4,5
B 2,3,4,5
C 都需要考虑
D 1,3,4,5
答案:(C)
所有上述因素对于选择神经网络模型的深度都是重要的。特征抽取所需分层越多, 输入数据维度越高, 映射的输出函数非线性越复杂, 所需深度就越深. 另外为了达到最佳效果, 增加深度所带来的参数量增加, 也需要考虑硬件计算能力和学习速率以设计合理的训练时间。




我们一起过双旦

2018.12.31

Best Wishes to You

最后,再次感谢一路陪伴的小伙伴,希望2018年每个人都能够收获满满,新的2019年都能够赚的盆满锅满!

猜您喜欢往期精选▼

1.numpy高级教程(四)——内存映射文件与性能建议

2.python标准库系列教程(二)——functools (下篇)

1. numpy高级教程(一)——高级数组操作与广播broadcast

2. numpy高级教程(二)——通用函数ufunc与结构化数组structured array

3. python标准库系列教程(一)——itertools

4. python标准库系列教程(二)——functools (上篇)

5.Python高级编程——描述符Descriptor超详细讲解(补充篇之底层原理实现)

6.Python高级编程——描述符Descriptor超详细讲解(中篇之属性控制)


 

关注我们送礼品哦


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存