首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >猿辅导:笔试选择题,你尽管蒙,能蒙对算我输

猿辅导:笔试选择题,你尽管蒙,能蒙对算我输

作者头像
TechFlow-承志
发布2021-04-29 10:39:14
1.1K0
发布2021-04-29 10:39:14
举报
文章被收录于专栏:TechFlowTechFlow

大家好,上周的时候承志更新了一篇猿辅导笔试题攻略(上),今天我们继续来看这篇笔试题中的其他题目。

这次和上篇一样,同样是六道选择题,只不过不同的是这次的选择题的题目更加偏重机器学习一些。

好了,废话不多说了,我们开始看题吧。

第一题

这是一篇数学题,2*6的底面铺1*2的瓷砖,同样我们可以列举一下所有的情况,当然我们也可以和之前的题目一样采用递推的方法来算。

假设f(n)表示的是2*n的底面铺瓷砖的总数,那么我们很容易知道f(1) = 1, f(2) = 2,所以我们需要分析的就是当n>3的时候,f(n)的表达式。

首先我们可以发现f(n)的情况可以从f(n-1)构成,因为我们只需要在f(n-1)的基础上额外再铺一道地砖就可以了,如图所示:

显然如果只是考虑f(n-1)的情况会有所遗漏,会遗漏什么呢?会遗漏最后一行的瓷砖是竖着铺的情况,如下图:

当最后一行的瓷砖是竖着铺的时候,它前面剩下的宽度是n-2,那么此时的情况总数就是f(n-2)。我们把这两种情况综合起来可以得到f的递推式:f(n) = f(n-1) + f(n-2),这个公式大家都非常熟悉,是一个斐波那契数列。

通过简单计算我们可以得到f(6) = 13,故选A。

第二题

这题考察的是对于机器学习基础概念的理解和分析,损失函数下降得慢可能出现的情况。

首先学习率太低显然是正确的,因为根据梯度下降的公式

a -= \eta * \nabla a

,这里的

\nabla a

指的就是a参数的梯度。那么显然当学习率很小的时候,参数的更新是非常慢的。参数更新不明显,显然会影响模型收敛的速度,也就体现在损失函数下降很慢。

其次是正则项,这一点有点坑,因为可以从两方面理解。我们先来回顾一下正则项,拿L1正则项举例,它的计算公式为:

C|\omega|

,也就是一个系数C和模型参数的绝对值之和的乘积。当C很大的时候,会导致模型刚开始学习的时候,损失函数飞速下降,但是这里的下降都是虚假的,是正则项带来的下降。当经过一小段时间之后,由于正则项把参数都压缩到非常小的范围内,导致之后的模型会很难收敛,下降的速度变缓。因为这题没有说清楚,所以很难说这条算不算对,我们先把它放一放,继续看看后面的选项。

第三个是陷入局部最小值,这肯定是对的,因为陷入局部最小值之后的特征就是模型收敛,损失函数几乎停止下降。

最后一个是训练数据太少,这一点也很难说。训练数据量太少会导致两种后果,第一种是由于样本较少,导致模型进入过拟合,过拟合的时候会导致损失函数持续下降,而不是下降得很慢。但是反过来说,如果样本数量不够,也可能导致关键信息不够,模型无法学习到重点使得损失函数下降很慢。

看下来答案应该在B和D之间,由于题目给定的信息量不够,两者都有一定的道理,很难说孰是孰非。最后官方的答案是D,但是我个人认为B也说得通,这是出题人的锅。

第三题

Adaboost和随机森林都是ensemble的模型,其实很难说谁的鲁棒性更好,业界一般也很少会比较它们的鲁棒性。但是从模型的原理来说,随机森林的鲁棒性理论上会更好,因为随机森林由多棵子树组成,每一棵子树都是由部分样本或者是部分特征训练得到,相对来说泛化能力更好,更加不容易陷入过拟合,因此拥有更好的鲁棒性,此条勉强算是正确。

了解Adaboost原理的话会发现第二点明显是错的,因为Adaboost原理就是给与学习错误的样本以及效果好的分类器更高的权重,随机森林的权重才是一样的。

同样了解两个模型的原理的话,也会发现第三条是正确的。由于GBDT每次迭代训练的目标都是上一轮迭代的残差,因此它的训练过程必然是线性的。而随机森林相反,由于它的每一个子树的权重均等,因此可以并行训练。第三条同样正确。

最后来看第四条,它同样考察的是模型的原理。GBDT训练的目标是上一轮的残差,显然不是模型的方差。随机森林的训练目标才是模型的方差,两者反了,所以D是错误的。

第四题

第五题

这题涉及CRF和HMM模型,这两者相对来说偏小众一点,大家可能不像LR、随机森林、GBDT等模型那么熟悉。

HMM、CRF模型本质上都是基于条件概率、朴素贝叶斯定理衍生而来的模型和原理,因为在实际场景当中使用的频次相对较低,所以大家可能不够了解。相关的原理还有些复杂,因此不在这里过多阐述,大家感兴趣可以去详细了解一下其中的原理。

先看第一条, 第一条是正确的,HMM模型是使用极大似然估计算法来进行的参数估计。

第二条是错误的,因为CRF模型是全局最优,而HMM是局部最优。

第三条有点坑,根据维特比算法的定义,它的复杂度是

O(T k^2)

,这里的T指的是序列的长度,也就是n,所以这个选项应该是对的。我思前想后也没发现它哪里不对,但是如果非要选一个的话,那还是选A,因为A100%是对的,更加可靠一些。这题最后的答案也是A,如果有哪位大佬想明白C究竟哪里不对, 欢迎后台给我留言。

最后一条也不对,CRF是判别模型。

第六题

这题考验的是对SVM以及LR两个模型的理解。

第一个选项上来就错了,SVM的目标并不是所谓的结构风险最小化,而是分类样本之间的间隔最小,逻辑回归的目标也不能说是最小化后验概率,而是让交叉熵最小。

第二条是正确的,SVM中的参数C表示的是惩罚系数,C越小模型对于间隔的惩罚力度越小。导致的结果就是间隔越大,间隔大了必然会导致分类错误的样本变多,因此是正确的。

熟悉SVM模型公式的同学一看就知道,第三条同样正确。

最后一条有些trick,估计有些同学不太好判断,需要我们从原理入手。SVM的全称是支持向量机,它的重点是找到最佳的划分间隔,划分间隔是通过支持向量决定的,也就是刚好落在间隔边缘的样本决定的。因此异常数据并不会成为支持向量,也就基本不会影响模型的效果。但是LR不是,它可以理解成一个参数的加权求和套上sigmoid函数,既然是加权求和,那么极端值必然会拉偏模型,影响模型的性能,因此第四条也是正确的。

所以综合一下很容易得到答案,应该选A。

总结

虽然有两道题略有瑕疵,但总的来说猿辅导的这套笔试题还是很有质量的,想要都做对不容易,说实话我自己在写文章之前也没有做到全对,所以非常推荐大家不要看答案,亲自上手试试看。对于这些选择题而言,我个人有一个经验,就是选择题的答案对错并不重要,重要的是选项以及问题背后的原理,以及正确选项的推导方式和过程。用一句鸡汤来概括就是结果不重要,重要的是过程。

这套题还没完,还剩下两到编程题,同样由于篇幅将会放到之后的文章当中,敬请期待。

好了,今天的文章就到这里,感谢大家的阅读,喜欢的话不要忘了星标和三连。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coder梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一题
  • 第二题
  • 第三题
  • 第四题
  • 第五题
  • 第六题
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档