如果您想在数据科学领域找到一份工作,您需要通过严格的面试过程。许多顶级公司都有 3 轮以上的轮次,所以要做好回答的准备 许多 机器学习面试问题。
在此过程中,您将接受各种技能的测试,包括:
- 您的技术和编程技能
- 您为开放式问题构建解决方案的能力
- 您有效应用机器学习的能力
- 您使用多种方法分析数据的能力
- 您的沟通技巧、文化契合度等。
- 以及您对数据科学和机器学习关键概念的掌握(←这是本文的重点)
在这篇文章中,我们将提供一些机器学习面试问题和答案的示例。但在我们接触它们之前,有一些 2个重要注意事项:
- 这并不是一个详尽的列表,而是您可能期望的内容的预览。
- 这些答案旨在为您提供简洁的提醒。如果这是您第一次看到一个概念,您需要对其进行更多研究才能得到有意义的答案。
以下问题分为 9 个主要主题。
1. 大局观
基本的机器学习理论,例如偏差-方差权衡。
1.1 – 什么是参数模型?举个例子。
参数 模型是具有有限数量参数的模型。要预测新数据,您只需要知道模型的参数即可。示例包括线性回归、逻辑回归和线性 SVM。
非参数化 模型具有无限数量的参数,从而具有更大的灵活性。要预测新数据,您需要了解模型的参数以及已观察到的数据的状态。示例包括决策树、k 最近邻和使用潜在狄利克雷分析的主题模型。
1.2 – 什么是“维度诅咒”?
当你拥有更多的特征(维度)时,搜索解决方案空间的难度就会变得更加困难。
考虑一下在一条线上寻找一分钱、在田野里寻找一分钱、在建筑物中寻找一分钱的类比。维度越多,需要的数据量就越大。
1.3 – 解释偏差-方差权衡。
预测模型在偏差(模型对数据的拟合程度)和方差(模型根据输入的变化而变化的程度)之间进行权衡。
更简单的模型 是稳定的(低方差),但它们与事实不接近(高偏差)。
更多的 复杂模型 更容易过度拟合(高方差),但它们的表达能力足以接近事实(低偏差)。
对于给定问题的最佳模型通常位于中间的某个位置。
2. 优化
寻找模型最佳参数的算法。
2.1 – 随机梯度下降(SGD)和梯度下降(GD)有什么区别?
这两种算法都是通过根据数据评估参数然后进行调整来找到一组最小化损失函数的参数的方法。
在标准梯度下降中,您将评估每组参数的所有训练样本。这类似于朝着解决方案采取大而缓慢的步骤。
在随机梯度下降中,您将在更新参数之前仅评估参数集的 1 个训练样本。这类似于采取小而快速的步骤来解决问题。
2.2 – 你什么时候会使用 GD 而不是 SDG,反之亦然?
理论上,GD 比 SGD 更好地最小化误差函数。然而,一旦数据集变大,SGD 收敛速度就会更快。
这意味着 GD 适用于小型数据集,而 SGD 适用于较大的数据集。
然而,在实践中,SGD 用于大多数应用程序,因为它可以很好地最小化误差函数,同时对于大型数据集来说速度更快、内存效率更高。
3. 数据预处理
处理缺失数据、偏态分布、异常值等。
3.1 – Box-Cox 变换的用途是什么?
Box-Cox 变换是一种广义的“幂变换”,它对数据进行变换以使分布更加正态。
例如,当其lambda参数为0时,相当于对数变换。
它用于稳定方差(消除异方差)并使分布标准化。
3.2 – 处理异常值的 3 种数据预处理技术是什么?
- Winsorize(阈值上限)。
- 进行变换以减少偏差(使用 Box-Cox 或类似方法)。
- 如果您确定异常值是异常或测量错误,请删除它们。
3.3 – 降维的三种方法是什么?
- 删除共线特征。
- 执行 PCA、ICA 或其他形式的算法降维。
- 将特征与特征工程相结合。
4. 采样和分割
如何分割数据集以调整参数并避免过度拟合。
4.1 – 您应该为训练、验证和测试集分配多少数据?
你必须找到一个平衡点,而且每个问题都没有正确的答案。
如果您的测试集太小,您对模型性能的估计将会不可靠(性能统计数据将具有很高的方差)。如果你的训练集太小,你的实际模型参数将会有很大的方差。
一个好的经验法则是使用 80/20 的训练/测试比例。然后,您的训练集可以进一步分为训练/验证或分区以进行交叉验证。
4.2 – 如果您将数据分成训练/测试部分,是否仍然可能过度拟合您的模型?
是的,这绝对有可能。初学者常见的一个错误是在看到模型在测试集上的性能后重新调整模型或使用不同参数训练新模型。
在这种情况下,模型选择过程导致了过度拟合。在您准备好做出最终选择之前,测试集不应受到污染。
5.监督学习
使用分类和回归模型从标记数据中学习。
5.1 – 决策树的优点和缺点是什么?
优点: 决策树易于解释、非参数(这意味着它们对异常值具有鲁棒性),并且需要调整的参数相对较少。
缺点: 决策树很容易出现过度拟合。然而,这个问题可以通过随机森林或提升树等集成方法来解决。
5.2 – 神经网络的优点和缺点是什么?
优点: 神经网络(特别是深度神经网络)已经导致图像、音频和视频等非结构化数据集的性能突破。它们令人难以置信的灵活性使它们能够学习其他机器学习算法无法学习的模式。
缺点: 然而,它们需要大量的训练数据才能收敛。选择正确的架构也很困难,而且内部“隐藏”层也难以理解。
5.3 – 如何根据训练集大小选择分类器?
如果训练集很小,高偏差/低方差模型(例如朴素贝叶斯)往往会表现更好,因为它们不太可能过度拟合。
如果训练集很大,低偏差/高方差模型(例如逻辑回归)往往会表现更好,因为它们可以反映更复杂的关系。
6.无监督学习
使用因子和聚类分析模型从未标记的数据中学习。
6.1 – 解释潜在狄利克雷分配(LDA)。
潜在狄利克雷分配 (LDA) 是主题建模或按主题对文档进行分类的常用方法。
LDA 是一种生成模型,它将文档表示为主题的混合体,每个主题都有自己的可能单词的概率分布。
“狄利克雷”分布只是分布的分布。在 LDA 中,文档是主题的分布,也是单词的分布。
6.2 – 解释主成分分析 (PCA)。
PCA 是一种通过将数据集中的特征组合成不相关的线性组合来转换特征的方法。
这些新特征或主成分依次最大化所表示的方差(即第一个主成分具有最大方差,第二个主成分具有第二大方差,依此类推)。
因此,PCA 对于降维非常有用,因为您可以设置任意方差截止值。
7. 模型评估
根据各种绩效指标做出决策。
7.1 – 什么是 ROC 曲线以及什么是 AUC(又名 AUROC)?
ROC(接收器操作特性)是真阳性率(y 轴)与假阳性率(x- 轴)的二元分类器的性能图
轴)。
AUC 是 ROC 曲线下的面积,它是评估二元分类模型的常用性能指标。
它相当于均匀抽取的随机正例排在均匀抽取的随机负例之前的预期概率。
7.2 – 作为样本外评估指标,为什么 ROC 曲线下面积 (AUROC) 比原始准确度更好?
与原始准确性不同,AUROC 对于类别不平衡具有鲁棒性。
例如,如果您想检测一种仅在 1% 的人口中流行的癌症类型,您可以通过简单地将每个人都患有癌症进行分类来构建一个达到 99% 准确率的模型。
8.集成学习
组合多个模型以获得更好的性能。
8.1 – 为什么集成方法优于单个模型?
它们平均了偏差、减少了方差并且不太可能过度拟合。
机器学习中有一条共同点:“集成并获得 2%”。
这意味着您可以像往常一样构建模型,并且通常期望集成能带来小幅性能提升。
8.2 – 解释装袋。
Bagging 或 Bootstrap Aggregating 是一种集成方法,其中首先通过重采样将数据集划分为多个子集。
然后,使用每个子集来训练模型,并通过对组件模型进行投票或平均来做出最终预测。
装袋是并行执行的。
9. 商业应用
机器学习如何帮助不同类型的企业。
9.1 –(S-a-a-S 初创公司 | 零售银行 | 电子商务网站)有哪些关键业务指标?
考虑关键业务指标(通常简称为 KPI(关键绩效指标))是数据科学家工作的重要组成部分。这里有一些例子,但你应该练习自己进行头脑风暴。
提示:如有疑问,请从更简单的问题开始:“这家企业如何赚钱?”
- S-a-a-S 初创公司:客户生命周期价值、新帐户、帐户生命周期、流失率、使用率、社交分享率
- 零售银行:线下潜在客户、线上潜在客户、新账户(按账户类型细分)、风险因素、产品亲和力
- 电子商务:产品销量、平均购物车价值、购物车放弃率、电子邮件线索、转化率
9.2 – 您如何帮助我们的营销团队提高效率?
答案取决于公司的类型。这里有些例子。
- 聚类算法为每种类型的营销活动构建自定义客户群。
- 对标题进行自然语言处理,以在投放广告支出之前预测效果。
- 根据用户的网站行为预测转化概率,以创建更好的重新定位营销活动。
你怎么做的?有没有什么概念是您不熟悉的?如果您发现自己的知识有任何差距,请务必花一些额外的时间准备!
记住…
“命运眷顾有准备的人。” ~ 路易斯·巴斯德博士
如需获得数据科学面试的完整端到端解决方案,请查看我们的数据科学面试准备工具包。