当前位置: 首页 > 科技观察

5个必知的数据科学面试题

时间:2023-03-12 16:46:03 科技观察

为了不在同一个地方失败两次,也为了让自己对别人有用,这篇文章献给那些想追随自己的热情成为数据科学家的人。我坚信,即使你不想换工作,你也必须不断接受面试,因为你可以从中学到很多东西。没有比这更快的学习方法了。数据科学是一个需要你不断提高技能的领域,同时每天开发机器学习算法的基本概念。因此,事不宜迟,让我们直接进入一些您可能会在下次面试中发现有用的问题和答案。问题1:您能解释一下决策树的损失函数吗?答:在回答这个问题之前,需要注意的是决策树是一种通用的机器学习算法,可以同时执行分类和回归任务。因此,它们的损失函数也不同。LossFunctionsforClassificationProblems:在我们了解损失函数之前,Giniimpurity是一个重要的概念,我先解释一下。等式1:基尼杂质,其中“p”是第i个节点上的k类实例与总训练实例的比率。这是什么意思??我们通过下面的例子来理解。图1显示了深度为2的Iris决策树的简单可视化。顶层是根节点。将训练集划分为决策集的概念在算法中相当简单。例如,这里的鸢尾花数据集根据根节点上称为“花瓣宽度”的单个特征分成两个子集。如果花瓣宽度小于或等于0.8,则算法进入深度1(左)。如果不是,则在深度1处向右走。它根据“花瓣宽度”的附加特征进一步划分实例。在深度1处,右侧节点有100个实例的样本,0个实例应用于Iris-Setosa,50个实例应用于Iris-Versicolor,其余50个实例应用于Iris-Virginica。图1:鸢尾花决策树因此该节点的基尼系数为0.5:等式2:基尼不纯度的计算同样,在深度1(左节点),基尼不纯度为0,因为所有训练实例都应用于同一个类。节点本质上是“纯”的。现在我们了解了什么是基尼杂质,让我们进入正题。决策树使用分类和回归树(CART)算法进行训练,该算法基于使用单个特征(k)和阈值(t)将数据集拆分为两个子集的简单概念。鸢尾花数据集的特征是“花瓣宽度”,阈值为0.8。它如何选择k和t?它搜索产生最纯子集的对(k,t)。因此,该算法试图最小化的代价函数如下式所示:其中G左右表示子集的gini杂质,m表示子集的实例。回归类型问题的损失函数:对于回归树,损失函数相当直观。我们使用残差平方和(RSS),式(3)是回归树的损失函数,其中y是groundtruth,y-hat是预测值。等式3:残差的平方和问题2:共线性是否会影响模型?答:共线性是指两个或多个预测变量之间的密切关系。下面的图2显示了共线变量的示例。变量2严格遵循变量1,并且Pearson相关系数为1。所以很明显,当这些变量被输入到机器学习模型中时,其中一个变量的行为就像噪声一样。图2:共线变量示例共线性的存在在回归类型问题中可能会产生问题,因为很难隔离共线变量对响应的个别影响。或者换句话说,共线性会降低回归系数估计的准确性,从而导致误差增加。这最终会导致t统计量下降,因此我们可能无法在存在共线性的情况下拒绝原假设。检测共线性的一种简单方法是查看预测变量的相关矩阵。这个矩阵的一个元素的绝对值很大,说明一对高度相关的变量,存在数据共线性的问题。不幸的是,并不是所有的共线性问题都可以通过检查相关矩阵来发现:即使没有一对变量特别高度相关,三个或更多变量之间也可能存在共线性。这种情况称为多重共线性。对于这种情况,评估多重共线性的更好方法是计算方差膨胀因子(VIF),而不是检查相关矩阵。可以使用以下公式计算每个变量的VIF:公式4:方差膨胀因子其中r平方项是变量X对所有其他预测变量的回归。如果VIF接近或大于1,则存在共线性。当遇到共线性问题时,有两种可能的解决方案。一是去除冗余变量。这可以在不影响回归拟合的情况下完成。第二种方法是将共线变量组合成单个预测变量。问题3:向外行解释深度神经网络答案:神经网络(NN)的概念最初起源于人脑,其目的是识别模式。神经网络是一组算法,用于通过机器感知、标记和聚类原始输入数据来解释感知数据。任何一种现实世界的数据,无论是图像、文本、声音甚至时间序列数据,都必须转换为包含数字的向量空间。深度神经网络中的深度意味着神经网络由多层组成。这些层由节点组成,在这些节点上执行计算。当遇到足够的刺激时,人脑中的节点状神经元就会放电。节点将原始输入的数据与其系数或权重结合起来,根据权重衰减或放大输入。输入和权重的乘积在图3所示的求和节点上求和,然后传递给激活函数,它决定该信??号是否应该在网络中进一步传播并影响最终结果。节点层是一组类似神经元的开关,当输入通过网络时,这些开关会打开或关闭。图3:神经网络中节点的可视化深度神经网络不同于早期的神经网络,例如感知器,因为它们是浅层的,仅由输入和输出层以及一个隐藏层组成。图4:深度神经网络包含多个隐藏层问题4:3分钟简要解释一个数据科学项目,您可以回过头来解决答案:典型的数据科学面试过程从特定的数据分析项目开始。我已经做了两次,具体取决于项目的复杂程度。我第一次有两天时间使用机器学习解决问题。第二次,我有两周的时间来解决问题。无需指出,我第二次处理类不平衡数据集时,这是一个困难得多的问题。因此,3分钟的销售面试问题可以让您展示您对手头问题的把握。请务必从您对问题的解释、解决问题的简单方法、您在方法中使用的机器学习模型类型以及原因开始。不要过度吹嘘模型的准确性。我相信这是你在面试中要问的一个非常重要的问题,它可以让你证明你是数据科学领域的领导者,并且可以使用更新更好的工具来解决复杂的问题。问题5:模型正则化是什么意思?如何在线性模型中实现正则化?答:正则化是一个用来约束机器学习模型的术语。限制或减少机器学习模型中过度拟合的一个好方法是减少自由度。自由度越低,模型就越难过度拟合数据。例如,正则化多项式模型的一种简单方法是降低多项式的自由度。然而,对于线性模型,正则化通常是通过限制模型的权重来实现的。因此,与线性回归不同,岭回归、套索回归和弹性网络模型有三种不同的方法来约束权重。为了完整起见,让我们从线性回归的定义开始:方程式5:线性回归和模型预测线性回归模型的损失函数定义为均方误差:岭回归:是线性回归的正则化版本,也就是说,然后在成本函数中添加一个额外的正则化项。这迫使学习算法不仅要适应数据,还要使模型的权重尽可能小。请注意,正则化项只能在训练期间添加到损失函数中。训练模型后,您需要使用非正则化性能度量来评估模型的性能。超参数alpha控制模型的正则化程度。如果它为零,则岭回归是线性回归。LassoRegression:Lasso回归是另一种正则化线性回归,和岭回归一样,在损失函数上增加了一个正则化项,但是它使用的是L1范数的权重向量,而不是L2范数的平方。Lasso回归的一个重要特征是它倾向于完全消除最不重要特征(即最不重要的特征)的权重,将它们设置为零。换句话说,套索回归自动进行特征选择并输出稀疏模型(即只有少数非零特征权重)。弹性网络回归:这是介于岭回归和套索回归之间的中间地带。正则化项是Ridge和Lasso正则化项的简单组合,可以用“r”来控制。当r=0时,ElasticNet相当于RidgeRegression,当r=1时,ElasticNet相当于LassoRegression。始终建议至少进行一点正则化,并且通常应始终避免线性回归。Ridge是一个很好的默认值,但如果特定数据集中只有少数有用的特征,则应使用Lasso。总的来说,ElasticNet优于Lasso,因为当特征数量大于实例数量或多个特征强相关时,Lasso可能表现不规则。