专栏名称: 机器之心
专业的人工智能媒体和产业服务平台
目录
相关文章推荐
爱可可-爱生活  ·  【tinybvh:一个单文件头的BVH构建和 ... ·  3 天前  
爱可可-爱生活  ·  《爱可可微博热门分享(10.31)》 ... ·  6 天前  
爱可可-爱生活  ·  【视频生成神器:victorchall/ge ... ·  1 周前  
爱可可-爱生活  ·  【Code ... ·  1 周前  
黄建同学  ·  这个好!创作动作姿势很便利了#ai##科技# ... ·  1 周前  
51好读  ›  专栏  ›  机器之心

你是合格的机器学习数据科学家吗?来挑战这40题吧!(附解答)

机器之心  · 公众号  · AI  · 2017-05-02 15:42

正文

选自 Analytics Vidhya

作者:ANKIT GUPTA 

机器之心编译

参与:机器之心编辑部


目前机器学习是最抢手的技能之一。如果你是一名数据科学家,那就需要对机器学习很擅长,而不只是三脚猫的功夫。作为 DataFest 2017 的一部分,Analytics Vidhya 组织了不同的技能测试,从而数据科学家可以就这些关键技能进行自我评估。测试包括机器学习、深度学习、时序问题以及概率。这篇文章将给出机器学习测试问题的解答。你可以通过链接获得其他测试问题及解答。


  • 深度学习:https://www.analyticsvidhya.com/blog/2017/04/40-questions-test-data-scientist-deep-learning/

  • 时序问题:https://www.analyticsvidhya.com/blog/2017/04/40-questions-on-time-series-solution-skillpower-time-series-datafest-2017/

  • 概率:https://www.analyticsvidhya.com/blog/2017/04/40-questions-on-probability-for-all-aspiring-data-scientists/


在本文的机器学习测试中,超过 1350 人注册参与其中。该测试可以检验你对机器学习概念知识的掌握,并为你步入业界做准备。如果错过了实时测试,没有关系,你可以回顾本文以自我提升。机器之心对这些试题及解答进行了编译介绍。你能答对多少题呢?不妨与我们分享。


整体分数分布


下面给出了测试得分的分布,希望能帮助你了解一下自己的水平。成绩单也可以看这里:https://datahack.analyticsvidhya.com/contest/skillpower-machine-learning/lb



目前已有 210 人参与了这些试题的测试,最高分为 36。平均得分为 19.36,中位数为 21,最常出现的得分(Mode Score)为 27。


测试题与解答


假定特征 F1 可以取特定值:A、B、C、D、E 和 F,其代表着学生在大学所获得的评分。现在请答题:


1. 在下面说法中哪一项是正确的?


A. 特征 F1 是名义变量(nominal variable)的一个实例。

B. 特征 F1 是有序变量(ordinal variable)的一个实例。

C. 该特征并不属于以上的分类。

D. 以上说法都正确。


答案为(B):有序变量是一种在类别上有某些顺序的变量。例如,等级 A 就要比等级 B 所代表的成绩好一些。


2. 下面哪个选项中哪一项属于确定性算法?


A.PCA

B.K-Means

C. 以上都不是


答案为(A):确定性算法表明在不同运行中,算法输出并不会改变。如果我们再一次运行算法,PCA 会得出相同的结果,而 k-means 不会。


3. 两个变量的 Pearson 相关性系数为零,但这两个变量的值同样可以相关。


A. 正确

B. 错误


答案为(A):Y=X2,请注意他们不仅仅相关联,同时一个还是另一个的函数。尽管如此,他们的相关性系数还是为 0,因为这两个变量的关联是正交的,而相关性系数就是检测这种关联。详情查看:https://en.wikipedia.org/wiki/Anscombe's_quartet


4. 下面哪一项对梯度下降(GD)和随机梯度下降(SGD)的描述是正确的?


  1. 在 GD 和 SGD 中,每一次迭代中都是更新一组参数以最小化损失函数。

  2. 在 SGD 中,每一次迭代都需要遍历训练集中的所有样本以更新一次参数。

  3. 在 GD 中,每一次迭代需要使用整个训练集或子训练集的数据更新一个参数。


A. 只有 1

B. 只有 2

C. 只有 3

D.1 和 2

E.2 和 3

F. 都正确


答案为(A):在随机梯度下降中,每一次迭代选择的批量是由数据集中的随机样本所组成,但在梯度下降,每一次迭代需要使用整个训练数据集。


5. 下面哪个/些超参数的增加可能会造成随机森林数据过拟合?


  1. 树的数量

  2. 树的深度

  3. 学习速率


A. 只有 1

B. 只有 2

C. 只有 3

D.1 和 2

E.2 和 3

F. 都正确


答案为(B):通常情况下,我们增加树的深度有可能会造成模型过拟合。学习速率在随机森林中并不是超参数。增加树的数量可能会造成欠拟合。


6. 假如你在「Analytics Vidhya」工作,并且想开发一个能预测文章评论次数的机器学习算法。你的分析的特征是基于如作者姓名、作者在 Analytics Vidhya 写过的总文章数量等等。那么在这样一个算法中,你会选择哪一个评价度量标准?


  1. 均方误差

  2. 精确度

  3. F1 分数


A. 只有 1

B. 只有 2

C. 只有 3

D. 1 和 3

E. 2 和 3

F. 1 和 2


答案为(A):你可以把文章评论数看作连续型的目标变量,因此该问题可以划分到回归问题。因此均方误差就可以作为损失函数的度量标准。


7. 给定以下三个图表(从上往下依次为1,2,3). 哪一个选项对以这三个图表的描述是正确的?



A. 1 是 tanh,2 是 ReLU,3 是 SIGMOID 激活函数

B. 1 是 SIGMOID,2 是 ReLU,3 是 tanh 激活函数

C. 1 是 ReLU,2 是 tanh,3 是 SIGMOID 激活函数

D. 1 是 tanh,2 是 SIGMOID,3 是 ReLU 激活函数


答案为(D):因为 SIGMOID 函数的取值范围是 [0,1],tanh 函数的取值范围是 [-1,1],RELU 函数的取值范围是 [0,infinity]。


8. 以下是目标变量在训练集上的 8 个实际值 [0,0,0,1,1,1,1,1],目标变量的熵是所少?


A. -(5/8 log(5/8) + 3/8 log(3/8))

B. 5/8 log(5/8) + 3/8 log(3/8)

C. 3/8 log(5/8) + 5/8 log(3/8)

D. 5/8 log(3/8) – 3/8 log(5/8)


答案为(A):信息熵的公式为:


9. 假定你正在处理类属特征,并且没有查看分类变量在测试集中的分布。现在你想将 one hot encoding(OHE)应用到类属特征中。那么在训练集中将 OHE 应用到分类变量可能要面临的困难是什么?


A. 分类变量所有的类别没有全部出现在测试集中

B. 类别的频率分布在训练集和测试集是不同的

C. 训练集和测试集通常会有一样的分布

D. A 和 B 都正确

E. 以上都不正确


答案为(D):A、B 项都正确,如果类别在测试集中出现,但没有在训练集中出现,OHE 将会不能进行编码类别,这将是应用 OHE 的主要困难。选项 B 同样也是正确的,在应用 OHE 时,如果训练集和测试集的频率分布不相同,我们需要多加小心。


10.Skip gram 模型是在 Word2vec 算法中为词嵌入而设计的最优模型。以下哪一项描绘了 Skip gram 模型?



A. A

B. B

C. A 和 B

D. 以上都不是


答案为(B):这两个模型都是在 Word2vec 算法中所使用的。模型 A 代表着 CBOW,模型 B 代表着 Skip gram。


11. 假定你在神经网络中的隐藏层中使用激活函数 X。在特定神经元给定任意输入,你会得到输出「-0.0001」。X 可能是以下哪一个激活函数?


A. ReLU

B. tanh

C. SIGMOID

D. 以上都不是


答案为(B):该激活函数可能是 tanh,因为该函数的取值范围是 (-1,1)。


12. 对数损失度量函数可以取负值。


A. 对

B. 错


答案为(B):对数损失函数不可能取负值。


13. 下面哪个/些对「类型 1(Type-1)」和「类型 2(Type-2)」错误的描述是正确的?


  1. 类型 1 通常称之为假正类,类型 2 通常称之为假负类。

  2. 类型 2 通常称之为假正类,类型 1 通常称之为假负类。

  3. 类型 1 错误通常在其是正确的情况下拒绝假设而出现。


A. 只有 1

B. 只有 2

C. 只有 3

D. 1 和 2

E. 1 和 3

F. 3 和 2


答案为(E):在统计学假设测试中,I 类错误即错误地拒绝了正确的假设(即假正类错误),II 类错误通常指错误地接受了错误的假设(即假负类错误)。


14. 下面在 NLP 项目中哪些是文本预处理的重要步骤?


  1. 词干提取(Stemming)

  2. 移去停止词(Stop word removal)

  3. 目标标准化(Object Standardization)


A. 1 和 2

B. 1 和 3

C. 2 和 3

D. 1、2 和 3


答案为(D):词干提取是剥离后缀(「ing」,「ly」,「es」,「s」等)的基于规则的过程。停止词是与语境不相关的词(is/am/are)。目标标准化也是一种文本预处理的优良方法。


15. 假定你想将高维数据映射到低维数据中,那么最出名的降维算法是 PAC 和 t-SNE。现在你将这两个算法分别应用到数据「X」上,并得到数据集「X_projected_PCA」,「X_projected_tSNE」。下面哪一项对「X_projected_PCA」和「X_projected_tSNE」的描述是正确的?


A. X_projected_PCA 在最近邻空间能得到解释

B. X_projected_tSNE 在最近邻空间能得到解释

C. 两个都在最近邻空间能得到解释

D. 两个都不能在最近邻空间得到解释


答案为(B):t-SNE 算法考虑最近邻点而减少数据维度。所以在使用 t-SNE 之后,所降的维可以在最近邻空间得到解释。但 PCA 不能。


16-17 题的背景:给定下面两个特征的三个散点图(从左到右依次为图 1、2、3)。



16. 在上面的图像中,哪一个是多元共线(multi-collinear)特征?


A. 图 1 中的特征

B. 图 2 中的特征

C. 图 3 中的特征

D. 图 1、2 中的特征

E. 图 2、3 中的特征

F. 图 1、3 中的特征


答案为(D):在图 1 中,特征之间有高度正相关,图 2 中特征有高度负相关。所以这两个图的特征是多元共线特征。


17. 在先前问题中,假定你已经鉴别了多元共线特征。那么下一步你可能的操作是什么?


  1. 移除两个共线变量

  2. 不移除两个变量,而是移除一个

  3. 移除相关变量可能会导致信息损失。为了保留这些变量,我们可以使用带罚项的回归模型(如 ridge 或 lasso regression)。


A. 只有 1

B. 只有 2

C. 只有 3

D. 1 或 3

E. 1 或 2


答案为(E):因为移除两个变量会损失一切信息,所以我们只能移除一个特征,或者也可以使用正则化算法(如 L1 和 L2)。


18. 给线性回归模型添加一个不重要的特征可能会造成:


  1. 增加 R-square

  2. 减少 R-square


A. 只有 1 是对的

B. 只有 2 是对的

C. 1 或 2 是对的

D. 都不对


答案为(A):在给特征空间添加了一个特征后,不论特征是重要还是不重要,R-square 通常会增加。


19. 假设给定三个变量 X,Y,Z。(X, Y)、(Y, Z) 和 (X, Z) 的 Pearson 相关性系数分别为 C1、C2 和 C3。现在 X 的所有值加 2(即 X+2),Y 的全部值减 2(即 Y-2),Z 保持不变。那么运算之后的 (X, Y)、(Y, Z) 和 (X, Z) 相关性系数分别为 D1、D2 和 D3。现在试问 D1、D2、D3 和 C1、C2、C3 之间的关系是什么?


A. D1= C1, D2 < C2, D3 > C3

B. D1 = C1, D2 > C2, D3 > C3

C. D1 = C1, D2 > C2, D3 < C3

D. D1 = C1, D2 < C2, D3 < C3

E. D1 = C1, D2 = C2, D3 = C3

F. 无法确定


答案为(E):特征之间的相关性系数不会因为特征加或减去一个数而改变。


20. 假定你现在解决一个有着非常不平衡类别的分类问题,即主要类别占据了训练数据的 99%。现在你的模型在测试集上表现为 99% 的准确度。那么下面哪一项表述是正确的?


  1. 准确度并不适合于衡量不平衡类别问题

  2. 准确度适合于衡量不平衡类别问题

  3. 精确率和召回率适合于衡量不平衡类别问题

  4. 精确率和召回率不适合于衡量不平衡类别问题


A. 1 and 3

B. 1 and 4

C. 2 and 3

D. 2 and 4


答案为(A):参考问题 4 的解答。


21. 在集成学习中,模型集成了弱学习者的预测,所以这些模型的集成将比使用单个模型预测效果更好。下面哪个/些选项对集成学习模型中的弱学习者描述正确?


  1. 他们经常不会过拟合

  2. 他们通常带有高偏差,所以其并不能解决复杂学习问题

  3. 他们通常会过拟合


A. 1 和 2

B. 1 和 3

C. 2 和 3

D. 只有 1

E. 只有 2

F. 以上都不对


答案为(A):弱学习者是问题的特定部分。所以他们通常不会过拟合,这也就意味着弱学习者通常拥有低方差和高偏差。


22. 下面哪个/些选项对 K 折交叉验证的描述是正确的


  1. 增大 K 将导致交叉验证结果时需要更多的时间

  2. 更大的 K 值相比于小 K 值将对交叉验证结构有更高的信心

  3. 如果 K=N,那么其称为留一交叉验证,其中 N 为验证集中的样本数量


A. 1 和 2

B. 2 和 3

C. 1 和 3

D. 1、2 和 3


答案为(D):大 K 值意味着对过高估计真实预期误差(训练的折数将更接近于整个验证集样本数)拥有更小的偏差和更多的运行时间(并随着越来越接近极限情况:留一交叉验证)。我们同样在选择 K 值时需要考虑 K 折准确度和方差间的均衡。


23 题至 24 题的背景:交叉验证在机器学习超参数微调中是十分重要的步骤。假定你需要为 GBM 通过选择 10 个不同的深度值(该值大于 2)而调整超参数「max_depth」,该树型模型使用 5 折交叉验证。 4 折训练验证算法(模型 max_depth 为 2)的时间为 10 秒,在剩下的 1 折中预测为 2 秒。


23. 哪一项描述拥有 10 个「max_depth」不同值的 5 折交叉验证整体执行时间是正确的?


A. 少于 100 秒

B. 100-300 秒

C. 300-600 秒

D. 大于等于 600 秒

E. 无法估计


答案为(D):因为深度为 2 的 5 折交叉验证每一次迭代需要训练 10 秒和测试 2 秒。因此五折验证需要 12*5 = 60 秒,又因为我们需要搜索 10 个深度值,所以算法需要 60*10 = 600。


24. 在先前的答案中,如果你训练同样的算法调整 2 个超参数,假设是 max_depth 和 learning_rate。你想要选择正确的值对抗 max_depth(从给定的 10 个深度值中)和学习率(从 5 个不同的学习率做选择)。在此情况下,整体时间是下面的哪个?


A.1000-1500 秒

B.1500-3000 秒

C. 多于或等于 3000 Second

D. 都不是


答案为(D):和 23 题一样。


25. 下表是机器学习算法 M1 的训练错误率 TE 和验证错误率 VE,基于 TE 和 VE 你想要选择一个超参数(H)。

基于上表,你会选择哪个 H 值?


A.1

B.2

C.3

D.4

E.5


答案为(D):看这个表,D 选项看起来是最好的。


26. 为了得到和 SVD 一样的投射(projection),你需要在 PCA 中怎样做?


A. 将数据转换成零均值

B. 将数据转换成零中位数

C. 无法做到

D. 以上方法不行


答案为(A):当数据有一个 0 均值向量时,PCA 有与 SVD 一样的投射,否则在使用 SVD 之前,你必须将数据均值归 0。


问题 27-28 的背景:假设存在一个黑箱算法,其输入为有多个观察(t1, t2, t3,…….. tn)的训练数据和一个新的观察(q1)。该黑箱算法输出 q1 的最近邻 ti 及其对应的类别标签 ci。你可以将这个黑箱算法看作是一个 1-NN(1-最近邻)


27. 能够仅基于该黑箱算法而构建一个 k-NN 分类算法?注:相对于 k 而言,n(训练观察的数量)非常大。


A. 可以

B. 不行


答案为(A):在第一步,你在这个黑箱算法中传递一个观察样本 q1,使该算法返回一个最近邻的观察样本及其类别,在第二步,你在训练数据中找出最近观察样本,然后再一次输入这个观察样本(q1)。该黑箱算法将再一次返回一个最近邻的观察样本及其类别。你需要将这个流程重复 k 次。


28. 我们不使用 1-NN 黑箱,而是使用 j-NN(j>1) 算法作为黑箱。为了使用 j-NN 寻找 k-NN,下面哪个选项是正确的?


A. j 必须是 k 的一个合适的因子

B. j>k

C. 不能办到


答案为(C):原因和 27 题一样


29. 有以下 7 副散点图(从左到右分别编号为 1-7),你需要比较每个散点图的变量之间的皮尔逊相关系数。下面正确的比较顺序是?



  1. 1<2<3<4

  2. 1>2>3 > 4

  3. 7<6<5<4

  4. 7>6>5>4


A. 1 和 3

B. 2 和 3

C. 1 和 4

D. 2 和 4


30. 你可以使用不同的标准评估二元分类问题的表现,例如准确率、log-loss、F-Score。让我们假设你使用 log-loss 函数作为评估标准。下面这些选项,哪个/些是对作为评估标准的 log-loss 的正确解释。


  1. 如果一个分类器对不正确的分类很自信,log-loss 会严重的批评它。

  2. 对一个特别的观察而言,分类器为正确的类别分配非常小的概率,然后对 log-loss 的相应分布会非常大。

  3. 3.log-loss 越低,模型越好。


A.1 和 3

B.2 和 3

C.1 和 2

D.1、2、3


答案为(D):答案无需解释。


问题 31-32 背景:下面是数据集给出的 5 个样本。



注意:图像中点之间的视觉距离代表实际距离。


31. 下面哪个是 3-NN(3-最近邻)的留一法交叉验证准确率?


A.0

B.0.4

C.0.8

D.1


答案为(C):留一法交叉验证,我们将选择(n-1) 观察值作为训练,以及验证的 1 观察值。把每个点作为交叉验证点,然后找到 3 个最近邻点。所以,如果你在每个点上重复该步骤,你会为上图中给出的所有正类找到正确的分类,而错误分类负类。因此,得到 80% 的准确率。


32. 下面哪个 K 值将会有最低的差一法(leave-one-out)交叉验证精确度?


A. 1NN

B. 3NN

C. 4NN

D. 以上所有具有相同的差一法错误


答案(A):在 1-NN 中,被错误分类的每一个点都意味着你将得到 0% 的精确度。


33. 假设你被给到以下数据,你想要在给定的两个类别中使用 logistic 回归模型对它进行分类。你正在使用带有 L1 正则化的 logistic 回归,其中 C 是正则化参数,w1 和 w2 是 x1 和 x2 的系数。当你把 C 值从 0 增加至非常大的值时,下面哪个选项是正确的?


A. 第一个 w2 成了 0,接着 w1 也成了 0

B. 第一个 w1 成了 0,接着 w2 也成了 0

C. w1 和 w2 同时成了 0

D. 即使在 C 成为大值之后,w1 和 w2 都不能成 0


答案(B):通过观察图像我们发现,即使只使用 x2,我们也能高效执行分类。因此一开始 w1 将成 0;当正则化参数不断增加时,w2 也会越来越接近 0。


34. 假设我们有一个数据集,在一个深度为 6 的决策树的帮助下,它可以使用 100% 的精确度被训练。现在考虑一下两点,并基于这两点选择正确的选项。

注意:所有其他超参数是相同的,所有其他因子不受影响。


  1. 深度为 4 时将有高偏差和低方差

  2. 深度为 4 时将有低偏差和低方差


A. 只有 1

B. 只有 2

C. 1 和 2

D. 没有一个


答案(A):如果在这样的数据中你拟合深度为 4 的决策树,这意味着其更有可能与数据欠拟合。因此,在欠拟合的情况下,你将获得高偏差和低方差。


35. 在 k-均值算法中,以下哪个选项可用于获得全局最小?


  1. 尝试为不同的质心(centroid)初始化运行算法

  2. 调整迭代的次数

  3. 找到集群的最佳数量


A. 2 和 3

B. 1 和 3

C. 1 和 2

D. 以上所有


答案(D):所有都可以用来调试以找到全局最小。


36. 假设你正在做一个项目,它是一个二元分类问题。你在数据集上训练一个模型,并在验证数据集上得到混淆矩阵。基于上述混淆矩阵,下面哪个选项会给你正确的预测。


  1. 精确度是~0.91

  2. 错误分类率是~0.91

  3. 假正率(False correct classification)是~0.95

  4. 真正率(True positive rate)是~0.95


A. 1 和 3

B. 2 和 4

C. 1 和 4

D. 2 和 3


答案(C):精确度(正确分类)是 (50+100)/165,约等于 0.91。真正率是你正确预测正分类的次数,因此真正率将是 100/105 = 0.95,也被称作敏感度或召回。


37. 对于下面的超参数来说,更高的值对于决策树算法更好吗?


  1. 用于拆分的样本量

  2. 树深

  3. 树叶样本


A. 1 和 2

B. 2 和 3

C. 1 和 3

D. 1、2 和 3

E. 无法分辨


答案(E):对于选项 A、B、C 来说,如果你增加参数的值,性能并不一定会提升。例如,如果我们有一个非常高的树深值,结果树可能会过拟合数据,并且也不会泛化。另一方面,如果我们有一个非常低的值,结果树也许与数据欠拟合。因此我们不能确定更高的值对于决策树算法就更好。


38-39 题背景 :想象一下,你有一个 28x28 的图片,并使用输入深度为 3 和输出深度为 8 在上面运行一个 3x3 的卷积神经网络。注意,步幅是 1,你正在使用相同的填充(padding)。


38. 当使用给定的参数时,输出特征图的尺寸是多少?


A. 28 宽、28 高、8 深

B. 13 宽、13 高、8 深

C. 28 宽、13 高、8 深

D. 13 宽、28 高、8 深


答案(A):计算输出尺寸的公式是:输出尺寸=(N – F)/S + 1。其中,N 是输入尺寸,F 是过滤器尺寸,S 是步幅。阅读这篇文章(链接:https://www.analyticsvidhya.com/blog/2016/04/deep-learning-computer-vision-introduction-convolution-neural-networks/)获得更多了解。


39. 当使用以下参数时,输出特征图的尺寸是多少?


A. 28 宽、28 高、8 深

B. 13 宽、13 高、8 深

C. 28 宽、13 高、8 深

D. 13 宽、28 高、8 深


答案 (B):同上


40. 假设,我们正在 SVM 算法中为 C(惩罚参数)的不同值进行视觉化绘图。由于某些原因,我们忘记了使用视觉化标注 C 值。这个时候,下面的哪个选项在 rbf 内核的情况下最好地解释了下图(1、2、3 从左到右,图 1 的 C 值 是 C 1,图 2 的 C 值 是 C 2,图 3 的 C 值 是 C 3)中的 C 值。


A. C1 = C2 = C3

B. C1 > C2 > C3

C. C1 < C2 < C3

D. 没有一个


答案 (C):错误项的惩罚参数 C。它也控制平滑决策边界和训练点正确分类之间的权衡。对于 C 的大值,优化会选择一个较小边距的超平面。更多内容:https://www.analyticsvidhya.com/blog/2015/10/understaing-support-vector-machine-example-code/


原文地址:https://www.analyticsvidhya.com/blog/2017/04/40-questions-test-data-scientist-machine-learning-solution-skillpower-machine-learning-datafest-2017/



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):[email protected]

投稿或寻求报道:[email protected]

广告&商务合作:[email protected]