跳转至

机器学习笔试 面试题 三

机器学习笔试/面试题三

本文讨论了机器学习中 SVM 分类器、数据降维算法(如 PCA、LDA、t-SNE 等)相关的笔试/面试题及答案解析,涵盖概念理解、应用场景、参数影响等方面。关键要点包括:

SVM 分类器:决策边界仅受支持向量影响;泛化误差指对未知数据的预测能力;硬间隔分类严格,可能过拟合;大数据集因训练复杂度高不适合 SVM;其效率依赖核函数、核参数和软间隔参数;大 γ 值的 RBF 核使模型仅用接近超平面的点建模;代价参数平衡误分类与模型复杂性。

SVM 应用场景:在含噪声与重叠数据点时表现糟糕;二类分类训练一次即可;增加模型复杂度可能导致过拟合。

降维算法概述:降维不一定需要目标变量;创建新变量并建模可表示降维;删除缺失值多的列是较好的降维方法;降维可减少模型计算时间。

PCA 算法:无监督算法,最大化数据方差;若第一个特征值大且其余小,性能更好;主成分彼此正交。

LDA 算法:有监督降维,最大化类别间距离并最小化类内距离;最多产生 c-1 个判别向量。

t-SNE 算法:非线性算法,学习非参数映射;适合减少文本数据高维;可调整维度数量、邻居数量、最大迭代次数等超参数;大数据集降维效果可能不佳。

算法比较:PCA 线性,t-SNE 非线性;LDA 有监督,PCA 无监督;逻辑回归在类别分离好时参数估计可能不稳定,样本量小且特征正态分布时 LDA 更稳定。

代码块

1、假定你用一个线性SVM分类器求解二类分类问题,如下图所示,这些用红色圆圈起来的点表示支持向量,如果移除这些圈起来的数据,决策边界(即分离超平面)是否会发生改变?

Image

代码块

如果移除这些圈起来的数据,决策边界(即分离超平面)是否会发生改变?


A Yes

B No

正确答案是:B

解析:

代码块

从数据的分布来看,移除那三个数据,决策边界不会受影响。

代码块

12、如果将数据中除圈起来的三个点以外的其他数据全部移除,那么决策边界是否会改变?

Image

A 会

B 不会

正确答案是:B

解析:

代码块

1 决策边界只会被支持向量影响,跟其他点无关。

代码块

13、关于SVM泛化误差描述正确的是

A 超平面与支持向量之间距离


B SVM对未知数据的预测能力

C SVM的误差阈值

正确答案是:B

解析:

代码块

1 统计学中的泛化误差是指对模型对未知数据的预测能力

代码块

1 4、以下关于硬间隔hard margin描述正确的是

A SVM允许分类存在微小误差

B SVM允许分类是有大量误差

正确答案是:A

代码块

1 硬间隔意味着SVM在分类时很严格,在训练集上表现尽可能好,有可能会造成过拟合。

代码块

1 5、训练SVM的最小时间复杂度为 $ O(n^2) $,那么一下哪种数据集不适合用SVM?

A 大数据集

B 小数据集

C 中等大小数据集

D 和数据集大小无关

正确答案是:A

解析:

代码块

1 有明确分类边界的数据集最适合SVM


代码块

1 6、SVM的效率依赖于

A 核函数的选择

B 核参数

C 软间隔参数

D 以上所有

正确答案是:D

解析:

A 对

B 错

正确答案是:A

代码块

18、SVM在下列那种情况下表现糟糕

A 线性可分数据

B 清洗过的数据

C 含噪声数据与重叠数据点

正确答案是:C

解析:

代码块

1 当数据中含有噪声数据与重叠的点时,要画出干净利落且无误分类的超平面很难


1 9、假定你使用了一个很大 $ \gamma $值的RBF核,这意味着:

A 模型将考虑使用远离超平面的点建模

B 模型仅使用接近超平面的点来建模

C 模型不会被点到超平面的距离所影响

D 以上都不正确

正确答案是:B

解析:

代码块

1 SVM调参中的 $ \gamma $衡量距离超平面远近的点的影响。

2

3 对于较小的 $ \gamma $,模型受到严格约束,会考虑训练集中的所有点,而没有真正获取到数据的模式、对于较大的 $ \gamma $,模型能很好地学习到模型。

A 交叉验证的次数

B 使用的核

C 误分类与模型复杂性之间的平衡

D 以上均不是

正确答案是:C

解析:

代码块

1 代价参数决定着SVM能够在多大程度上适配训练数据。

2 如果你想要一个平稳的决策平面,代价会比较低;如果你要将更多的数据正确分类,代价会比较高。可以简单的理解为误分类的代价。

代码块

1、1、假定你使用SVM学习数据X,数据X里面有些点存在错误。现在如果你使用一个二次核函数,多项式阶数为2,使用松弛变量C作为超参之一。

2 当你使用较大的C(C趋于无穷),则:

A 仍然能正确分类数据

B 不能正确分类


C 不确定

D 以上均不正确

正确答案是:A

解析:

代码块

1 采用更大的C,误分类点的惩罚就更大,因此决策边界将尽可能完美地分类数据。

当C趋于无穷大时,这个问题也就是不允许出现分类误差的样本存在,那这就是一个hard-margin SVM问题(过拟合)

当C趋于0时,我们不再关注分类是否正确,只要求间隔越大越好,那么我们将无法得到有意义的解且算法不会收敛。(欠拟合)

12、假定你使用SVM学习数据X,数据X里面有些点存在错误。现在如果你使用一个二次核函数,多项式阶数为2,使用松弛变量C作为超参之一。

2、假定你使用SVM学习数据X,数据X里面有些点存在错误。现在如果你使用一个二次核函数,多项式阶数为2,使用松弛变量C作为超参之一。

2 如果使用较小的C(C趋于0),则:

A 误分类

B 正确分类

C 不确定

D 以上均不正确

正确答案是:A

代码块

13、如果我使用数据集的全部特征并且能够达到100%的准确率,但在测试集上仅能达到70%左右,这说明:

A 欠拟合

B 模型很棒


C 过拟合

正确答案是:C

代码块

1 如果在训练集上模型很轻易就能达到100%准确率,就要检查是否发生过拟合

代码块

1 4、下面哪个属于SVM应用

A 文本和超文本分类

B 图像分类

C 新文章聚类

D 以上均是

正确答案是:D

解析:

代码块

1 5、假设你训练SVM后,得到一个线性决策边界,你认为该模型欠拟合。在下次迭代训练模型时,应该考虑:

A 增加训练数据

B 减少训练数据

C 计算更多变量

D 减少特征

正确答案是:C

解析:


1 由于是欠拟合,最好的选择是创造更多特征带入模型训练。

代码块

16、假设你训练SVM后,得到一个线性决策边界,你认为该模型欠拟合。假如你想修改SVM的参数,同样达到模型不会欠拟合的效果,应该怎么做?

A 增大参数C

B 减小参数C

C 改变C并不起作用

D 以上均不正确

正确答案是:A

代码块

17、SVM中使用高斯核函数之前通常会进行特征归一化,以下关于特征归一化描述不正确的是?

A 经过特征正则化得到的新特征优于旧特征

B 特征归一化无法处理类别变量

C SVM中使用高斯核函数时,特征归一化总是有用的

正确答案是:C

代码块

18、假设现在只有两个类,这种情况下SVM需要训练几次?

A1

B2

C3

D4


正确答案是:A

解析:

代码块

19、假设你训练了一个基于线性核的SVM,多项式阶数为2,在训练集和测试集上准确率都为100%。

2 如果增加模型复杂度或核函数的多项式阶数,将会发生什么?

A 导致过拟合

B 导致欠拟合

C 无影响,因为模型已达100%准确率

D 以上均不正确

正确答案是:A

解析:

代码块

1 增加模型复杂度会导致过拟合

代码块

110、想象一下,机器学习中有1000个输入特征和1个目标特征,必须根据输入特征和目标特征之间的关系选择100个最重要的特征。你认为这是减少维数的例子吗?

A 是

B 不是

正确答案是:A

代码块

1、判断:没有必要有一个用于应用维数降低算法的目标变量。

A 真


B 假

正确答案是:A

解析:

代码块

1 LDA是有监督降维算法的一个例子。

代码块

1 2、在数据集中有4个变量,如A,B,C和D。执行了以下操作:

2 步骤1:使用上述变量创建另外两个变量,即 $ E = A + 3 \times B $和 $ F = B + 5 \times C + D $。

3 步骤2:然后只使用变量E和F建立了一个随机森林模型。

4

5 上述步骤可以表示降维方法吗?

A 真

B 假

正确答案是:A

代码块

1 因为步骤1可以用于将数据表示为2个较低的维度。

A 删除缺少值太多的列

B 删除数据差异较大的列

C 删除不同数据趋势的列

D 都不是

正确答案是:A

解析:

代码块

1 如果列的缺失值太多(例如99%),那么可以删除这些列

代码块


14、判断:降维算法是减少构建模型所需计算时间的方法之一。

A 真

B 假

正确答案是:A

解析:

A t-SNE

B PCA

C LDA

D 都不是

正确答案是:D

代码块

16、判断:PCA可用于在较小维度上投影和可视化数据。

A 真

B 假

正确答案是:A

解析:

代码块

1 有时绘制较小维数据非常有用,可以使用前两个主要分量,然后使用散点图可视化数据。

代码块

1 7、最常用的降维算法是PCA,以下哪项是关于PCA的?

2 1. PCA是一种无监督的方法

3 2. 它搜索数据具有最大差异的方向

4 3. 主成分的最大数量<=特征能数量

5 4. 所有主成分彼此正交


A 2、3和4

B 1、2和3

C 1、2和4

D 以上所有

正确答案是:D

代码块

18、假设使用维数降低作为预处理技术,使用PCA将数据减少到k维度。然后使用这些PCA预测作为特征,以下哪个声明是正确的?

18、假设使用维数降低作为预处理技术,使用PCA将数据减少到k维度。然后使用这些PCA预测作为特征,以下哪个声明是正确的?

A更高的“k”意味着更正则化

B更高的“k”意味着较少的正则化

C 都不对

正确答案是:B

解析:

代码块

1 较高的k导致较少的平滑,因此能够保留更多的数据特征,从而减少正则化。

2 k越高。则意味着特征越大,特征越多,就有可能导致训练不充分,训练不充分就可能导致欠拟合,欠拟合自然就需要更少的正则化。

代码块

1 9、在相同的机器上运行并设置最小的计算能力,以下哪种情况下t-SNE比PCA降维效果更好?

A 具有1百万项300个特征的数据集

B 具有100000项310个特征的数据集

C 具有10,000项8个特征的数据集

D 具有10,000项200个特征的数据集

正确答案是:C

解析:

代码块


1 10、对于t-SNE代价函数,以下陈述中的哪一个正确?

A 本质上是不对称的

B 本质上是对称的

C 与 SNE 的代价函数相同

正确答案是:B

解析:

代码块

1 SNE代价函数是不对称的,这使得使用梯度下降难以收敛。对称是SNE和t-SNE代价函数之间的主要区别之一。

代码块

1、想像正在处理文本数据,使用单词嵌入(Word2vec)表示使用的单词。在单词嵌入中,最终会有1000维。现在想减小这个高维数据的维度,这样相似的词应该在最邻近的空间中具有相似的含义。在这种情况下,您最有可能选择以下哪种算法?

At-SNE

B PCA

CLDA

D 都不是

正确答案是:A

解析:

代码块

t-SNE代表t分布随机相邻嵌入,它考虑最近的邻居来减少数据。

代码块

1 2、判断:t-SNE学习非参数映射。

A 真

B 假


正确答案是:A

解析:

代码块

1 t-SNE学习非参数映射,这意味着它不会学习将数据从输入空间映射到地图的显式函数。

At-SNE是线性的,而PCA是非线性的

Bt-SNE和PCA都是线性的

Ct-SNE和PCA都是非线性的

Dt-SNE是非线性的,而PCA是线性的

正确答案是:D

代码块

1 4、在t-SNE算法中,可以调整以下哪些超参数?

A 维度数量

B 平稳测量有效数量的邻居

C 最大迭代次数

D 以上所有

正确答案是:D

代码块

15、与PCA相比,t-SNE的以下说明哪个正确?

A 数据巨大(大小)时,t-SNE可能无法产生更好的结果。

B 无论数据的大小如何,T-NSE总是产生更好的结果。

C 对于较小尺寸的数据,PCA总是比t-SNE更好。

D 都不是

正确答案是:A

代码块

1 6、Xi和Xj是较高维度表示中的两个不同点,其中Yi和Yj是较低维度中的Xi和Xj的表示。

2 1. 数据点 Xi 与数据点 Xj 的相似度是条件概率 p(j | i)。


3 2. 数据点 $ Y_i $ 与数据点 $ Y_j $ 的相似度是条件概率 $ q(j \mid i) $。

4 对于在较低维度空间中的 $ x_i $ 和 $ x_j $ 的完美表示,以下哪一项必须是正确的?

$ A_p(j \mid i) = 0 $, $ q(j \mid i) = 1 $

$ B_p(j \mid i) $

$ C_p(j \mid i) = q(j \mid i) $

$ D_P(j \mid i) > q(j \mid i) $

正确答案是:C

解析:

代码块

1 两点的相似性的条件概率必须相等,因为点之间的相似性必须在高维和低维中保持不变,以使它们成为完美的表示

A 0%

B 10%

C 30%

D 40%

正确答案是:A

解析:

代码块

1 重建误差为0,因为所有三个点完全位于第一个主要分量的方向上或者计算重建;

代码块

1 8、LDA的以下哪项是正确的?


Image

A LDA旨在最大化之间类别的距离,并最小化类内之间的距离

B LDA旨在最小化类别和类内之间的距离

C LDA旨在最大化类内之间的距离,并最小化类别之间的距离

D LDA旨在最大化类别和类内之间的距离

正确答案是:A

代码块

19、LDA的思想是找到最能区分两类别之间的线,下图中哪个是好的投影?

ALD1

BLD2

C 两者

D 都不是

正确答案是:A,


代码块0、以下哪种情况LDA会失败?

A 如果有辨识性的信息不是平均值,而是数据的方差

B 如果有辨识性的信息是平均值,而不是数据方差

C 如果有辨识性的信息是数据的均值和方差

D 都不是

正确答案是:A

代码块

1、PCA和LDA的以下比较哪些是正确的?

2 LDA和PCA都是线性变换技术

3 LDA是有监督的,而PCA是无监督的

4 PCA最大化数据的方差,而LDA最大化不同类之间的分离

A1和2

B1和3

C 只有3

D1、2和3

正确答案是:D

2、PCA是一种很好的技术,因为它很容易理解并通常用于数据降维。获得特征值 $ \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_N $ 并画图。

Image
Image

上述哪个图表显示PCA的性能更好?其中M是主要分量,D是特征的总数。

A 左图

B 右图

正确答案是:A


解析:如果f(M)渐近线快速到达1,则PCA是好的;如果第一个特征值较大且其余较小,则会发生这种情况。如果所有特征值大致相等,PCA是坏的。

3、以下哪个选项是真的?

A LDA明确地尝试对数据类别之间的差异进行建模,而PCA没有。

B 两者都试图模拟数据类之间的差异。

C PCA明确地试图对数据类别之间的差异进行建模,而LDA没有。

D 两者都不试图模拟数据类之间的差异。

14、应用PCA后,以下哪项可以是前两个主成分?

21.(0.5,0.5,0.5,0.5)和(0.71,0.71,0,0)

3(0.5,0.5,0.5,0.5)和(0,0,-0.71,0.71)

4(0.5,0.5,0.5,0.5)和(0.5,0.5,-0.5,-0.5)

5(0.5,0.5,0.5,0.5)和(-0.5,-0.5,0.5,0.5)

A 1 和 2

B 1 和 3

C2 和 4

D3 和 4

正确答案是:D

解析:对于前两

代码块

15、以下哪一项给出了逻辑回归与LDA之间的差异?

2 如果类别分离好,逻辑回归的参数估计可能不稳定。

3 如果样本量小,并且每个类的特征分布是正常的。在这种情况下,线性判别分析比逻辑回归更稳定。

A1

B2

C1和2

D 都不是

正确答案是:C

代码块


1 6、在PCA中会考虑以下哪个偏差?

A 垂直偏移

B 正交偏移

C两者

D 都不是

正确答案是:B

解析:总是将残差视为垂直偏移,正交偏移在PCA的情况下是有用的。

代码块

1 7、下面是三个散点图(A,B,C,从左到右)和和手绘的逻辑回归决策边界。

2 上图中哪一个显示了决策边界过度拟合训练数据?

AA

BB

CC

D 这些都没有

正确答案是:C

解析:由于在图3中,决策边界不平滑,表明其过度拟合数据。

A 20

B 9

C 21

D 11

正确答案是:B

解析:LDA最多产生c-1个判别向量。

代码块

19、给定的数据集包括“胡佛塔”和其他一些塔的图像。现在要使用PCA(特征脸)和最近邻方法来构建一个分类器,可以预测新图像是否显示“胡佛塔”。该图给出了输入的训练图像样本

2 为了从“特征脸”算法获得合理的性能,这些图像将需要什么预处理步骤?

3 将塔对准图像中相同的位置。

4 将所有图像缩放或裁剪为相同的大小。


B2

C1和2

D都不是

正确答案是:C

代码块

1 0、下图中主成分的最佳数量是多少?

A7

B30

C40

D 不知道

正确答案是:B

解析:可以在上图中看到,主成分的数量为30时以最小的数量得到最大的方差。