热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【机器学习】21个机器学习面试问答

如果您希望获得数据科学的工作,您需要通过严格且有竞争力的面试流程。事实上,大多数顶级公司将至少进行3轮面试。在此过程中,您将接受各种技能

如果您希望获得数据科学的工作,您需要通过严格且有竞争力的面试流程。事实上,大多数顶级公司将至少进行3轮面试。

在此过程中,您将接受各种技能的测试,包括:


  • 您的技术和编程技巧
  • 您能够为开放式问题构建解决方案
  • 您有效应用机器学习的能力
  • 您使用各种方法分析数据的能力
  • 您的沟通技巧,文化适应性等
  • 你掌握了数据科学和机器学习中的关键概念(←这是本文的重点)

在这篇文章中,我们将提供机器学习面试问题和答案的一些例子。但在我们接触它们之前,有两个重要的注意事项:


  1. 这并不是一个详尽的列表,而是您可能期望的预览。
  2. 答案是为您提供简明的提醒。如果这是您第一次看到这个概念,那么您需要对其进行更多研究才能使答案有意义。

以下问题在9个主要主题中被打破。


  1. 大图
  2. 优化
  3. 数据预处理
  4. 采样和拆分
  5. 监督学习
  6. 无监督学习
  7. 模型评估
  8. 合奏学习
  9. 商业应用

大å¾


1.大图

必要的ML理论,例如Bias-Variance权衡。

1.1 - 什么是参数模型?举个例子。

参数模型是具有有限数量参数的模型。要预测新数据,您只需要知道模型的参数。示例包括线性回归,逻辑回归和线性SVM。

非参数模型是具有无限数量参数的模型,允许更大的灵活性。要预测新数据,您需要知道模型的参数和已观察到的数据的状态。示例包括决策树,k-最近邻居和使用潜在Dirichlet分析的主题模型。


  • 了解有关参数模型与非参数模型的更多信息

1.2 - 什么是“维度的诅咒?”

由于您拥有更多功能(维度),因此搜索解决方案空间的难度变得更加困难。

考虑一下在线上寻找一分钱而不是在建筑物中的比喻。您拥有的维度越多,您需要的数据量就越大。


  • 了解有关维度诅咒的更多信息(以及缩小尺寸)

1.3 - 解释偏差 - 方差权衡。

预测模型在偏差(模型与数据的拟合程度)和方差(模型根据输入变化的变化程度)之间进行权衡。

更简单的模型是稳定的(低方差),但它们并不接近事实(高偏差)。

复杂的模型更容易过度拟合(高变异),但它们足够表达以接近事实(低偏差)。

针对特定问题的最佳模型通常位于中间位置。


  • 了解有关偏差 - 方差权衡的更多信息

优化


2.优化

用于查找模型的最佳参数的算法。

2.1 - 随机梯度下降(SGD)和梯度下降(GD)之间有什么区别?

两种算法都是通过评估参数对数据然后进行调整来找到一组参数的方法,这些参数最小化损失函数。

在标准梯度下降中,您将评估每组参数的所有训练样本。这类似于朝着解决方案采取大而缓慢的步骤。

在随机梯度下降中,在更新之前,您将仅为该组参数评估1个训练样本。这类似于为解决方案采取小而快速的步骤。


  • 了解有关SGD与GD的更多信息

2.2 - 你什么时候使用GD而不是SDG,反之亦然?

GD理论上最小化误差函数比SGD更好。但是,一旦数据集变大,SGD会收敛得更快。

这意味着GD适用于小型数据集,而SGD适用于较大的数据集。

然而,在实践中,SGD用于大多数应用程序,因为它可以很好地最小化错误功能,同时对于大型数据集来说速度更快,内存效率更高。

 

 

数据预处理


3.数据预处理

处理丢失的数据,偏差的分布,异常值等。

3.1 - Box-Cox转换用于什么?

Box-Cox变换是一种广义的“功率变换”,它可以转换数据以使分布更加正常。

例如,当其lambda参数为0时,它等同于对数转换。

它用于稳定方差(消除异方差性)并使分布正常化。


  • 了解有关Box-Cox转型的更多信息

3.2 - 处理异常值的3种数据预处理技术是什么?


  1. Winsorize(上限为阈值)。
  2. 转换以减少偏斜(使用Box-Cox或类似方法)。
  3. 如果您确定它们是异常或测量错误,请删除异常值。

3.3 - 减少维数的3种方法有哪些?


  1. 删除共线功能。
  2. 执行PCA,ICA或其他形式的算法降维。
  3. 将功能与功能工程相结合。
    • 详细了解功能工程最佳实践

 

 

采样和拆分


4.采样和拆分

如何拆分数据集以调整参数并避免过度拟合。

4.1 - 您应该为培训,验证和测试集分配多少数据?

你必须找到一个平衡点,并且每个问题都没有正确答案。

如果您的测试集太小,您将对模型性能进行不可靠的估计(性能统计将具有高差异)。如果您的训练集太小,您的实际模型参数将具有高差异。

一个好的经验法则是使用80/20列车/测试分割。然后,您的火车组可以进一步分为列车/验证或分区进行交叉验证。


  • 查看Python中的示例

4.2 - 如果您将数据拆分为列车/测试拆分,是否仍然可以过度使用您的模型?

是的,这绝对是可能的。一个常见的初学者错误是在看到测试集上的性能后重新调整模型或训练具有不同参数的新模型。

在这种情况下,它的模型选择过程会导致过度拟合。在您准备好进行最终选择之前,测试集不应该被污染。


  • 了解有关机器学习中过度拟合的更多信息

 

 

监督学习


5.监督学习

使用分类和回归模型从标记数据中学习。

5.1 - 决策树有哪些优点和缺点?

优点: 决策树易于解释,非参数(这意味着它们对异常值具有鲁棒性),并且调整的参数相对较少。

缺点: 决策树容易过度。但是,这可以通过随机森林或增强树等集合方法来解决。


  • 现代机器学习算法概述

5.2 - 神经网络的优点和缺点是什么?

优点: 神经网络(特别是深度NN)已经为非结构化数据集(如图像,音频和视频)带来了性能突破。它们令人难以置信的灵活性使他们能够学习其他ML算法无法学习的模式。

缺点:但是,它们需要大量的训练数据才能收敛。选择正确的架构也很困难,内部的“隐藏”层也难以理解。

5.3 - 如何根据训练集大小选择分类器?

如果训练集较小,则高偏差/低方差模型(例如朴素贝叶斯)往往表现更好,因为它们不太可能过度拟合。

如果训练集很大,低偏差/高方差模型(例如Logistic回归)往往表现更好,因为它们可以反映更复杂的关系。

 

 

无监督学习


6.无监督学习

使用因子和聚类分析模型学习未标记的数据。

6.1 - 解释潜在Dirichlet分配(LDA)。

潜在Dirichlet分配(LDA)是主题建模的常用方法,或按主题对文档进行分类。

LDA是一种生成模型,它将文档表示为主题的混合,每个主题都有自己的可能单词概率分布。

“Dirichlet”分布只是分布的分布。在LDA中,文档是作为单词分布的主题的分布。


  • Dirichlet分布的直观解释

6.2 - 解释主成分分析(PCA)。

PCA是一种通过将数据组合成不相关的线性组合来转换数据集中的要素的方法。

这些新特征或主成分依次最大化所表示的方差(即第一主成分具有最大方差,第二主成分具有第二多,等等)。

因此,PCA可用于降低维数,因为您可以设置任意方差截止值。


  • 了解有关PCA的更多信息

 

 

模型评估


7.模型评估

根据各种绩效指标做出决策。

7.1 - 什么是ROC曲线,什么是AUC(又名AUROC)?

ROC(接收器工作特性)真实阳性率(y轴)与假阳性率(x 
轴)的二元分类器的性能图。

AUC是ROC曲线下的面积,它是评估二元分类模型的通用性能指标。

它等于均匀绘制的随机正数在均匀绘制的随机负数之前排序的预期概率。


  • 了解有关ROC曲线的更多信息

7.2 - 为什么ROC曲线下面积(AUROC)优于原始精度作为样本外评估指标?

与原始精确度不同,AUROC对类不平衡具有很强的鲁棒性。

例如,如果您想要检测仅在1%人口中普遍存在的癌症类型,您可以通过简单地对每个人进行无癌症分类来建立一个达到99%准确度的模型。


  • 了解有关机器学习中的类不平衡的更多信息

 

 

合奏学习


8.合奏学习

结合多个模型以获得更好的性能。

8.1 - 为什么集合方法优于单个模型?

他们平均偏差,减少差异,并且不太可能过度拟合。

机器学习中有一个共同点:“合奏并获得2%”。

这意味着您可以像往常一样构建模型,并且通常期望通过集成来提高性能。

8.2 - 解释装袋。

Bagging或Bootstrap Aggregating是一种集合方法,其中数据集首先通过重新采样分成多个子集。

然后,每个子集用于训练模型,最终预测通过投票或平均组件模型来完成。

套袋是并行进行的。


  • 了解有关机器学习中的装袋,增强和堆叠的更多信息

 

 

商业应用


9.商业应用

机器学习如何帮助不同类型的企业。

9.1 - (SaaS启动|零售银行|电子商务网站)有哪些关键业务指标?

考虑关键业务指标(通常缩短为KPI(关键绩效指标))是数据科学家工作的重要组成部分。以下是一些例子,但你应该练习集思广益。

提示:如果有疑问,请从“这个企业如何赚钱?”这个简单的问题开始。


  • SaaS启动:客户终生价值,新帐户,帐户生命周期,流失率,使用率,社会分享率
  • 零售银行:离线销售线索,在线销售线索,新账户(按账户类型划分),风险因素,产品亲和力
  • 电子商务:产品销售,平均购物车价值,购物车放弃率,电子邮件潜在客户,转换率

9.2 - 您如何帮助我们的营销团队提高效率?

答案取决于公司的类型。这里有些例子。


  • 聚类算法为每种类型的营销活动构建自定义客户群。
  • 标题的自然语言处理,用于在投放广告支出之前预测效果。
  • 根据用户的网站行为预测转化概率,以便创建更好的重新定位广告系列。


你怎么做的?是否有任何您不熟悉的概念?如果您发现任何差距,请务必花些时间准备!

 

原文:https://elitedatascience.com/machine-learning-interview-questions-answers


推荐阅读
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 非计算机专业的朋友如何拿下多个Offer
    大家好,我是归辰。秋招结束后,我已顺利入职,并应公子龙的邀请,分享一些秋招面试的心得体会,希望能帮助到学弟学妹们,让他们在未来的面试中更加顺利。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • 题目描述:牛客网新员工Fish每天早上都会拿着一本英文杂志,在本子上写下一些句子。他的同事Cat对这些句子非常感兴趣,但发现这些句子的单词顺序被反转了。例如,“student. a am I”实际上是“I am a student.”。Cat请求你帮助他恢复这些句子的正常顺序。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有