程序员

机器学习面试真题1000题详细讲解第八集

2019-01-26  本文已影响5人  bd8941f5f5cc

231 SVM模型中, 真正影响决策边界的是支持向量以下哪些算法, 可以用神经网络去构造: 

1. KNN

2. 线性回归

3. 对数几率回归

A. 1和 2

B. 2 和 3

C. 1, 2 和 3

D. 以上都不是

答案: B

在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,AI, 机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习

1. KNN算法不需要训练参数, 而所有神经网络都需要训练参数, 因此神经网络帮不上忙

2. 最简单的神经网络, 感知器, 其实就是线性回归的训练

3. 我们可以用一层的神经网络构造对数几率回归

232 请选择下面可以应用隐马尔科夫(HMM)模型的选项: 

A. 基因序列数据集

B. 电影浏览数据集

C. 股票市场数据集

D. 所有以上

答案: D

只要是和时间序列问题有关的 , 都可以试试HMM

233 我们建立一个5000个特征, 100万数据的机器学习模型. 我们怎么有效地应对这样的大数据训练 : 

A. 我们随机抽取一些样本, 在这些少量样本之上训练

B. 我们可以试用在线机器学习算法

C. 我们应用PCA算法降维, 减少特征数

D. B 和 C

E. A 和 B

F. 以上所有

答案: F

234 我们想要减少数据集中的特征数, 即降维. 选择以下适合的方案 :

1. 使用前向特征选择方法

2. 使用后向特征排除方法

3. 我们先把所有特征都使用, 去训练一个模型, 得到测试集上的表现. 然后我们去掉一个特征, 再去训练, 用交叉验证看看测试集上的表现. 如果表现比原来还要好, 我们可以去除这个特征.

4. 查看相关性表, 去除相关性最高的一些特征

A. 1 和 2

B. 2, 3和4

C. 1, 2和4

D. All

答案: D

1.前向特征选择方法和后向特征排除方法是我们特征选择的常用方法

2.如果前向特征选择方法和后向特征排除方法在大数据上不适用, 可以用这里第三种方法.

3.用相关性的度量去删除多余特征, 也是一个好方法

所有D是正确的

235 对于随机森林和GradientBoosting Trees, 下面说法正确的是:

1.在随机森林的单个树中, 树和树之间是有依赖的, 而GradientBoosting Trees中的单个树之间是没有依赖的.

2.这两个模型都使用随机特征子集, 来生成许多单个的树.

3.我们可以并行地生成GradientBoosting Trees单个树, 因为它们之间是没有依赖的, GradientBoosting Trees训练模型的表现总是比随机森林好

A. 2

B. 1 and 2

C. 1, 3 and 4

D. 2 and 4

答案: A

1.随机森林是基于bagging的, 而Gradient Boosting trees是基于boosting的, 所有说反了,在随机森林的单个树中, 树和树之间是没有依赖的, 而GradientBoosting Trees中的单个树之间是有依赖关系.

2.这两个模型都使用随机特征子集, 来生成许多单个的树.

所有A是正确的

236 对于PCA(主成分分析)转化过的特征 ,  朴素贝叶斯的”不依赖假设”总是成立, 因为所有主要成分是正交的, 这个说法是 :

A. 正确的

B. 错误的

答案: B.

这个说法是错误的, 首先, “不依赖”和”不相关”是两回事, 其次, 转化过的特征, 也可能是相关的

237 对于PCA说法正确的是 :

1. 我们必须在使用PCA前规范化数据

2. 我们应该选择使得模型有最大variance的主成分

3. 我们应该选择使得模型有最小variance的主成分

4. 我们可以使用PCA在低维度上做数据可视化

A. 1, 2 and 4

B. 2 and 4

C. 3 and 4

D. 1 and 3

E. 1, 3 and 4

答案: A

1)PCA对数据尺度很敏感, 打个比方, 如果单位是从km变为cm, 这样的数据尺度对PCA最后的结果可能很有影响(从不怎么重要的成分变为很重要的成分).

2)我们总是应该选择使得模型有最大variance的主成分

3)有时在低维度上左图是需要PCA的降维帮助的

238 对于下图, 最好的主成分选择是多少 ? :

A. 7

B. 30

C. 35

D. Can’t Say

答案: B

主成分选择使variance越大越好, 在这个前提下, 主成分越少越好。

239 数据科学家可能会同时使用多个算法(模型)进行预测, 并且最后把这些算法的结果集成起来进行最后的预测(集成学习),以下对集成学习说法正确的是 :

A. 单个模型之间有高相关性

B. 单个模型之间有低相关性

C. 在集成学习中使用“平均权重”而不是“投票”会比较好

D. 单个模型都是用的一个算法

答案: B

详细请参考下面文章:

●Basics of Ensemble Learning Explained in Simple English

●Kaggle Ensemble Guide

●5 Easy questions on Ensemble Modeling everyone should know

Basics of Ensemble Learning Explained in Simple English

Kaggle Ensemble Guide

5 Easy questions on Ensemble Modeling everyone should know

240 在有监督学习中, 我们如何使用聚类方法? :

A. 我们可以先创建聚类类别, 然后在每个类别上用监督学习分别进行学习

B. 我们可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

C. 在进行监督学习之前, 我们不能新建聚类类别

D. 我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

A. 2 和 

B. 1 和 2

C. 3 和 4

D. 1 和 3

答案: B

我们可以为每个聚类构建不同的模型, 提高预测准确率。

“类别id”作为一个特征项去训练, 可以有效地总结了数据特征。

所以B是正确的

241 以下说法正确的是 :

A. 一个机器学习模型,如果有较高准确率,总是说明这个分类器是好的

B. 如果增加模型复杂度, 那么模型的测试错误率总是会降低

C. 如果增加模型复杂度, 那么模型的训练错误率总是会降低

D. 我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

A. 1

B. 2

C. 3

D. 1 and 3

答案: C

考的是过拟合和欠拟合的问题。

242 对应GradientBoosting tree算法, 以下说法正确的是 :

A. 当增加最小样本分裂个数,我们可以抵制过拟合

B. 当增加最小样本分裂个数,会导致过拟合

C. 当我们减少训练单个学习器的样本个数,我们可以降低variance

D. 当我们减少训练单个学习器的样本个数,我们可以降低bias

A. 2 和 4

B. 2 和 3

C. 1 和 3

D. 1 和 4

答案: C

最小样本分裂个数是用来控制“过拟合”参数。太高的值会导致“欠拟合”,这个参数应该用交叉验证来调节。

第二点是靠bias和variance概念的。

243 以下哪个图是KNN算法的训练边界 :

A) B

B) A

C) D

D) C

E) 都不是

答案: B

KNN算法肯定不是线性的边界, 所以直的边界就不用考虑了。另外这个算法是看周围最近的k个样本的分类用以确定分类,所以边界一定是坑坑洼洼的。

244 如果一个训练好的模型在测试集上有100%的准确率, 这是不是意味着在一个新的数据集上,也会有同样好的表现? :

A. 是的,这说明这个模型的范化能力已经足以支持新的数据集合了

B. 不对,依然后其他因素模型没有考虑到,比如噪音数据

答案: B

没有一个模型是可以总是适应新数据的。我们不可能可到100%准确率。

245 下面的交叉验证方法 :

i. 有放回的Bootstrap方法

ii. 留一个测试样本的交叉验证

iii. 5折交叉验证

iv. 重复两次的5折教程验证

当样本是1000时,下面执行时间的顺序,正确的是:

A. i > ii > iii > iv

B. ii > iv > iii > i

C. iv > i > ii > iii

D. ii > iii > iv > i

答案: B

Boostrap方法是传统地随机抽样,验证一次的验证方法,只需要训练1次模型,所以时间最少。

留一个测试样本的交叉验证,需要n次训练过程(n是样本个数),这里,要训练1000个模型。

5折交叉验证需要训练5个模型。

重复2次的5折交叉验证,需要训练10个模型。

所有B是正确的

246 变量选择是用来选择最好的判别器子集, 如果要考虑模型效率,我们应该做哪些变量选择的考虑? :

1. 多个变量其实有相同的用处

2. 变量对于模型的解释有多大作用

3. 特征携带的信息

4. 交叉验证

A. 1 和 4

B. 1, 2 和 3

C. 1,3 和 4

D. 以上所有

答案: C

注意, 这题的题眼是考虑模型效率,所以不要考虑选项2.

247 对于线性回归模型,包括附加变量在内,以下的可能正确的是 :

1. R-Squared 和 Adjusted R-squared都是递增的

2. R-Squared 是常量的,Adjusted R-squared是递增的

3. R-Squared 是递减的, Adjusted R-squared 也是递减的

4. R-Squared 是递减的, Adjusted R-squared是递增的

A. 1 和 2

B. 1 和 3

C. 2 和 4

D. 以上都不是

答案: D

R-squared不能决定系数估计和预测偏差,这就是为什么我们要估计残差图。但是,R-squared有R-squared 和 predicted R-squared 所没有的问题。

每次你为模型加入预测器,R-squared递增或不变.

详细请看这个链接:discussion.

248 对于下面三个模型的训练情况, 下面说法正确的是 :

1. 第一张图的训练错误与其余两张图相比,是最大的

2. 最后一张图的训练效果最好,因为训练错误最小

3. 第二张图比第一和第三张图鲁棒性更强,是三个里面表现最好的模型

4. 第三张图相对前两张图过拟合了

5. 三个图表现一样,因为我们还没有测试数据集

A. 1 和 3

B. 1 和 3

C. 1, 3 和 4

D. 5

答案: C

249 对于线性回归,我们应该有以下哪些假设? :

1. 找到利群点很重要, 因为线性回归对利群点很敏感

2. 线性回归要求所有变量必须符合正态分布

3. 线性回归假设数据没有多重线性相关性

A. 1 和 2

B. 2 和 3

C. 1,2 和 3

D. 以上都不是

答案: D

利群点要着重考虑, 第一点是对的

不是必须的, 当然, 如果是正态分布, 训练效果会更好

有少量的多重线性相关性是可以的, 但是我们要尽量避免

250 当我们构造线性模型时, 我们注意变量间的相关性. 在相关矩阵中搜索相关系数时, 如果我们发现3对变量的相关系数是(Var1 和Var2, Var2和Var3, Var3和Var1)是-0.98, 0.45, 1.23 . 我们可以得出什么结论: 

1. Var1和Var2是非常相关的

2. 因为Var和Var2是非常相关的, 我们可以去除其中一个

3. Var3和Var1的1.23相关系数是不可能的

A. 1 and 3

B. 1 and 2

C. 1,2 and 3

D. 1

答案: C

Var1和Var2相关系数是负的, 所以这是多重线性相关, 我们可以考虑去除其中一个.

一般地, 如果相关系数大于0.7或者小于-0.7, 是高相关的

相关性系数范围应该是 [-1,1]

251 如果在一个高度非线性并且复杂的一些变量中, 一个树模型可能比一般的回归模型效果更好. 只是:

A. 对的

B. 错的

答案: A

252 对于维度极低的特征,选择线性还是非线性分类器?

非线性分类器,低维空间可能很多特征都跑到一起了,导致线性不可分。

1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM

2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况。

253 特征向量的缺失值处理

1. 缺失值较多.直接将该特征舍弃掉,否则可能反倒会带入较大的noise,对结果造成不良影响。

2. 缺失值较少,其余的特征缺失值都在10%以内,我们可以采取很多的方式来处理:

1) 把NaN直接作为一个特征,假设用0表示;

2) 用均值填充;

3) 用随机森林等算法预测填充

254 SVM、LR、决策树的对比。

模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝

损失函数:SVM hinge loss; LR L2正则化; adaboost 指数损失

数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感

数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核

255 什么是ill-condition病态问题?

训练完的模型,测试样本稍作修改就会得到差别很大的结果,就是病态问题,模型对未知数据的预测能力很差,即泛化误差大。

256 简述KNN最近邻分类算法的过程?

1. 计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);

2. 对上面所有的距离值进行排序;

3. 选前k个最小距离的样本;

4. 根据这k个样本的标签进行投票,得到最后的分类类别;

257 常用的聚类划分方式有哪些?列举代表算法。

1. 基于划分的聚类:K-means,k-medoids,CLARANS。

2. 基于层次的聚类:AGNES(自底向上),DIANA(自上向下)。

3. 基于密度的聚类:DBSACN,OPTICS,BIRCH(CF-Tree),CURE。

4. 基于网格的方法:STING,WaveCluster。

5. 基于模型的聚类:EM,SOM,COBWEB。

258 下面对集成学习模型中的弱学习者描述错误的是?

A.他们经常不会过拟合

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

C.他们通常会过拟合

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

259 下面哪个/些选项对 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 折准确度和方差间的均衡。

260 最出名的降维算法是 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 不能。

在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,AI, 机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习

上一篇下一篇

猜你喜欢

热点阅读