点击上方“AI有道”,选择“置顶公众号”

关键时刻,第一时间送达!

读本文需要 8 分钟

机器学习是一门理论性和实战性都比较强的技术学科。在应聘机器学习相关工作岗位时,我们常常会遇到各种各样的机器学习问题和知识点。为了帮助大家对这些知识点进行梳理和理解,以便能够更好地应对机器学习笔试包括面试。红色石头准备在公众号连载一些机器学习笔试题系列文章,希望能够对大家有所帮助!

今天,红色石头带大家继续“死磕”相关笔试题!各个击破!

Q1. 在 n 维空间中(n > 1),下列哪种方法最适合用来检测异常值?

A. 正态概率图

B. 箱形图

C. 马氏距离

D. 散点图

答案:C

解析:正态概率图(Normal Probability Plot)一般用来检查一组数据是否服从正态分布。是实数与正态分布数据之间函数关系的散点图。如果这组实数服从正态分布,正态概率图将是一条直线。如下图所示:

箱形图(Box Plot),是一种用作显示一组数据分散情况资料的统计图。因型状如箱子而得名。如下图所示:

散点图(Scatter Plot)是描述离散数据点的空间分布。

马氏距离(Mahalonobis distance)多用来计算某样本点与数据集的距离,优点是具有尺度无关性。马氏距离的计算公式如下:

其中,μ 是样本集均值,S 是样本集协方差矩阵。我们注意到马氏距离的公式与欧式距离公式只是多了一个协方差矩阵的逆。这也正是马氏距离的优点之处,它考虑了不同特征之间的协方差不同,将其进行归一化,使得距离度量与尺度无关。

举个简单的例子来说明,假如 A 的身高体重为(170,60000),B 的身高体重为(170,61000),C 的身高体重是(160,60000),其中身高体重的单位分别是 cm、g。按照常理来说,A 和 B 的体型是比较相近的,但是如果使用欧式距离,计算得到 A 和 C 比较相近。原因在于身高维度的方差较小,而体重维度的方差较大。马氏距离恰恰消除了各个维度方差不同的影响,把方差归一化,使得特征之间的关系更加符合实际情况。

因此,马氏距离更适合来判断样本点与数据集的位置关系,判断其是否离群。正态概率图、箱形图、散点图都比较直观,容易判断出错。

Q2. 逻辑回归与多元回归分析有哪些不同之处?

A. 逻辑回归用来预测事件发生的概率

B. 逻辑回归用来计算拟合优度指数

C. 逻辑回归用来对回归系数进行估计

D. 以上都是

答案:D

解析:A 选项,逻辑回归是用来解决分类问题的,可以用于预测事件发生的概率。

B 选项,一般来说,为了测量真实样本与模型的拟合程度,可以使用逻辑回归来计算拟合优度指数。

C 选项,在拟合逻辑回归模型之后,我们还可以根据系数值,来判断各个独立特征与目标输出的关系(正相关或负相关)。

Q3. 下列关于 bootstrap 说法正确的是?

A. 从总的 M 个特征中,有放回地抽取 m 个特征(m < M)

B. 从总的 M 个特征中,无放回地抽取 m 个特征(m < M)

C. 从总的 N 个样本中,有放回地抽取 n 个样本(n < N)

D. 从总的 N 个样本中,无放回地抽取 n 个样本(n < N)

答案:C

解析:bootstrap 的思想是从已有的数据集中模拟出类似但又不完全一样的数据集。主要是针对没有足够数据来训练多个模型的情况。

bootstrap 的做法是,假设有 N 笔资料 D,先从中选出一个样本,再放回去,再选择一个样本,再放回去,共重复 n 次。这样我们就得到了一个新的 n 笔资料 D',这个新的数据集中可能包含原数据集里的重复样本点,也可能没有原数据集里的某些样本,D' 与 D 类似但又不完全相同。值得一提的是,抽取-放回的操作次数不一定非要是 N,次数可以任意设定。例如原始样本有 10000 个,我们可以抽取-放回 3000 次,得到包含 3000 个样本的 D' 也是完全可以的。

Q4. "监督式学习中存在过拟合,而对于非监督式学习来说,没有过拟合",这句话是否正确?

A. 正确

B. 错误

答案:B

解析:对于非监督式学习,仍然可能存在过拟合。一般来说,评估非监督式学习的指标也有很多,例如使用调整兰德指数(Adjusted Rand Score)来评估聚类模型。

聚类模型中,假设实际类别信息为 C,聚类结果为 K,a 表示在 C 与 K 中都是同类别的元素有几对,b 表示在 C 与 K 中都是不同类别的元素有几对,则兰德指数为:

RI 取值范围为 [0,1],值越大意味着聚类结果与真实情况越吻合。

但是,在聚类结果随机的情况下,RI 并不为 0。因此,为了解决这一问题,调整兰德指数(Adjusted Rand Score)被提出,它具有更高的区分度:

ARI 取值范围为 [−1,1],值越大意味着聚类结果与真实情况越吻合。从广义的角度来讲,ARI 衡量的是两个数据分布的吻合程度。

Q5. 关于 k 折交叉验证,下列说法正确的是?

A. k 值并不是越大越好,k 值过大,会降低运算速度

B. 选择更大的 k 值,会让偏差更小,因为 k 值越大,训练集越接近整个训练样本

C. 选择合适的 k 值,能减小验方差

D. 以上说法都正确

答案: D

解析:机器学习中,在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集随机分为 k 个包,每次将其中一个包作为测试集,剩下 k-1 个包作为训练集进行训练。

k 折交叉验证的的 k 值不能太大,也不能太小。k 值过大,会降低运算速度。若 k 与样本数量 N 相同,则是留一法(Leave-One-Out)。k 值较大,训练集越接近整个训练样本,有利于减小模型偏差(bias)。一般可以将 k 作为超参数调试,根据表现选择合适的 k 值。

k 折交叉验证能够有效提高模型的学习能力,类似于增加了训练样本数量,使得学习的模型更加稳健,鲁棒性更强。选择合适的 k 值能够有效避免过拟合。

Q6. 如果回归模型中存在多重共线性(multicollinearity),应该如何解决这一问题而不丢失太多信息(多选)?

A. 剔除所有的共线性变量

B. 剔除共线性变量中的一个

C. 通过计算方差膨胀因子(Variance Inflation Factor,VIF)来检查共线性程度,并采取相应措施

D. 删除相关变量可能会有信息损失,我们可以不删除相关变量,而使用一些正则化方法来解决多重共线性问题,例如 Ridge 或 Lasso 回归。

答案:BCD

解析:如果回归模型中存在共线性变量,那么可以采取相应措施,剔除共线性变量中的一个。为了检验多重共线性,我们可以创建一个相关矩阵来识别和去除相关度在 75% 以上的变量(阈值大小可人为设置)。此外,我们可以使用计算方差膨胀因子(VIF)来检查多重共线性的存在。若 VIF <= 4 则没有多重共线性,若 VIF>10 值意味着严重的多重共线性。此外,我们可以使用容忍度作为多重共线性的指标。

方差膨胀因子(Variance Inflation Factor,VIF):是指解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比。VIF 跟容忍度是倒数关系。详细介绍可自行查阅统计学资料。

但是,去除相关变量可能导致信息的丢失。为了保留这些变量,我们可以使用正则化来“惩罚”回归模型,如 Ridge 和 Lasso 回归。此外,我们可以添加一些随机噪声相关变量,使变量变得彼此不同。但是,增加噪声可能会影响预测精度,因此应该谨慎使用这种方法。

Q7. 评估完模型之后,发现模型存在高偏差(high bias),应该如何解决?

A. 减少模型的特征数量

B. 增加模型的特征数量

C. 增加样本数量

D. 以上说法都正确

答案:B

解析:如果模型存在高偏差(high bias),意味着模型过于简单。为了使模型更加健壮,我们可以在特征空间中添加更多的特征。而添加样本数量将减少方差。

Q8. 在构建一个决策树模型时,我们对某个属性分割节点,下面四张图中,哪个属性对应的信息增益最大?

A. outlook

B. humidity

C. windy

D. temperature

答案:A

解析:李航的《统计学习方法》中,对信息增益有如下定义:特征 A 对训练数据集 D 的信息增益 g(D,A),定义为集合 D 的经验熵 H(D) 与特征 A 给定条件下 D 的经验条件熵 H(D|A) 之差,即

g(D,A) = H(D) - H(D|A)

这一题,我们先计算经验熵 H(D):

H(D) = -9/14 * log(9/14) - 5/14 * log(5/14)

= 0.6518

图一中,经验条件熵 H(D|A) 为:

H(D|A) = 5/14 * (-2/5*log(2/5)-3/5*log(3/5))

+ 4/14 *(-1*log(1)-0)

+ 5/14 * (-3/5*log(3/5)-2/5*log(2/5))

= 0.4807

图一的信息增益为:

g(D,A) = H(D) - H(D|A) = 0.6518 - 0.4807

= 0.1711

图二中,经验条件熵 H(D|A) 为:

H(D|A) = 7/14 * (-3/7*log(3/7)-4/7*log(4/7))

+ 7/14 * (-6/7*log(6/7)-1/7*log(1/7))

= 0.5465

图二的信息增益为:

g(D,A) = H(D) - H(D|A) = 0.6518 - 0.5465

= 0.1053

图三中,经验条件熵 H(D|A) 为:

H(D|A) = 8/14 * (-6/8*log(6/8)-2/8*log(2/8))

+ 6/14 * (-3/6*log(3/6)-3/6*log(3/6))

= 0.6184

图三的信息增益为:

g(D,A) = H(D) - H(D|A) = 0.6518 - 0.6184

= 0.0334

图四中,经验条件熵 H(D|A) 为:

H(D|A) = 4/14 * (-2/4*log(2/4)-2/4*log(2/4))

+ 6/14 *(-4/6*log(4/6)-2/6*log(2/6))

+ 4/14 * (-3/4*log(3/4)-1/4*log(1/4))

= 0.6315

图四的信息增益为:

g(D,A) = H(D) - H(D|A) = 0.6518 - 0.6315

= 0.0203

显然,图一 outlook 对应的信息增益最大。

Q9. 在决策树分割结点的时候,下列关于信息增益说法正确的是(多选)?

A. 纯度高的结点需要更多的信息来描述它

B. 信息增益可以用”1比特-熵”获得

C. 如果选择一个属性具有许多特征值, 那么这个信息增益是有偏差的

答案: BC

Q10. 如果一个 SVM 模型出现欠拟合,那么下列哪种方法能解决这一问题?

A. 增大惩罚参数 C 的值

B. 减小惩罚参数 C 的值

C. 减小核系数(gamma参数)

答案:A

解析:SVM模型出现欠拟合,表明模型过于简单,需要提高模型复杂度。

Soft-Margin SVM 的目标为:

C 值越大,相应的模型月复杂。接下来,我们看看 C 取不同的值时,模型的复杂程度。

从上图可以看出,C=1 时,模型比较简单,分类错误的点也比较多,发生欠拟合。当 C 越来越大的时候,模型越来越复杂,分类错误的点也在减少。但是,当 C 值很大的时候,虽然分类正确率提高,但很可能把 noise 也进行了处理,从而可能造成过拟合。

而对于 SVM 的核函数,同样,核系数越大,模型越复杂。举个例子,核系数分别取 1, 10, 100 时对应的分类效果如下:

从图中可以看出,当核系数比较小的时候,分类线比较光滑。当核系数越来越大的时候,分类线变得越来越复杂和扭曲,直到最后,分类线变成一个个独立的小区域。为什么会出现这种区别呢?这是因为核系数越大,其对应的核函数越尖瘦,那么有限个核函数的线性组合就比较离散,分类效果并不好。所以, SVM 也会出现过拟合现象,核系数的正确选择尤为重要,不能太小也不能太大。

参考文献:

https://www.analyticsvidhya.com/blog/2016/11/solution-for-skilltest-machine-learning-revealed/

推荐阅读

机器学习笔试题精选

机器学习笔试题精选

机器学习笔试题精选

7 种回归方法!请务必掌握!

机器学习笔试精选题精选(四)相关推荐

  1. 机器学习笔试精选 100 题

    欢迎关注"勇敢AI"公众号,更多python学习.数据分析.机器学习.深度学习原创文章与大家分享,还有更多电子资源.教程.数据集下载.勇敢AI,一个专注于人工智能AI的公众号. = ...

  2. 微型计算机只能使用机器语言,道计算机等级考试精选题全.doc

    道计算机等级考试精选题全 第一章 计算机基础知识 一.判断正误题 ASCII码的作用是把要处理的字符转换为二进制代码,以便计算机进行传送和处理. 模拟计算机同样能处理数字信息. 计算机软件分为基本软件 ...

  3. 用几何语言表示线段ab的中点c,做完这30道精选题,你的几何图形绝对满分!

    原标题:做完这30道精选题,你的几何图形绝对满分! 1.某同学用剪刀沿直线将一片平整的银杏叶减掉一部分(如图),发现剩下的银杏叶的周长比原银杏叶的周长要小,能正确解释这一现象的数学知识是( ) A. ...

  4. 2018年前端笔试高频题精选(二)

    今天继续来发几道2018年前端笔试高频题,这些题都是小编下载了今年BATJ.美团.小米等一线互联网公司前端笔试真题精选出来的,大家一定要好好学学,以备进军名企之用. 1.规避javascript多人开 ...

  5. 名企笔试真题精选(三)

    哎,自己没什么时间也没什么耐性更没什么毅力天天学习天天向上,于是很多搜罗来不及看的东东先分享给童鞋们吧 3.  软件业巨无霸--微软笔试面试题目(1) 智力题 1.烧一根不均匀的绳子,从头烧到尾总共需 ...

  6. apply_async进程不执行_c/c++面试精选题(八)简单回答,进程和线程关系及区别...

    1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基 ...

  7. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进

    吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...

  8. 保险条款精解(四)索赔——不可不看,因为您以前可能没听说过

    保险条款精解(四)索赔--不可不看,因为您以前可能没听说过 ★保险案例一:一位朋友丢失爱车,已上全险,找保险公司索赔,未果,保险公司拒赔理由:到车管所查询,此车未年检. 案例分析:保险公司所做所为,十 ...

  9. python自动化面试提问_Python自动化测试笔试面试题精选

    前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力.因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点. 基本编码能力及思维逻辑 基本数据结构(顺序表.链表.队列.栈.二叉树 ...

最新文章

  1. linux+swig+python,linux下使用swig让python调用C++(复杂版:包括多文件调用和链接库)...
  2. JAVA C++ 左花括号{该另起一行写还是写在行尾的思考
  3. 鏖战双十一-阿里直播平台面临的技术挑战
  4. 遇到洋妞不敢搭讪,程序员的羞涩你不懂
  5. php 内容转换dom,php – 防止DOMDocument :: loadHTML()转换实体
  6. 移远EC20 4G模块LTE开发板三网通模块 MQTT阿里云物联网
  7. 研究生计划-心得征程
  8. java---连接池的学习
  9. mysql 生成 javabean_从MySQL快速生成JavaBean
  10. Effective objective-C 读书笔记 (第一部分)
  11. 云服务器配置(jdk、tomcat、mysql)
  12. mvn 汇编_【答疑解惑】艺术生留学小白问题答疑汇编之精华
  13. [linux]解决DNS配置重启丢失
  14. [转载] 丛林中的糖果小屋
  15. Mvc6 错误Microsoft.AspNet.Http.Features.IRequestIdentifierFeature
  16. 你不知道的 flex 技巧
  17. ABT 链网公测版发布上线:织链为网 为 DApps 奠基
  18. 2018年信息安全大事件一览
  19. 借鉴一下人家辞职申请
  20. 删除mac开机启动项

热门文章

  1. 【Android开发学习笔记之一】5大布局方式详解
  2. redis的数据类型及设置方法
  3. iOS开发-模板方法模式
  4. java设计模式_工厂方法
  5. KineticJS教程(6)
  6. hdu 4831(线段树---待解决)
  7. 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e Pl
  8. 杭电1856More is better
  9. JSP简单练习-网站计数器
  10. NYOJ 7 街区最短路径问题