前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习笔试题精选(六)

机器学习笔试题精选(六)

作者头像
红色石头
发布2019-05-25 22:10:19
1.6K1
发布2019-05-25 22:10:19
举报
文章被收录于专栏:红色石头的机器学习之路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/red_stone1/article/details/81502138

红色石头的个人网站:redstonewill.com

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

今天的笔试题主要涉及的知识点包括:降维、PCA、特征选择、随机森林、GBDT、集成学习等。

Q1. 我们想要训练一个 ML 模型,样本数量有 100 万个,特征维度是 5000,面对如此大数据,如何有效地训练模型(多选)?

A. 对训练集随机采样,在随机采样的数据上建立模型

B. 尝试使用在线机器学习算法

C. 使用 PCA 算法减少特征维度

答案:ABC

解析:本题考查的是如何解决样本数量和特征维度过大的问题。

在有限的内存下,如何处理高特征纬度的训练样本是一项非常艰巨的任务。下面这些方法可以用来解决这一问题。

  • 我们可以随机抽样数据集,包括样本数量和特征数量。这意味着,我们可以创建一个更小的数据集,比如说,有 1000 个特征和 300000 个样本进行训练。
  • 使用在线学习(online learning)算法
  • 使用主成分分析算法(PCA)挑选有效的特征,去除冗余特征。

关于在线学习与离线学习,离线学习是我们最为常见的一种机器学习算法模式,使用全部数据参与训练。训练完成,整个模型就确定了;而在线学习一般每次使用一个数据或是小批量数据进行训练,每次训练都会优化模型,模型处于不断优化更改状态。

PCA(principal Component Analysis),是一种使用最广泛的数据压缩算法。在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方法,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。

什么是冗余特征呢?比如汽车数据中,里面既有以“千米/每小时”度量特征,也有“英里/小时”的特征,显然这两个特征有一个是多余的。

Q2. 我们希望减少数据集中的特征数量。你可以采取以下哪一个步骤来减少特征(多选)?

A. 使用正向选择法(Forward Selection)

B. 使用反向消除法(Backward Elimination)

C. 逐步选择消除法(Stepwise)

D. 计算不同特征之间的相关系数,删去相关系数高的特征之一

答案:ABCD

解析:本题考查的是机器学习模型中特征选择问题。

正向选择(Forward Selection)是首先选择一个特征,每个特征都试一遍,选择对模型准确率提升最高的那个特征;然后再在这个特征基础上添加另外一个特征,方法类似,直到模型准确率不再提示为止。

反向消除(Backward Elimination)是首先包含了所有的特征,然后尝试删除每个特征,最终删掉对模型准确率提升最高的一个特征(因为删除这个特征,模型准确率反而增加了,说明是无用特征)。如此类推,直到删除特征并不能提升模型为止。

相对于 Forward Selection,Backward Elimination 的优点在于其允许一些低贡献值的特征能够进到模型中去(有时候低贡献值的特征能在组合中有更大的贡献值,而 Forward Selection 忽略了这种组合的可能性),因此Backward Elimination能够避免受一两个占主导地位的特征的干扰。

另外还有一种特征选择方法是 Stepwise,该方法结合上述两者的方法,新加入一个特征之后,再尝试删去一个特征,直至达到某个预设的标准。这种方法的缺点是,预设的标准不好定,而且容易陷入到过拟合当中。

除此之外,也可以使用基于相关性的特征选择,可以去除多重线性特征。例如上一题中“千米/每小时”和“英里/小时”是相关性很大的特征,可删其一。

Q3. 下面关于 Random Forest 和 Gradient Boosting Trees 说法正确的是?

A. Random Forest 的中间树不是相互独立的,而 Gradient Boosting Trees 的中间树是相互独立的

B. 两者都使用随机特征子集来创建中间树

C. 在 Gradient Boosting Trees 中可以生成并行树,因为它们是相互独立的

D. 无论任何数据,Gradient Boosting Trees 总是优于 Random Forest

答案:B

解析:本题考查的是随机森林和梯度提升树(GBDT)的基本概率和区别。

Random Forest 是基于 Bagging 的,而 Gradient Boosting Trees 是基于 Boosting 的。Bagging 和 Boosting 的区别在于:

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等。

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成。

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

因此,Gradient Boosting Trees 的中间树不是相互独立的,因为前一棵树的结果影响下一棵树。Random Forest 的中间树相互独立,因此可以并行生成这些树。

在这两种算法中,我们使用随机特征集来生成中间树。

Gradient Boosting Trees 并不总比 Random Forest 好,依赖于数据。

Q4. “对于 PCA 处理后的特征,其朴素贝叶斯特征相互独立的假设一定成立,因为所有主成分都是正交的,所以不相关”。这句话是否正确?

A. True

B. False

答案:B

解析:本题考查的是 PCA 和 朴素贝叶斯的基本概率和区别。

这句话有两处错误:一是 PCA 转换之后的特征不一定不相关;二是不相关并不等价于相互独立。

正交和不相关没有必然关系,只有当一个随机变量的统计平均等于零时,正交和不相关等价。

独立则必定不相关,而不相关却不一定互相独立,只有是高斯时独立和不相关才等价。

Q5. 下列关于 PCA 说法正确的是(多选)?

A. 在使用 PCA 之前,我们必须标准化数据

B. 应该选择具有最大方差的主成分

C. 应该选择具有最小方差的主成分

D. 可以使用 PCA 在低维空间中可视化数据

答案:ABD

解析:本题考查的是主成分分析(PCA)的基本概念和推导原理。

PCA 对数据中变量的尺度非常敏感,因此我们需要对各个变量进行标准化。方法是减去各自变量的均值,除以标准差。

X−μσX−μσ

\frac{X-\mu}{\sigma}

举个例子,假如某个变量单位从 km 改成 cm,大大增加了其方差,那么该变量可能就成为了主成分。这是我们不希望看大的。

B 是正确的,因为我们总是选择方差最大的主成分。可以这么来理解,方差越大,说明在该特征上分布越广泛,说明该特征月有用,影响越大。

PCA 有时在较低维度上绘制数据是非常有用。例如我们可以提取前 2 个主要组成部分,然后在二维平面上使用散点图可视化数据。

Q6. 下图中,主成分的最佳数目是多少?

A. 10

B. 20

C. 30

D. 无法确定

答案:C

解析:本题考查的是 PCA 的基本概念。

显然,当主成分数目为 30 的时候,积累的方差比例最大。

Q7. 数据科学家经常使用多个算法进行预测,并将多个机器学习算法的输出(称为“集成学习”)结合起来,以获得比所有个体模型都更好的更健壮的输出。则下列说法正确的是?

A. 基本模型之间相关性高

B. 基本模型之间相关性低

C. 集成方法中,使用加权平均代替投票方法

D. 基本模型都来自于同一算法

答案:B

解析:本题考查的是集成学习的基本原理。

集成学习,顾名思义,通过将多个单个学习器集成/组合在一起,使它们共同完成学习任务。

举个例子来说明,假如你有 T 个朋友,每个朋友向你预测推荐明天某支股票会涨还是会跌,那么你该选择哪个朋友的建议呢?第一种方法是从 T 个朋友中选择一个最受信任,对股票预测能力最强的人,直接听从他的建议就好。这是一种普遍的做法,对应的就是 validation 的思想,即选择犯错误最小的模型。第二种方法,如果每个朋友在股票预测方面都是比较厉害的,都有各自的专长,那么就同时考虑 T 个朋友的建议,将所有结果做个投票,一人一票,最终决定出对该支股票的预测。这种方法对应的是 uniformly 思想。第三种方法,如果每个朋友水平不一,有的比较厉害,投票比重应该更大一些,有的比较差,投票比重应该更小一些。那么,仍然对 T 个朋友进行投票,只是每个人的投票权重不同。这种方法对应的是 non-uniformly 的思想。第四种方法与第三种方法类似,但是权重不是固定的,根据不同的条件,给予不同的权重。比如如果是传统行业的股票,那么给这方面比较厉害的朋友较高的投票权重,如果是服务行业,那么就给这方面比较厉害的朋友较高的投票权重。以上所述的这四种方法都是将不同人不同意见融合起来的方式,这就是集成思想,即把多个基本模型结合起来,得到更好的预测效果。

通常来说,基本模型之间的相关性越低越好,因为每个模型有各自的特长,集成起来才更加强大。

Q8. 如何在监督式学习中使用聚类算法(多选)?

A. 首先,可以创建聚类,然后分别在不同的集群上应用监督式学习算法

B. 在应用监督式学习算法之前,可以将其类别 ID 作为特征空间中的一个额外的特征

C. 在应用监督式学习之前,不能创建聚类

D. 在应用监督式学习算法之前,不能将其类别 ID 作为特征空间中的一个额外的特征

答案:AB

解析:本题考查的是聚类算法与监督式学习。

我们可以为不同的集群构建独立的机器学习模型,并且可以提高预测精度。将每个类别的 ID 作为特征空间中的一个额外的特征可能会提高的精度结果。

Q9. 下面哪句话是正确的?

A. 机器学习模型的精准度越高,则模型的性能越好

B. 增加模型的复杂度,总能减小测试样本误差

C. 增加模型的复杂度,总能减小训练样本误差

D. 以上说法都不对

答案:C

解析:本题考查的是机器学习模型的评判指标。

机器学习模型的精准度(Precision)越高,模型性能不一定越好,还要看模型的召回率(Recall),特别是在正负样本分布不均的情况下。一般使用 F1 score 评判标准。

F1=2⋅P⋅RP+RF1=2⋅P⋅RP+R

F1=2\cdot\frac{P\cdot R}{P+R}

增加模型复杂度,通常可能造成过拟合。过拟合的表现是训练样本误差减小,而测试样本误差增大。

Q10. 关于 GBDT 算法,下列说法正确的是(多选)?

A. 增加用于分割的最小样本数量,有助于避免过拟合

B. 增加用于分割的最小样本数量,容易造成过拟合

C. 减小每个基本树的样本比例,有助于减小方差

D. 减小每个基本树的样本比例,有助于减小偏差

答案:AC

解析:本题考查的是 GBDT 的基本概念。

节点中用于分割所需的最小样本数用来控制过拟合。过高的值可能导致欠拟合,因此,它应该使用交叉验证进行调整。

每个基本树选择的样本比例是通过随机抽样来完成的。小于1的值能够减小方差使模型具有鲁棒性。典型值 0.8 通常工作良好,但可以进一步精细调整。

GBDT 通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差的,因为训练的过程是通过降低偏差来不断提高最终分类器的精度。

参考文献

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


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年08月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档