机器学习笔试面试题目 二

1、使用k=1的knn算法, 下图二类分类问题, “+” 和 “o” 分别代表两个类, 那么, 用仅拿出一个测试样本的交叉验证方法, 交叉验证的错误率是多少:

A 0%

B 100%

C 0%到100

D  以上都不是

正确答案是: B

解析:

knn算法就是, 在样本周围看k个样本, 其中大多数样本的分类是A类, 我们就把这个样本分成A类. 显然, k=1 的knn在上图不是一个好选择, 分类的错误率始终是100%。
2、我们想在大数据集上训练决策树, 为了使用较少时间, 我们可以

A 增加树的深度

B 增加学习率 (learning rate)

C 减少树的深度

D 减少树的数量

正确答案是:C

解析:

增加树的深度, 会导致所有节点不断分裂, 直到叶子节点是纯的为止. 所以, 增加深度, 会延长训练时间.
决策树没有学习率参数可以调. (不像集成学习和其它有步长的学习方法)
决策树只有一棵树, 不是随机森林。
3、假如我们使用非线性可分的SVM目标函数作为最优化对象, 我们怎么保证模型线性可分?

A 设C=1

B 设C=0

C 设C=无穷大

D 以上都不

正确答案是:C

解析:

C无穷大保证了所有的线性不可分都是可以忍受的.
4、以下哪些算法, 可以用神经网络去构造: 
1. KNN
2. 线性回归
3. 对数几率回归

A 1和 2

B 2 和 3

C 1, 2 和 3

D 以上都不是

正确答案是: B

解析:

1. KNN算法不需要训练参数, 而所有神经网络都需要训练参数, 因此神经网络帮不上忙
2. 最简单的神经网络, 感知器, 其实就是线性回归的训练
3. 我们可以用一层的神经网络构造对数几率回归
5、请选择下面可以应用隐马尔科夫(HMM)模型的选项

A 基因序列数据集

B 电影浏览数据集

C 股票市场数据集

D 所有以上

正确答案是:D

解析:

只要是和时间序列问题有关的 , 都可以试试HMM
6、我们建立一个5000个特征, 100万数据的机器学习模型. 我们怎么有效地应对这样的大数据训练 : 

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

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

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

D  B 和 C

E  A 和 B

F  以上所有 

正确答案是:F

解析:

样本数过多, 或者特征数过多, 而不能单机完成训练, 可以用小批量样本训练, 或者在线累计式训练, 或者主成分PCA降维方式减少特征数量再进行训练. 
7、我们想要减少数据集中的特征数, 即降维. 选择以下适合的方案 :
1. 使用前向特征选择方法
2. 使用后向特征排除方法
3. 我们先把所有特征都使用, 去训练一个模型, 得到测试集上的表现. 然后我们去掉一个特征, 再去训练, 用交叉验证看看测试集上的表现. 如果表现比原来还要好, 我们可以去除这个特征.
4. 查看相关性表, 去除相关性最高的一些特征

A 1 和 2

B 2, 3和4

C 1, 2和4

D All

正确答案是:D

解析:

1.前向特征选择方法和后向特征排除方法是我们特征选择的常用方法
2.如果前向特征选择方法和后向特征排除方法在大数据上不适用, 可以用这里第三种方法.
3.用相关性的度量去删除多余特征, 也是一个好方法

8、对于随机森林和GradientBoosting Trees, 下面说法正确的是:
1 在随机森林的单个树中, 树和树之间是有依赖的, 而GradientBoosting Trees中的单个树之间是没有依赖的
2 这两个模型都使用随机特征子集, 来生成许多单个的树
3 我们可以并行地生成GradientBoosting Trees单个树, 因为它们之间是没有依赖的
4 GradientBoosting Trees训练模型的表现总是比随机森林好

A 2

B 1 and 2

C 1, 3 and 4

D 2 and 4

正确答案是:A

更多详情请参见《通俗理解kaggle比赛大杀器xgboost》:https://blog.csdn.net/v_JULY_v/article/details/81410574,循序渐进,先后理解:决策树、CBDT、xgboost。

解析:

1 随机森林是基于bagging的, 在随机森林的单个树中, 树和树之间是没有依赖的。
2 Gradient Boosting trees是基于boosting的,且GradientBoosting Trees中的单个树之间是有依赖关系。
3 这两个模型都使用随机特征子集, 来生成许多单个的树。
9、对于PCA(主成分分析)转化过的特征 ,  朴素贝叶斯的”不依赖假设”总是成立, 因为所有主要成分是正交的, 这个说法是 :

A 正确的

B 错误的

正确答案是: B

解析:

这个说法是错误的, 首先, “不依赖”和”不相关”是两回事, 其次, 转化过的特征, 也可能是相关的
10、对于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的降维帮助的
1、对于下图, 最好的主成分选择是多少 ? 

A 7

B 30

C 35

D Can’t Say

正确答案是: B

解析:

主成分选择使variance越大越好, 在这个前提下, 主成分越少越好。
2、数据科学家可能会同时使用多个算法(模型)进行预测, 并且最后把这些算法的结果集成起来进行最后的预测(集成学习),以下对集成学习说法正确的是

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

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

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

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

正确答案是: B

3、在有监督学习中, 我们如何使用聚类方法? 
1. 我们可以先创建聚类类别, 然后在每个类别上用监督学习分别进行学习
2. 我们可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习
3. 在进行监督学习之前, 我们不能新建聚类类别
4. 我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

A 2 和 4

B 1 和 2

C3 和 4

D  1 和3

正确答案是: B

解析:

我们可以为每个聚类构建不同的模型, 提高预测准确率。
“类别id”作为一个特征项去训练, 可以有效地总结了数据特征。
4、以下说法正确的是 
1. 一个机器学习模型,如果有较高准确率,总是说明这个分类器是好的
2. 如果增加模型复杂度, 那么模型的测试错误率总是会降低
3. 如果增加模型复杂度, 那么模型的训练错误率总是会降低
4. 我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

A 1

B 2

C 3

D 2和3

E 都错

正确答案是:E

解析:

1的模型中, 如果负样本占比非常大,也会有很高的准确率, 对正样本的分类不一定很好;
4的模型中, “类别id”可以作为一个特征项去训练, 这样会有效地总结了数据特征。
5、对应GradientBoosting tree算法, 以下说法正确的是:
1. 当增加最小样本分裂个数,我们可以抵制过拟合
2. 当增加最小样本分裂个数,会导致过拟合
3. 当我们减少训练单个学习器的样本个数,我们可以降低variance
4. 当我们减少训练单个学习器的样本个数,我们可以降低bias

A 2 和 4

B 2 和 3

C 1 和 3

D 1 和 4

正确答案是:C

解析:

最小样本分裂个数是用来控制“过拟合”参数。太高的值会导致“欠拟合”,这个参数应该用交叉验证来调节。
第二点是考bias和variance概念的。
6、以下哪个图是KNN算法的训练边界

A B

B A

C D

D C

E 都不是

正确答案是: B

解析:

KNN算法肯定不是线性的边界, 所以直的边界就不用考虑了。另外这个算法是看周围最近的k个样本的分类用以确定分类,所以边界一定是坑坑洼洼的
7、如果一个训练好的模型在测试集上有100%的准确率, 这是不是意味着在一个新的数据集上,也会有同样好的表现?

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

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

正确答案是: B

8、下面的交叉验证方法
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个模型
9、变量选择是用来选择最好的判别器子集, 如果要考虑模型效率,我们应该做哪些变量选择的考虑?
1. 多个变量其实有相同的用处
2. 变量对于模型的解释有多大作用
3. 特征携带的信息
4. 交叉验证

A 1 和 4

B 1, 2 和 3

C 1,3 和 4

D 以上所有

正确答案是:C

解析:

注意, 这题的题眼是考虑模型效率,所以不要考虑选项2.
10、对于线性回归模型,包括附加变量在内,以下的可能正确的是 :
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递增或不变.
1、对于下面三个模型的训练情况, 下面说法正确的是:

1. 第一张图的训练错误与其余两张图相比,是最大的
2. 最后一张图的训练效果最好,因为训练错误最小
3. 第二张图比第一和第三张图鲁棒性更强,是三个里面表现最好的模型
4. 第三张图相对前两张图过拟合了
5. 三个图表现一样,因为我们还没有测试数据集

 A  1 和 3

B 1 和 3

C 1, 3 和 4

D 5

正确答案是:C,

解析:

最后一张过拟合, 训练错误最小, 第一张相反, 训练错误就是最大了. 所以1是对的;
仅仅训练错误最小往往说明过拟合, 所以2错, 4对;
第二张图平衡了拟合和过拟合, 所以3对;
2、对于线性回归,我们应该有以下哪些假设?
1. 找到离群点很重要, 因为线性回归对离群点很敏感
2. 线性回归要求所有变量必须符合正态分布
3. 线性回归假设数据没有多重线性相关性

A 1 和 2

B 2 和 3

C 1,2 和 3

D 以上都不是

正确答案是:D

解析:

第1个假设, 离群点要着重考虑, 第一点是对的
第2个假设, 正态分布不是必须的. 当然, 如果是正态分布, 训练效果会更好
第3个假设, 有少量的多重线性相关性也是可以的, 但是我们要尽量避免
3、当我们构造线性模型时, 我们注意变量间的相关性. 在相关矩阵中搜索相关系数时, 如果我们发现3对变量的相关系数是(Var1 和Var2, Var2和Var3, Var3和Var1)是-0.98, 0.45, 1.23 . 我们可以得出什么结论: 
1. Var1和Var2是非常相关的
2. 因为Var1和Var2是非常相关的, 我们可以去除其中一个
3. Var3和Var1的1.23相关系数是不可能的

A 1 and 3

B 1 and 2

C 1,2 and 3

D 1

正确答案是:C

解析:

相关性系数范围应该是 [-1,1]
一般地, 如果相关系数大于0.7或者小于-0.7, 是高相关的.
Var1和Var2相关系数是接近负1, 所以这是多重线性相关, 我们可以考虑去除其中一个. 
所以1, 2, 3个结论都是对的, 选C.
4、如果在一个高度非线性并且复杂的一些变量中, 一个树模型可能比一般的回归模型效果更好. 这是()

A 对的

B 错的

正确答案是:A

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

A 他们经常不会过拟合

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

C 他们通常会过拟合

正确答案是:C

解析:

答案:C,弱学习者是问题的特定部分。所以他们通常不会过拟合,这也就意味着弱学习者通常拥有低方差和高偏差。
6、下面哪个/些选项对 K 折交叉验证的描述是正确的?
1.增大 K 将导致交叉验证结果时需要更多的时间
2.更大的 K 值相比于小 K 值将对交叉验证结构有更高的信心
3.如果 K=N,那么其称为留一交叉验证,其中 N 为验证集中的样本数量

A 1 和 2

B 2 和 3

C 1 和 3

D 1、2 和 3

正确答案是:D

解析:

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

解析:

答案(B):t-SNE 算法考虑最近邻点而减少数据维度。所以在使用 t-SNE 之后,所降的维可以在最近邻空间得到解释。但 PCA 不能。
8、给定三个变量 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

正确答案是:E

解析:

答案(E):特征之间的相关性系数不会因为特征加或减去一个数而改变。
9、为了得到和 SVD 一样的投射(projection),你需要在 PCA 中怎样做?

A 将数据转换成零均值

B 将数据转换成零中位数

C 无法做到

正确答案是:A

解析:

答案(A):当数据有一个 0 均值向量时,PCA 有与 SVD 一样的投射,否则在使用 SVD 之前,你必须将数据均值归 0。
10、假设我们有一个数据集,在一个深度为 6 的决策树的帮助下,它可以使用 100% 的精确度被训练。现在考虑一下两点,并基于这两点选择正确的选项。
注意:所有其他超参数是相同的,所有其他因子不受影响。
1.深度为 4 时将有高偏差和低方差
2.深度为 4 时将有低偏差和低方差

A 只有 1

B 只有 2

C 1 和 2

D 没有一个

正确答案是:A

解析:

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

猜你喜欢

转载自blog.csdn.net/abc_138/article/details/82855202
今日推荐