机器学习面试系列七

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

  答案:(B)

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


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

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

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

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

  C 当卷积核数量增加时,它们之间的相关性增加(correlate),导致过拟合

  D 以上都不正确

  答案:(C)

  如C选项指出的那样,可能的原因是核之间的相关性。


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


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

  答案:不同,因为PCA用于相关特征而隐层用于有预测能力的特征


154.神经网络能组成函数(y=1/x)吗?

  答案:可以,因为激活函数可以是互反函数


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

  A.卷积神经网络

  B.循环神经网络

  C.全连接神经网络

  D.选项A和B

  答案:(D)


156.批规范化(Batch Normalization)的好处都有啥?

  A.在将所有的输入传递到下一层之前对其进行归一化(更改)

  B.它将权重的归一化平均值和标准差

  C.它是一种非常有效的反向传播(BP)方法

  D.这些均不是

  答案:(A)


157.在一个神经网络中,下面哪种方法可以用来处理过拟合?

  A Dropout

  B 分批归一化(Batch Normalization)

  C 正则化(regularization)

  D 都可以

  答案:(D)


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

  A 神经网络会收敛

  B 不好说

  C 都不对

  D 神经网络不会收敛

  答案:(D)

159.下图所示的网络用于训练识别字符H和T,如下所示:

网络的输出是什么?

  

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


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

  A 对的

  B 不知道

  C 看情况

  D 不对

  答案:(D)

  各个神经元的反应是不一样的


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

  A 不知道

  B 看情况

  C 是

  D 否

  答案:(C)

  使用池化时会导致出现不变性。


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

  A 随机梯度下降法(Stochastic Gradient Descent)

  B 不知道

  C 整批梯度下降法(Full Batch Gradient Descent)

  D 都不是

  答案:(A)


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

  A 第一隐藏层对应D,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应A
  B 第一隐藏层对应A,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应D
  C 第一隐藏层对应A,第二隐藏层对应B,第三隐藏层对应C,第四隐藏层对应D
  D 第一隐藏层对应B,第二隐藏层对应D,第三隐藏层对应C,第四隐藏层对应A 

  答案:(A)

  由于反向传播算法进入起始层,学习能力降低,这就是梯度消失。 


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

  A 其他选项都不对

  B 没啥问题,神经网络会正常开始训练

  C 神经网络可以训练,但是所有的神经元最后都会变成识别同样的东西

  D 神经网络不会开始训练,因为没有梯度改变

  答案:(C)


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

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

  答案:(A)

  选项A可以将陷于局部最小值的神经网络提取出来。


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

  A 循环神经网络

  B 感知机

  C 多层感知机

  D 卷积神经网络

  卷积神经网络将更好地适用于图像相关问题,因为考虑到图像附近位置变化的固有性质。

  答案:(D)


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

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

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

  A 对数据作归一化

  B 对数据取对数变化
  C 都不对
  D 对数据作主成分分析(PCA)和归一化
  答案:(D)
  首先将相关的数据去掉,然后将其置零。 


168.下面那个决策边界是神经网络生成的? 

  A. A
  B. D
  C. C
  D. B 
  E. 以上都有 

  答案:(E)


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

  A 需要,这也许意味着神经网络的学习速率存在问题
  B 不需要,只要在训练集和交叉验证集上有累积的下降就可以了
  C 不知道
  D 不好说
  答案:(B)
  选项B是正确的,为了减少这些“起伏”,可以尝试增加批尺寸(batch size)。 


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

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


  A 1,2,4,5

  B 2,3,4,5

  C 都需要考虑

  D 1,3,4,5


  答案:(C)

  所有上述因素对于选择神经网络模型的深度都是重要的。


171.考虑某个具体问题时,你可能只有少量数据来解决这个问题。不过幸运的是你有一个类似问题已经预先训练好的神经网络。可以用下面哪种方法来利用这个预先训练好的网络?

  A 把除了最后一层外所有的层都冻住,重新训练最后一层

  B 对新数据重新训练整个模型

  C 只对最后几层进行调参(fine tune)

  D 对每一层模型进行评估,选择其中的少数来用

  答案:(C)


172.增加卷积核的大小对于改进卷积神经网络的效果是必要的吗?

  答案:不是,增加核函数的大小不一定会提高性能。这个问题在很大程度上取决于数据集。


173.请简述神经网络的发展史

  @SIY.Z。本题解析来源:https://zhuanlan.zhihu.com/p/29435406

  sigmoid会饱和,造成梯度消失。于是有了ReLU。

  ReLU负半轴是死区,造成梯度变0。于是有了LeakyReLU,PReLU。

  强调梯度和权值分布的稳定性,由此有了ELU,以及较新的SELU。

  太深了,梯度传不下去,于是有了highway。

  干脆连highway的参数都不要,直接变残差,于是有了ResNet。

  强行稳定参数的均值和方差,于是有了BatchNorm。

  在梯度流中增加噪声,于是有了 Dropout。

  RNN梯度不稳定,于是加几个通路和门控,于是有了LSTM。

  LSTM简化一下,有了GRU。

  GAN的JS散度有问题,会导致梯度消失或无效,于是有了WGAN。

  WGAN对梯度的clip有问题,于是有了WGAN-GP。


174.说说spark的性能调优

  https://tech.meituan.com/spark-tuning-basic.html

  https://tech.meituan.com/spark-tuning-pro.html


175.如何理解LSTM网络?

  @Not_GOD,本题解析来源:http://www.jianshu.com/p/9dc9f41f0b29/

  Recurrent Neural Networks

  人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。
  传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网络应该很难来处理这个问题——使用电影中先前的事件推断后续的事件。
  RNN 解决了这个问题。RNN 是包含循环的网络,允许信息的持久化。


RNN 包含循环

  在上面的示例图中,神经网络的模块,A,正在读取某个输入 x_i,并输出一个值 h_i。循环可以使得信息可以从当前步传递到下一步。
  这些循环使得 RNN 看起来非常神秘。然而,如果你仔细想想,这样也不比一个正常的神经网络难于理解。RNN 可以被看做是同一神经网络的多次复制,每个神经网络模块会把消息传递给下一个。所以,如果我们将这个循环展开:



展开的 RNN

  链式的特征揭示了 RNN 本质上是与序列和列表相关的。他们是对于这类数据的最自然的神经网络架构。
  并且 RNN 也已经被人们应用了!在过去几年中,应用 RNN 在语音识别,语言建模,翻译,图片描述等问题上已经取得一定成功,并且这个列表还在增长。我建议大家参考 Andrej Karpathy 的博客文章——
The Unreasonable Effectiveness of Recurrent Neural Networks (http://karpathy.github.io/2015/05/21/rnn-effectiveness/)来看看更丰富有趣的 RNN 的成功应用。
  而这些成功应用的关键之处就是 LSTM 的使用,这是一种特别的 RNN,比标准的 RNN 在很多的任务上都表现得更好。几乎所有的令人振奋的关于 RNN 的结果都是通过 LSTM 达到的。这篇博文也会就 LSTM 进行展开。

  长期依赖(Long-Term Dependencies)问题

  RNN 的关键点之一就是他们可以用来连接先前的信息到当前的任务上,例如使用过去的视频段来推测对当前段的理解。如果 RNN 可以做到这个,他们就变得非常有用。但是真的可以么?答案是,还有很多依赖因素。
  有时候,我们仅仅需要知道先前的信息来执行当前的任务。例如,我们有一个语言模型用来基于先前的词来预测下一个词。如果我们试着预测 “the clouds are in the sky” 最后的词,我们并不需要任何其他的上下文 —— 因此下一个词很显然就应该是 sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小的,RNN 可以学会使用先前的信息。


不太长的相关信息和位置间隔

  但是同样会有一些更加复杂的场景。假设我们试着去预测“I grew up in France... I speak fluent French”最后的词。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的 France 的上下文的。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。
  不幸的是,在这个间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。


相当长的相关信息和位置间隔

  在理论上,RNN 绝对可以处理这样的 长期依赖 问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN 肯定不能够成功学习到这些知识。Bengio, et al. (1994)等人对该问题进行了深入的研究,他们发现一些使训练 RNN 变得非常困难的相当根本的原因。
  然而,幸运的是,LSTM 并没有这个问题!

  LSTM 网络

  Long Short Term 网络—— 一般就叫做 LSTM ——是一种 RNN 特殊的类型,可以学习长期依赖信息。如@寒小阳所说:LSTM和基线RNN并没有特别大的结构不同,但是它们用了不同的函数来计算隐状态。LSTM的“记忆”我们叫做细胞/cells,你可以直接把它们想做黑盒,这个黑盒的输入为前状态 ht−1和当前输入 xt。这些“细胞”会决定哪些之前的信息和状态需要保留/记住,而哪些要被抹去。实际的应用中发现,这种方式可以有效地保存很长时间之前的关联信息。

  LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves进行了改良和推广。在很多问题,LSTM 都取得相当巨大的成功,并得到了广泛的使用。
  LSTM 通过刻意的设计来避免长期依赖问题。记住长期的信息在实践中是 LSTM 的默认行为,而非需要付出很大代价才能获得的能力!
  所有 RNN 都具有一种重复神经网络模块的链式的形式。在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。


标准 RNN 中的重复模块包含单一的层

  LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于 单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。


LSTM 中的重复模块包含四个交互的层

  不必担心这里的细节。我们会一步一步地剖析 LSTM 解析图。现在,我们先来熟悉一下图中使用的各种元素的图标。


LSTM 中的图标

  在上面的图例中,每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入。粉色的圈代表 pointwise 的操作,诸如向量的和,而黄色的矩阵就是学习到的神经网络层。合在一起的线表示向量的连接,分开的线表示内容被复制,然后分发到不同的位置。

  LSTM 的核心思想

  LSTM 的关键就是细胞状态,水平线在图上方贯穿运行。
  细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。


  LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。

     

  Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”!

  LSTM 拥有三个门,来保护和控制细胞状态。

  逐步理解 LSTM

  在我们 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取 h_{t-1} 和x_t,输出一个在 0 到 1 之间的数值给每个在细胞状态 C_{t-1} 中的数字。1 表示“完全保留”,0 表示“完全舍弃”。
  让我们回到语言模型的例子中来基于已经看到的预测下一个词。在这个问题中,细胞状态可能包含当前主语的性别,因此正确的代词可以被选择出来。当我们看到新的主语,我们希望忘记旧的主语。


决定丢弃信息

  下一步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh 层创建一个新的候选值向量,\tilde{C}_t,会被加入到状态中。下一步,我们会讲这两个信息来产生对状态的更新。
  在我们语言模型的例子中,我们希望增加新的主语的性别到细胞状态中,来替代旧的需要忘记的主语。


确定更新的信息

  现在是更新旧细胞状态的时间了,C_{t-1} 更新为 C_t。前面的步骤已经决定了将会做什么,我们现在就是实际去完成。
  我们把旧状态与 f_t 相乘,丢弃掉我们确定需要丢弃的信息。接着加上 i_t * \tilde{C}_t。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。
  在语言模型的例子中,这就是我们实际根据前面确定的目标,丢弃旧代词的性别信息并添加新的信息的地方。


更新细胞状态

  最终,我们需要确定输出什么值。这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。首先,我们运行一个 sigmoid 层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。
  在语言模型的例子中,因为他就看到了一个 代词,可能需要输出与一个 动词 相关的信息。例如,可能输出是否代词是单数还是负数,这样如果是动词的话,我们也知道动词需要进行的词形变化。


输出信息

  LSTM 的变体

  我们到目前为止都还在介绍正常的 LSTM。但是不是所有的 LSTM 都长成一个样子的。实际上,几乎所有包含 LSTM 的论文都采用了微小的变体。差异非常小,但是也值得拿出来讲一下。
  其中一个流形的 LSTM 变体,就是由 
Gers & Schmidhuber (2000) 提出的,增加了 “peephole connection”。是说,我们让 门层 也会接受细胞状态的输入。


peephole 连接

  上面的图例中,我们增加了 peephole 到每个门上,但是许多论文会加入部分的 peephole 而非所有都加。

  另一个变体是通过使用 coupled 忘记和输入门。不同于之前是分开确定什么忘记和需要添加什么新的信息,这里是一同做出决定。我们仅仅会当我们将要输入在当前位置时忘记。我们仅仅输入新的值到那些我们已经忘记旧的信息的那些状态 。



coupled 忘记门和输入门

  另一个改动较大的变体是 Gated Recurrent Unit (GRU),这是由 Cho, et al. (2014) 提出。它将忘记门和输入门合成了一个单一的 更新门。同样还混合了细胞状态和隐藏状态,和其他一些改动。最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。



GRU

  这里只是部分流行的 LSTM 变体。当然还有很多其他的,如Yao, et al. (2015) 提出的 Depth Gated RNN。还有用一些完全不同的观点来解决长期依赖的问题,如Koutnik, et al. (2014) 提出的 Clockwork RNN。
  要问哪个变体是最好的?其中的差异性真的重要吗?
Greff, et al. (2015) 给出了流行变体的比较,结论是他们基本上是一样的。Jozefowicz, et al. (2015) 则在超过 1 万种 RNN 架构上进行了测试,发现一些架构在某些任务上也取得了比 LSTM 更好的结果。


Jozefowicz等人论文截图

  结论

  刚开始,我提到通过 RNN 得到重要的结果。本质上所有这些都可以使用 LSTM 完成。对于大多数任务确实展示了更好的性能!
  由于 LSTM 一般是通过一系列的方程表示的,使得 LSTM 有一点令人费解。然而本文中一步一步地解释让这种困惑消除了不少。
  LSTM 是我们在 RNN 中获得的重要成功。很自然地,我们也会考虑:哪里会有更加重大的突破呢?在研究人员间普遍的观点是:“Yes! 下一步已经有了——那就是注意力!” 这个想法是让 RNN 的每一步都从更加大的信息集中挑选信息。例如,如果你使用 RNN 来产生一个图片的描述,可能会选择图片的一个部分,根据这部分信息来产生输出的词。实际上,
Xu, et al.(2015)已经这么做了——如果你希望深入探索注意力可能这就是一个有趣的起点!还有一些使用注意力的相当振奋人心的研究成果,看起来有更多的东西亟待探索……
  注意力也不是 RNN 研究领域中唯一的发展方向。例如,
Kalchbrenner, et al. (2015) 提出的 Grid LSTM 看起来也是很有前途。使用生成模型的 RNN,诸如Gregor, et al. (2015) Chung, et al. (2015) 和 Bayer & Osendorfer (2015) 提出的模型同样很有趣。在过去几年中,RNN 的研究已经相当的燃,而研究成果当然也会更加丰富!
再次说明下,本题解析基本取自Not_GOD翻译
Christopher Olah 博文的《理解LSTM网络》,致谢。


176.常见的分类算法有哪些? 
  SVM、神经网络、随机森林、逻辑回归、KNN、贝叶斯


177.常见的监督学习算法有哪些? 
  感知机、svm、人工神经网络、决策树、逻辑回归


178.在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()
  A. 增加训练集量
  B. 减少神经网络隐藏层节点数
  C. 删除稀疏的特征
  D. SVM算法中使用高斯核/RBF核代替线性核
  正确答案:D
  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
  一般情况下,越复杂的系统,过拟合的可能性就越高,一般模型相对简单的话泛化能力会更好一点。
  B.一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合
  D.径向基(RBF)核函数/高斯核函数的说明,这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数之一。


179.下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测?
  A.AR模型
  B.MA模型
  C.ARMA模型
  D.GARCH模型
  正确答案:D
  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
  AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值。
  MA模型(moving average model)滑动平均模型,其中使用趋势移动平均法建立直线趋势的预测模型。
  ARMA模型(auto regressive moving average model)自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。
  GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的。它是ARCH模型的推广。GARCH(p,0)模型,相当于ARCH(p)模型。GARCH模型是一个专门针对金融数据所量体订做的回归模型,除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测,这样的分析对投资者的决策能起到非常重要的指导性作用,其意义很多时候超过了对数值本身的分析和预测。


180.以下哪个属于线性分类器最佳准则?
  A.感知准则函数
  B.贝叶斯分类
  C.支持向量机
  D.Fisher准则

  

  正确答案:ACD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  线性分类器有三大类:感知器准则函数、SVM、Fisher准则,而贝叶斯分类器不是线性分类器。

  感知准则函数 :准则函数以使错分类样本到分界面距离之和最小为原则。其优点是通过错分类样本提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。

  支持向量机 :基本思想是在两类线性可分条件下,所设计的分类器界面使两类之间的间隔为最大,它的基本出发点是使期望泛化风险尽可能小。(使用核函数可解决非线性问题)

  Fisher 准则 :更广泛的称呼是线性判别分析(LDA),将所有样本投影到一条远点出发的直线,使得同类样本距离尽可能小,不同类样本距离尽可能大,具体为最大化“广义瑞利商”。

  根据两类样本一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量方向,使两类样本在该方向上的投影满足类内尽可能密集,类间尽可能分开。这种度量通过类内离散矩阵 Sw 和类间离散矩阵 Sb 实现。


181.基于二次准则函数的H-K算法较之于感知器算法的优点是()?

  A.计算量小

  B.可以判别问题是否线性可分

  C.其解完全适用于非线性可分的情况

  D.其解的适应性更好


  正确答案:BD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  HK算法思想很朴实,就是在最小均方误差准则下求得权矢量.

  他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出来,以退出迭代过程.


182.以下说法中正确的是()?

  A.SVM对噪声(如来自其他分布的噪声样本)鲁棒

  B.在AdaBoost算法中,所有被分错的样本的权重更新比例相同

  C.Boosting和Bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率决定其权重

  D.给定n个数据点,如果其中一半用于训练,一般用于测试,则训练误差和测试误差之间的差别会随着n的增加而减少


  正确答案:BD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  A、SVM对噪声(如来自其他分布的噪声样本)鲁棒

  SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。

  B、在AdaBoost算法中所有被分错的样本的权重更新比例相同 

  AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。

  C、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。

  Bagging与Boosting的区别:

  取样方式不同。

  Bagging采用均匀取样,而Boosting根据错误率取样。

  Bagging的各个预测函数没有权重,而Boosting是有权重的。

  Bagging的各个预测函数可以并行生成,而Boosing的各个预测函数只能顺序生成。


183.输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为():

  A. 95

  B. 96

  C. 97

  D. 98


  正确答案:C 

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  首先我们应该知道卷积或者池化后大小的计算公式: 

out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height  )+1

out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1

  其中,padding指的是向外扩展的边缘大小,而stride则是步长,即每次移动的长度。

  这样一来就容易多了,首先长宽一般大,所以我们只需要计算一个维度即可,这样,经过第一次卷积后的大小为: (200-5+2)/2+1,取99;经过第一次池化后的大小为:(99-3)/1+1 为97;经过第二次卷积后的大小为: (97-3+2)/1+1 为97


184.在spss的基础分析模块中,作用是“以行列表的形式揭示数据之间的关系”的是( )

  A. 数据描述

  B. 相关

  C. 交叉表

  D. 多重相应

  正确答案:C


185.一监狱人脸识别准入系统用来识别待进入人员的身份,此系统一共包括识别4种不同的人员:狱警,小偷,送餐员,其他。下面哪种学习方法最适合此种应用需求:()。

  A. 二分类问题

  B. 多分类问题

  C. 层次聚类问题

  D. k-中心点聚类问题

  E. 回归问题

  F. 结构分析问题

  正确答案:B

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html 

  二分类:每个分类器只能把样本分为两类。监狱里的样本分别为狱警、小偷、送餐员、其他。二分类肯 定行不通。瓦普尼克95年提出来基础的支持向量机就是个二分类的分类器,这个分类器学习过 程就是解一个基于正负二分类推导而来的一个最优规划问题(对偶问题),要解决多分类问题 就要用决策树把二分类的分类器级联,VC维的概念就是说的这事的复杂度。

  层次聚类: 创建一个层次等级以分解给定的数据集。监狱里的对象分别是狱警、小偷、送餐员、或者其 他,他们等级应该是平等的,所以不行。此方法分为自上而下(分解)和自下而上(合并)两种操作方式。

  K-中心点聚类:挑选实际对象来代表簇,每个簇使用一个代表对象。它是围绕中心点划分的一种规则,所以这里并不合适。

  回归分析:处理变量之间具有相关性的一种统计方法,这里的狱警、小偷、送餐员、其他之间并没有什 么直接关系。

  结构分析: 结构分析法是在统计分组的基础上,计算各组成部分所占比重,进而分析某一总体现象的内部结构特征、总体的性质、总体内部结构依时间推移而表现出的变化规律性的统计方法。结构分析法的基本表现形式,就是计算结构指标。这里也行不通。

  多分类问题: 针对不同的属性训练几个不同的弱分类器,然后将它们集成为一个强分类器。这里狱警、 小偷、送餐员 以及他某某,分别根据他们的特点设定依据,然后进行区分识别。

186.关于 logit 回归和 SVM 不正确的是()

  A.Logit回归目标函数是最小化后验概率

  B. Logit回归可以用于预测事件发生概率的大小

  C. SVM目标是结构风险最小化

  D.SVM可以有效避免模型过拟合


  正确答案: A

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。而最小化后验概率是朴素贝叶斯算法要做的。A错误

  B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确

  C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化。

  D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。


187.有两个样本点,第一个点为正样本,它的特征向量是(0,-1);第二个点为负样本,它的特征向量是(2,3),从这两个样本点组成的训练集构建一个线性SVM分类器的分类面方程是()

  A. 2x+y=4

  B. x+2y=5

  C. x+2y=3

  D. 2x-y=0


  正确答案:C

  解析:这道题简化了,对于两个点来说,最大间隔就是垂直平分线,因此求出垂直平分线即可。


188.下面有关分类算法的准确率,召回率,F1 值的描述,错误的是?

  A.准确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率

  B.召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率

  C.正确率、召回率和 F 值取值都在0和1之间,数值越接近0,查准率或查全率就越高

  D.为了解决准确率和召回率冲突问题,引入了F1分数


  正确答案:C

  解析:对于二类分类问题常用的评价指标是精准度(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:

  TP——将正类预测为正类数

  FN——将正类预测为负类数

  FP——将负类预测为正类数

  TN——将负类预测为负类数

  由此:

  精准率定义为:P = TP / (TP + FP)

  召回率定义为:R = TP / (TP + FN)

  F1值定义为: F1 = 2 P R / (P + R)

  精准率和召回率和F1取值都在0和1之间,精准率和召回率高,F1值也会高,不存在数值越接近0越高的说法,应该是数值越接近1越高。


189.以下几种模型方法属于判别式模型(Discriminative Model)的有()

1)混合高斯模型    2)条件随机场模型    3)区分度训练    4)隐马尔科夫模型

  A.2,3

  B.3,4

  C.1,4

  D.1,2


  正确答案:A

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  常见的判别式模型有:Logistic regression(logistical 回归)

  Linear discriminant analysis(线性判别分析)

  Supportvector machines(支持向量机)

  Boosting(集成学习)

  Conditional random fields(条件随机场)

  Linear regression(线性回归)

  Neural networks(神经网络)

  常见的生成式模型有:Gaussian mixture model and othertypes of mixture model(高斯混合及其他类型混合模型)

  Hidden Markov model(隐马尔可夫)

  NaiveBayes(朴素贝叶斯)

  AODE(平均单依赖估计)

  Latent Dirichlet allocation(LDA主题模型)

  Restricted Boltzmann Machine(限制波兹曼机)

  生成式模型是根据概率乘出结果,而判别式模型是给出输入,计算出结果。


190.SPSS中,数据整理的功能主要集中在( )等菜单中

  A.数据

  B.直销

  C.分析

  D.转换


  正确答案:AD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

解析:对数据的整理主要在数据和转换功能菜单中。


191.深度学习是当前很热门的机器学习算法,在深度学习中,涉及到大量的矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为m∗n,n∗p,p∗q,且m<n<p<q,以下计算顺序效率最高的是() 

  A.(AB)C

  B.AC(B)

  C.A(BC)

  D.所以效率都相同


  正确答案:A

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  首先,根据简单的矩阵知识,因为 A*B , A 的列数必须和 B 的行数相等。因此,可以排除 B 选项, 

  然后,再看 A 、 C 选项。在 A 选项中,m∗n 的矩阵 A 和n∗p的矩阵 B 的乘积,得到 m∗p的矩阵 A*B ,而 A∗B的每个元素需要 n 次乘法和 n-1 次加法,忽略加法,共需要 m∗n∗p次乘法运算。同样情况分析 A*B 之后再乘以 C 时的情况,共需要 m∗p∗q次乘法运算。因此, A 选项 (AB)C 需要的乘法次数是 m∗n∗p+m∗p∗q 。同理分析, C 选项 A (BC) 需要的乘法次数是 n∗p∗q+m∗n∗q。 

  由于m∗n∗p<m∗n∗q,m∗p∗q<n∗p∗q,显然 A 运算次数更少,故选 A 。

192.Nave Bayes是一种特殊的Bayes分类器,特征变量是X,类别标签是C,它的一个假定是:() 

  A.各类别的先验概率P(C)是相等的

  B.以0为均值,sqr(2)/2为标准差的正态分布

  C.特征变量X的各个维度是类别条件独立随机变量

  D.P(X|C)是高斯分布


  正确答案:C

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  朴素贝叶斯的条件就是每个变量相互独立。

193.关于支持向量机SVM,下列说法错误的是() 

  A.L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力

  B.Hinge 损失函数,作用是最小化经验分类错误

  C.分类间隔为1/||w||,||w||代表向量的模

  D.当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习


  正确答案:C

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  A正确。考虑加入正则化项的原因:想象一个完美的数据集,y>1是正类,y<-1是负类,决策面y=0,加入一个y=-30的正类噪声样本,那么决策面将会变“歪”很多,分类间隔变小,泛化能力减小。加入正则项之后,对噪声样本的容错能力增强,前面提到的例子里面,决策面就会没那么“歪”了,使得分类间隔变大,提高了泛化能力。

  B正确。

  C错误。间隔应该是2/||w||才对,后半句应该没错,向量的模通常指的就是其二范数。

  D正确。考虑软间隔的时候,C对优化问题的影响就在于把a的范围从[0,+inf]限制到了[0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出w=求和ai∗yi∗xi,a变小使得w变小,因此间隔2/||w||变大


194.在HMM中,如果已知观察序列和产生观察序列的状态序列,那么可用以下哪种方法直接进行参数估计() 

  A.EM算法

  B.维特比算法

  C.前向后向算法

  D.极大似然估计


  正确答案:D

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  EM算法: 只有观测序列,无状态序列时来学习模型参数,即Baum-Welch算法

  维特比算法: 用动态规划解决HMM的预测问题,不是参数估计

  前向后向算法:用来算概率

  极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数

  注意的是在给定观测序列和对应的状态序列估计模型参数,可以利用极大似然发估计。如果给定观测序列,没有对应的状态序列,才用EM,将状态序列看不不可测的隐数据。


195.假定某同学使用Naive Bayesian(NB)分类模型时,不小心将训练数据的两个维度搞重复了,那么关于NB的说法中正确的是: 

  A.这个被重复的特征在模型中的决定作用会被加强

  B.模型效果相比无重复特征的情况下精确度会降低

  C.如果所有特征都被重复一遍,得到的模型预测结果相对于不重复的情况下的模型预测结果一样。

  D.当两列特征高度相关时,无法用两列特征相同时所得到的结论来分析问题

  E.NB可以用来做最小二乘回归

  F.以上说法都不正确


  正确答案:BD


196.L1与L2范数

  在Logistic Regression 中,如果同时加入L1和L2范数,会产生什么效果()

  A.可以做特征选择,并在一定程度上防止过拟合

  B.能解决维度灾难问题

  C.能加快计算速度

  D.可以获得更准确的结果


  正确答案:A

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  L1范数具有系数解的特性,但是要注意的是,L1没有选到的特征不代表不重要,原因是两个高相关性的特征可能只保留一个。如果需要确定哪个特征重要,再通过交叉验证。

  在代价函数后面加上正则项,L1即是Losso回归,L2是岭回归。L1范数是指向量中各个元素绝对值之和,用于特征选择。L2范数 是指向量各元素的平方和然后求平方根,用于 防止过拟合,提升模型的泛化能力。因此选择A。

  对于机器学习中的范数规则化,也就是L0,L1,L2范数的详细解答,请参阅《范数规则化》(http://blog.csdn.net/zouxy09/article/details/24971995/)


197.正则化

  机器学习中L1正则化和L2正则化的区别是?

  A.使用L1可以得到稀疏的权值

  B.使用L1可以得到平滑的权值

  C.使用L2可以得到稀疏的权值

  D.使用L2可以得到平滑的权值


  正确答案:AD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

  L1正则化偏向于稀疏,它会自动进行特征选择,去掉一些没用的特征,也就是将这些特征对应的权重置为0.

  L2主要功能是为了防止过拟合,当要求参数越小时,说明模型越简单,而模型越简单则,越趋向于平滑,从而防止过拟合。

  L1正则化/Lasso 

  L1正则化将系数w的l1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此L1正则化往往会使学到的模型很稀疏(系数w经常为0),这个特性使得L1正则化成为一种很好的特征选择方法。

  L2正则化/Ridge regression 

  L2正则化将系数向量的L2范数添加到了损失函数中。由于L2惩罚项中系数是二次方的,这使得L2和L1有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。还是以Y=X1+X2为例,假设X1和X2具有很强的关联,如果用L1正则化,不论学到的模型是Y=X1+X2还是Y=2X1,惩罚都是一样的,都是2alpha。但是对于L2来说,第一个模型的惩罚项是2alpha,但第二个模型的是4*alpha。可以看出,系数之和为常数时,各系数相等时惩罚是最小的,所以才有了L2会让各个系数趋于相同的特点。

  可以看出,L2正则化对于特征选择来说一种稳定的模型,不像L1正则化那样,系数会因为细微的数据变化而波动。所以L2正则化和L1正则化提供的价值是不同的,L2正则化对于特征理解来说更加有用:表示能力强的特征对应的系数是非零。

  因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。

  具体的,可以参阅《机器学习之特征选择》与《机器学习范数正则化》。


198.势函数法

  位势函数法的积累势函数K(x)的作用相当于Bayes判决中的()

  A.后验概率

  B.先验概率

  C.类概率密度

  D.类概率密度与先验概率的乘积


  正确答案:AD

  @刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html

事实上,AD说的是一回事。 具体的,势函数详解请看——《势函数法》。


199.隐马尔可夫

  隐马尔可夫模型三个基本问题以及相应的算法说法正确的是( )

  A.评估—前向后向算法

  B.解码—维特比算法

  C.学习—Baum-Welch算法

  D.学习—前向后向算法


  正确答案:ABC

  解析:评估问题,可以使用前向算法、后向算法、前向后向算法。


200.特征比数据量还大时,选择什么样的分类器?

  线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分。


猜你喜欢

转载自blog.csdn.net/learn_zhangk/article/details/78581814
今日推荐