作者:George Seif

可怕的机器学习面试,面试前你可能觉得你自己什么都知道,直到你被测试的时候才发现情况并没有你想象的那么简单!但是大可不必担心!

在过去的几个月里,我也面试了许多涉及数据科学和机器学习初级职位的公司。先透露一点我的学习背景,在一年前,我刚攻读完机器学习和计算机视觉的硕士学位,这些学习经历主要还是偏向研究/学术方面的。但是在最近的8个月我在一家创业公司工作。

我学习和工作接触到的专业包括数据科学、机器学习、自然语言处理和计算机视觉。我面试了亚马逊( Amazon )、特斯拉( Tesla )、三星( Samsung )、优步( Uber )、华为( Huawei )等大公司,也面了大大小小的许多初创企业。

今天我将与大家分享我被问到的所有面试问题以及如何处理这些问题。许多问题都是很常见的和有成熟的理论支撑,但也有许多问题都很有挑战性。我将列出一些最常见的问题,这些问题的答案很容易找到相关的解答资源,除此之外我还将更深入地讨论一些不那么常见和棘手的问题。我希望在阅读这篇文章后,你能在机器学习面试中取得优异成绩,并找到你梦想中的工作!

一些较为常见的问题

  • 偏插(Bias)和方差(Variance)之间的权衡是什么?
  • 什么是梯度下降(gradientdescent)?
  • 解释什么是过拟合(over-fitting)和欠拟合(under-fitting)以及如何控制它们?
  • 你如何对抗维度的灾难?
  • 什么是正则化(regularization),我们为什么使用它,并给出一些常见方法的例子?
  • 解释主成分分析( PCA )?
  • 为什么ReLU在神经网络中比Sigmoid更好、更常用?

我们接着来深入探讨
1. 么是数据正则化/归一化(normalization)?为什么我们需要它?

我觉得这一点很重要。数据归一化是非常重要的预处理步骤,用于重新缩放输入的数值以适应特定的范围,从而确保在反向传播期间更好地收敛。一般来说采取的方法都是减去每个数据点的平均值并除以其标准偏差。
如果我们不这样做,那么一些特征(那些具有高幅值的特征)将在cost函数中得到更大的加权(如果较高幅值的特征改变1 %,则该改变相当大,但是对于较小的特征,该改变相当小)。数据归一化使所有特征的权重相等。

2. 解释降维(dimensionality reduction),降维在哪里使用,降维的好处是什么?
降维是通过获得一组基本上是重要特征的主变量来减少所考虑的特征变量的过程。特征的重要性取决于特征变量对数据信息表示的贡献程度,以及决定使用哪种技术。决定使用哪种技术取决于试错和偏好。通常从线性技术开始,当结果表明拟合不足时,就转向非线性技术。
数据集降维的好处可以是:
(1)减少所需的存储空间。
(2)加快计算速度(例如在机器学习算法中),更少的维数意味着更少的计算,并且更少的维数可以允许使用不适合大量维数的算法。
(3)去除冗余特征,例如在以平方米和平方英里存储地形尺寸方面没有意义(可能数据收集有缺陷)。
(4)将数据的维数降低到2D或3D可以允许我们绘制和可视化它,可能观察模式,给我们提供直观感受。
(5)太多的特征或太复杂的模型可以导致过拟合。

3. 如何处理数据集中丢失或损坏的数据(missing or corrupted)?

您可以在数据集中找到丢失/损坏的数据,然后删除这些行或列,或者决定用其他值替换它们。在Pandas中,有两种非常有用的方法: isnull ( )和dropna ( ),它们将帮助您查找丢失或损坏数据的数据列并删除这些值。如果要用占位符值(例如0 )填充无效值,则可以使用fillna ( )方法。

4. 解释这个聚类算法?
我写了一篇关于数据科学家需要了解的5种聚类算法的文章《数据科学家需要知道的五种聚类方法》The5 Clustering Algorithms Data Scientists Need to Know,用了一些很直观的可视化方法详细解释了所有这些算法。https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68

5. 您将如何进行探索性数据分析(Exploratory Data Analysis, EDA )?
EDA是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。特别是当我们对这些数据中的信息没有足够的经验,不知道该用何种传统统计方法进行分析时,探索性数据分析就会非常有效。

6. 您如何知道应该使用哪种机器学习模型?
虽然我们应该永远记住“没有免费午餐定理”,但有一些一般的指导方针。这里我写了一篇关于如何选择合适回归模型的文章:《Selecting the best Machine Learning algorithm for your regressionproblem》https://towardsdatascience.com/selecting-the-best-machine-learning-algorithm-for-your-regression-problem-20c330bad4ef

7. 为什么我们对图像使用卷积而不仅仅是FC层?

这个很有趣,因为公司通常不会问这个问题。正如你所料,我是从一家专注于计算机视觉的公司那里得到这个问题的。这个答案有两部分:首先,卷积保存、编码和实际使用来自图像的空间信息。如果我们只使用FC层,我们将没有相对的空间信息;其次,卷积神经网络( CNNs )具有部分内建的平移不变性,因为每个卷积核充当其自身的滤波器/特征检测器。

8. 什么使CNNs具有平移不变性(translation invariant)?

如上所述,每个卷积核充当它自己的滤波器/特征检测器。假设您正在进行目标检测,目标在图像中的位置并不重要,因为无论如何,我们将在整个图像中以滑动窗口的方式应用卷积。

9. 为什么分类CNNs模型中需要max-pooling?

正如你所期望的那样,这是计算机视觉中的一个角色。CNN中的最大池化允许您减少计算量,因为池化后feature maps变小了。您不会丢失太多的语义信息,因为您正在进行最大程度的激活。还有一种理论认为,最大池化对CNNs的平移不变性有一定的贡献。看看吴恩达关于最大池化好处的视频。
https://www.coursera.org/learn/convolutional-neural-networks/lecture/hELHk/pooling-layers

10. 为什么在图像分割中CNNs通常具有编码器-解码器结构?
编码器CNN基本上可以被认为是特征提取网络,而解码器使用该信息通过“解码”特征并放大到原始图像大小来预测图像分割区域。

11. 残差网络(Residual Network)的意义是什么?
残差连接的主要作用是允许当前层的输入特征能够利用来自之前多个层的信息。这使得信息在整个网络中的传播更加容易。关于这一点的一篇非常有趣的论文展示了如何使用local跳跃连接为网络提供一种集成多路径结构,从而为特征提供多条路径以在整个网络中传播。《Residual Networks Behave Like Ensembles of Relatively ShallowNetworks》
https://arxiv.org/abs/1605.06431

12. 什么是批标准化(Batch Normalization)?它为什么起作用?

训练深层神经网络是复杂的,因为每一层的输入分布在训练期间随着前一层的参数改变而改变。然后,其思想是以这样一种方式对每一层的输入进行归一化,即它们具有零的平均输出激活和1的标准偏差。这是针对每一层处的每一个单独的微批次进行的,即,单独计算该微批次的平均值和方差,然后归一化。这类似于网络输入的标准化。
这有什么帮助?我们知道,对网络输入进行规范化有助于网络学习。但是网络只是一系列层,其中一层的输出成为下一层的输入。这意味着我们可以把神经网络中的任何层看作是较小的后续网络的第一层。我们把它看作是一系列相互馈入的神经网络,在应用激活函数之前,先对一个层的输出进行归一化,然后再将其馈入下一层(子网络)。

13. 如何处理不平衡的数据集(imbalanced dataset)?

详见这篇文章的第三条!《7 Practical Deep Learning Tips》 https://towardsdatascience.com/7-practical-deep-learning-tips-97a9f514100e
        14. 为什么要使用许多小卷积核(如3x3)而不是几个大卷积核?

这在VGGNet的原始论文中得到了很好的解释。原因有二:首先,您可以使用几个较小的核而不是几个较大的核来获得相同的感受野并捕获更多的空间上下文,但是使用较小的内核时,您使用的参数和计算量较少。其次,因为使用更小的核,您将使用更多的滤波器,您将能够使用更多的激活函数,从而使您的CNN学习到更具区分性的映射函数。
https://arxiv.org/pdf/1409.1556.pdf

15. 你还做过其他与你申请职位相关的项目吗?
您将真正在您的研究和他们的业务之间建立联系。您所做的任何事情或学到的任何技能是否可能与他们的业务或您申请的角色相关联?它不一定是100 %准确的,只是某种程度上相关,这样你就可以表明你将能够直接增加很多价值。

16. 解释你现在的硕士研究内容?哪些是有效的?哪些没有效果?未来的方向?
和上一个问题一样!

原文链接:https://towardsdatascience.com/data-science-and-machine-learning-interview-questions-3f6207cf040b

Gallier 教授 749+1896页PDF 免费得

9种方法24步,Python进阶!

数据科学28张经典小抄表,大放送!

教程|Pandas大师的进阶之路


听说好看的人都「在看」

面试干货|数据科学与机器学习,16个面试问题深度探讨!相关推荐

  1. 16个用于数据科学和机器学习的顶级平台

    调研机构Gartner公司将数据科学和机器学习平台定义为"具有凝聚力的软件应用程序,它提供了创建多种数据科学解决方案以及将这些解决方案合并到业务流程.周围基础设施和产品中所必需的基本构建块的 ...

  2. 干货丨数据科学、机器学习、人工智能,究竟有什么区别?

    来源:雷锋网 原标题What's the difference between data science, machine learning, and artificial intelligence, ...

  3. 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别

    翻译 | AI科技大本营 参与 | Shawn 编辑 | Donna [AI科技大本营导读]我们常常提及数据科学.机器学习和人工智能,也有一个整体的概念.但是,如果要清晰地说出三者的定义分别是什么,区 ...

  4. Python超过R,成为数据科学和机器学习的首选语言!

    | 全文1765共字,建议阅读时长3分钟 | 近期,数据挖掘资讯网站KDnuggets开展了一项调查,问题是"2016年和2017年,在数据分析.数据科学和机器学习工作中,你使用 ...

  5. 独家 | 2020年22个广泛使用的数据科学与机器学习工具(附链接)

    作者:RAM DEWANI 翻译:欧阳锦 校对:陈汉青 本文长度为4600字,建议阅读11分钟 本文为大家从两个方面--大数据和数据科学,介绍了本年度的22个被广泛使用的数据科学和机器学习工具.结合了 ...

  6. 独家 | 2018年Analytics Vidhya上最受欢迎的15篇数据科学和机器学习文章

    作者:Pranav Dar 翻译:陈之炎 校对:丁楠雅 本文约4200字,建议阅读10+分钟. 本文为你整理了多个高质量和受欢迎的数据科学培训课程.学习文章及学习指南. 简介 Analytics Vi ...

  7. 大数据数据科学家常用面试题_面试有关数据科学,数据理解和准备的问答

    大数据数据科学家常用面试题 问题1:在数据科学术语中,您如何称呼所分析的数据? (Q1: In the data science terminology, how do you call the da ...

  8. Get!读懂数据科学和机器学习,看这文就够了!

    作者 | luminousmen,机器人专家,擅长Python.大数据.机器学习等 译者 | Arvin,责编 | 王晓曼 头图 | CSDN下载自视觉中国 出品 | CSDN(ID:CSDNnews ...

  9. 5月Github上最热门的数据科学和机器学习项目TOP5

    作者 | PRANAV DAR 译者 | SAMBODHI 编辑 | Debra AI 前线导读:如果你是开发者,那一定对 GitHub 不会陌生,截止到 2018 年 4 月 10 日(GitHub ...

最新文章

  1. vc++ mfc 非客户区 描绘线_决战客户端技术
  2. wxWidgets:wxListBox类用法
  3. 编程学习记录12:Oracle数据库的一些基本操作2,表相关操作,添加约束
  4. Python基础之:Python中的异常和错误
  5. vscode显示中文乱码问题
  6. input发送a.jax_JAX-RS 2.0的新功能– @BeanParam批注
  7. 谈谈.NET MVC QMVC高级开发
  8. 手工做迷宫_手工DIY好玩双人大型立体迷宫玩具
  9. 运算符之前加加后加加的运算规则
  10. HTML 编辑器简介
  11. 小说php 站点源码下载,PTCMS小说站源码
  12. Android通过百度api地址经纬度获取文字位置信息
  13. Not_flushed_delayed_rows
  14. 云的新出路迷你云?轻松搭建私有云平台 转载7
  15. 选择中医 - 醒脑(养生、穴位)
  16. Windows WiFi 热点共享 debug Android
  17. subprocess模块详解
  18. 常用的内存泄漏检查工具
  19. 数据结构练手小项目(AVL树、哈希表、循环链表、MySQL数据库)
  20. android mic 测试软件,麦克风测试校正系统(IK Multimedia ARC System 3)

热门文章

  1. 【重难点】【JUC 01】线程安全都体现在哪些方面 、如何维护线程安全、多线程的同步方法、多线程通信方式、AQS
  2. 【设计模式】第一章 面向对象六大原则
  3. hdu3094 A tree game
  4. 零基础学python-5.6 数字位操作与其它工具
  5. 百度文本编辑器ueditor v1.2.3.0使用方法及配置(图片上传功能、目录更改)
  6. 著名风投Greylock扩展基金局限 投资科技行业
  7. (转)淘淘商城系列——使用maven tomcat插件启动web工程
  8. c3p0配置 initialPoolSize 和minPoolSize 可以设为0吗?设0有坏处吗?
  9. Java描述 数据结构与算法
  10. Java工程师的进阶之路-Kafka篇(一)