5个必须了解的数据科学面试问题

作者: AI公园 2019-12-17 18:11:09

 为了不让自己在同一个地方失败两次,也为了让自己对他人有用,我的这篇文章献给那些想追随自己的激情,成为数据科学家的人。我坚信,即使你不想换工作,你也必须不断地接受面试,因为你在面试中学到了很多东西。没有比这更快的学习方法了。数据科学是一个需要你不断提高技能的领域,同时每天都在发展机器学习算法的基本概念。因此,废话不多说,让我们直接进入一些问题和答案,你可能在下次面试中有用。

问题1:你能解释一下决策树的损失函数吗?

答案: 在回答这个问题之前,需要注意的是,决策树是一种通用的机器学习算法,它可以执行分类和回归任务。因此,它们的损失函数也不同。

分类问题的损失函数:

在我们理解损失函数之前,Gini不纯度是一个很重要的概念,让我先解释一下。

5个必须了解的数据科学面试问题

式1:Gini不纯度

其中“p”为第i个节点上类k的实例与总的训练实例的比例。这是什么意思??我们通过下面的例子来理解。图一显示了深度为2的Iris决策树的简单可视化。顶层是根节点。将训练集划分为决策集的概念在算法中相当简单。例如,在这里,iris数据集根据根节点上一个称为“ petal width”的单一特征被分成两个子集。如果petal width小于或等于0.8,则算法进入深度1(左)。如果不是,就进入深度1的右边。它根据“petal width”的附加特征进一步划分实例。在深度1上,右节点有100个实例的样本,将0个实例应用于Iris-Setosa, 50个实例应用于Iris-Versicolor,其余50个应用于Iris-Virginica。

5个必须了解的数据科学面试问题

图1: Iris决策树

所以这个节点的基尼系数是0.5:

5个必须了解的数据科学面试问题

式2: Gini不纯度的计算

类似地,在深度1(左节点)处,Gini不纯度为0,因为所有的训练实例都应用于同一个类。节点本质上是“纯”的。

现在我们已经理解了什么是Gini不纯度,让我们进入问题的实质。决策树使用分类和回归树(CART)算法进行训练,基于一个简单的概念,即使用单个特征(k)和阈值(t)将数据集分成两个子集。iris数据集的特征为“petal width”,阈值为0.8。它是如何选择k和t的?它搜索产生最纯子集的对(k, t)。因此,算法试图最小化的代价函数如下式所示:

5个必须了解的数据科学面试问题

其中G左右代表子集的gini不纯度,m代表子集的实例。

回归型问题的损失函数:

对于回归树,损失函数是相当直观的。我们使用残差平方和(RSS),式(3)为回归型树的损失函数,其中y为ground truth, y-hat为预测值。

5个必须了解的数据科学面试问题

式3:残差的平方和

问题2:共线性会对模型有影响吗?

答案: 共线性是指两个或多个预测变量之间关系密切。下面的图2显示了共线变量的例子。变量2严格遵循变量1,Pearson相关系数为1。所以很明显,当这些变量被输入到机器学习模型中时,它们中的一个会表现得像噪音一样。

5个必须了解的数据科学面试问题

图2: 共线性变量的例子

共线性的存在在回归类型的问题中可能成为问题,因为很难分离出共线性变量对响应的个别影响。或者换句话说,共线性降低了回归系数估计值的准确性,导致误差增加。这将最终导致t统计量的下降,因此,在共线性存在的情况下,我们可能无法拒绝原假设。

检测共线性的一个简单方法是查看预测变量的相关矩阵。这个矩阵的一个元素的绝对值很大,表明了一对高度相关的变量,存在数据共线性的问题。不幸的是,并不是所有的共线性问题都可以通过检查相关矩阵来发现:即使没有一对变量具有特别高的相关性,三个或多个变量之间也可能存在共线性。这种情况称为多重共线性。对于这种情况,评估多重共线性的一个更好的方法是计算方差膨胀因子 (VIF),而不是检查相关矩阵。每个变量的VIF可以用公式计算:

5个必须了解的数据科学面试问题

式4: 方差膨胀因子

其中r平方项是变量X对所有其他预测因子的回归。如果VIF接近或大于1,则存在共线性。当遇到共线性问题时,有两种可能的解决方案。一种是删除冗余变量。这可以在不影响回归拟合的情况下完成。第二种方法是将共线变量合并成单个预测器。

问题3:给外行解释一下深度神经网络

答案:神经网络(NN)的概念最初起源于人类大脑,其目的是识别模式。神经网络是一套通过机器感知、标记和聚类原始输入数据来解释感知数据的算法。任何类型的现实世界数据,无论是图像、文本、声音甚至时间序列数据,都必须转换成包含数字的向量空间。

深度神经网络中的深度是指神经网络由多层构成。这些层是由节点组成的,在节点上进行计算。人脑中的一个类似节点的神经元在遇到足够的刺激时就会被激活。节点将原始输入的数据与其系数或权值组合在一起,这些系数或权值根据权值减弱或放大输入。输入和权重的乘积在图3所示的求和节点上求和,然后将其传递给激活函数,激活函数决定该信号是否应该在网络中进一步扩展并影响最终结果。节点层是一排类似神经元的开关,当输入通过网络输入时,这些开关就会打开或关闭。

5个必须了解的数据科学面试问题

图3: 神经网络中节点的可视化

深度神经网络不同于早期的神经网络,如感知器,因为它们是浅层的,只是由输入层和输出层以及一个隐含层组成。

5个必须了解的数据科学面试问题

图4: 深度神经网络包含多个隐含层

问题4:3分钟简单阐述一个可以让你回去解决的数据科学的项目

答案:一个典型的数据科学面试过程始于具体的数据分析项目。我做过两次,取决于项目的复杂度。第一次,我有两天的时间来解决一个问题,使用机器学习。而第二次,我有两个星期的时间来解决一个问题。不需要指出的是,当我第二次处理类别不平衡的数据集时,这是一个更加困难的问题。因此,3分钟的推销式面试问题可以让你展示你对手头问题的把握。请务必从你对问题的解释开始,你解决问题的简单方法,你在你的方法中使用了什么类型的机器学习模型,为什么?不要对模型准确性过多的吹嘘。

我相信这是你在面试中非常重要的一个问题,它可以让你证明你是数据科学领域的领导者,并且可以使用较新和较好的工具来解决复杂的问题。

问题5:模型正则化是什么意思?如何在线性模型中实现正则化?

答案: 正则化是一个用于约束机器学习模型的术语。在机器学习模型中约束或减少过度拟合的一个好方法是减少自由度。自由度越少,模型越难过度拟合数据。例如,正则化多项式模型的一种简单方法是减少多项式的自由度。然而,对于线性模型,正则化通常是通过限制模型的权值来实现的。因此,与线性回归不同,岭回归、lasso回归和弹性网络模型有三种不同的约束权重的方法。为了完整起见,我们先从线性回归的定义开始:

式5:线性回归和模型预测

线性回归模型的损失函数定义为均方误差:

5个必须了解的数据科学面试问题

岭回归:是线性回归的正则化版本,即,则在成本函数中增加一个额外的正则化项。这就迫使学习算法不仅要适应数据,还要使模型的权值尽可能小。注意,正则化术语只应在训练期间添加到损失函数中。一旦对模型进行了训练,你就需要使用非正则化的性能度量来评估模型的性能。

5个必须了解的数据科学面试问题

超参数alpha控制模型的正则化程度。如果是零,那么岭回归就是线性回归。

Lasso回归: Lasso回归是另一个正规化的线性回归,就像岭回归,它增加了损失函数的正则化项,但它使用L1范数的权向量,而不是L2范数的平方。

5个必须了解的数据科学面试问题

Lasso回归的一个重要特征是它倾向于完全消除最不重要特征(即最不重要特征)的权重,把它们设为零。换句话说,Lasso回归自动执行特征选择并输出一个稀疏模型(即,只有少数非零的特征权重)。

弹性网回归:这是介于岭回归和Lasso回归之间的中间地带。正则化项是Ridge和Lasso正则化项的简单组合,可以用“r”来控制。当r=0时,弹性网相当于岭回归,当r=1时,弹性网相当于Lasso回归。

5个必须了解的数据科学面试问题

它总是可取的,至少有一点点正则化和一般的线性回归总是应该避免。Ridge是一个很好的默认设置,但是如果在一个特定的数据集中只有几个有用的特性,那么应该使用Lasso。一般来说,弹性网优于Lasso,因为Lasso在特征数量大于实例数量或多个特征强烈相关时可能表现不规律。

跳槽那些事儿 机器学习 人工智能
上一篇:如何将机器学习与敏感性分析相结合来制定业务策略? 下一篇:新手机器学习工程师容易犯的错误Top6
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

什么是持续智能?对物联网有什么影响?

物联网世界将迎来充满希望的2020年。5G公司一再声称,2020年是5G在公共领域站稳脚跟,并普及的一年。

iothome ·  6h前
AI战“疫”,偶尔小尴尬背后,终极护城河现形

人类与新型冠状病毒的战“疫”仍然在进行中,在这期间,也催生出各类“人工智能+”应用,人工智能技术在此期间迎来大爆发。

张书乐 ·  1天前
意料之外 情理之中:解读Gartner 2020年数据科学和机器学习平台魔力象限

最近Gartner发布了数据科学和机器学习(DSML)平台魔力象限报告。数据科学、机器学习和人工智能的市场格局极为分散,竞争激烈且难以理解。Gartner尝试根据明确定义的标准对厂商进行了排名。

佚名 ·  1天前
DeepMind发布神经网络、强化学习库,网友:推动JAX发展

JAX由谷歌提出,是TensorFlow的简化库。结合了针对线性代数的编译器XLA,和自动区分本地 Python 和 Numpy 代码的库Autograd,在高性能的机器学习研究中使用。

十三 ·  1天前
谷歌透露:正在内部尝试用AI开发计算机芯片

据谷歌人工智能研究负责人Jeff Dean透露,谷歌正在尝试通过人工智能程序推进专用芯片的内部开发,以加速其软件。在旧金山举行的International Solid State Circuits Conference会上Dean表示:“我们内部正在将人工智能技术用于一系列芯片设计项目中。”

佚名 ·  1天前
4个步骤成功构建出一个机器学习团队

对一个公司来说,如何从0到1构建一个机器学习团队,是很多公司非常头疼的问题,这篇文章给出了一些建议,对求职者来说,同样具有参考价值。

AI公园 ·  1天前
人工智能带领人类从信息社会迈向智能社会

人工智能(AI)是指在机器上实现类似乃至超越人类的感知、认知、行为等智能的系统。与人类历史上其他技术革命相比,人工智能对人类社会发展的影响可能位居前列。

新华网客户端 ·  2天前
2020年的7个关键RPA趋势:从人工智能启用到更具战略性的扩展

机器人流程自动化(RPA)服务商Blue Prism公司EMEA地区首席技术官Peter Walker对使企业可以体验采用机器人流程自动化(RPA)优秀结果的2020年有望取得的重大发展进行了预测与分析。

Peter Walker ·  2天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载