本文汇编了来自顶级科技巨头(Facebook、亚马逊、苹果、Netflix、谷歌)的超过THIRTY数据科学访谈问题和答案。随意使用这个准备面试,看看你需要在哪里学习更多,甚至如果你只是想看看顶级公司问什么!

Facebook

问:你随机从100枚硬币中抽出一枚硬币——1枚不公平的硬币(头头),99枚公平硬币(头尾),然后滚10次。如果结果为 10 头,那么硬币不公平的可能性是多少?

这可以使用贝叶斯定理回答。贝叶斯定理的扩展方程如下:


假设选取不公平硬币的概率表示为 P(A),并且一行翻转 10 个头的概率表示为 P(B)。然后 P(B]A) 等于 1,P(B=A) 等于 0.[1],P(A) 等于 0.99。

如果填写方程,则 P(A#)B) = 0.9118 或 91.18%。

问:有一栋有100层的建筑。你得到2个相同的鸡蛋。如何使用2个鸡蛋来找到门槛地板,在那里鸡蛋肯定会从N层上方的任何楼层,包括N楼本身。

更具体地说,问题是要求找到两个鸡蛋的阈值最低点的最佳方法。

为了更好地理解这个问题,让我们假设你只有一个鸡蛋。要找到门槛地板,只需从一楼开始,把鸡蛋掉下去,一次高一层楼,直到鸡蛋裂开。

现在想象一下,我们有无限的鸡蛋。查找阈值楼层的最最佳方法是通过二进制搜索。首先,您将从50楼开始。如果鸡蛋裂开,你会把一个鸡蛋扔到25楼,如果它不裂开,那么你会把一个鸡蛋扔到75楼,你会重复这个过程,直到你找到门槛地板。

对于两个鸡蛋,找到阈值地板的最优方法是上述两种解决方案的混合方法。

例如,您可以每 5 层掉落第一个鸡蛋,直到它破裂,然后使用第二个鸡蛋找出阈值楼层之间的增量之间的哪个楼层

如果你每10层丢第一个鸡蛋,直到它破裂,在最坏的情况下,它需要19滴,这比每5层丢第一个鸡蛋要好得多。但是如果你想做得更好呢?

这就是概念,尽量减少最大的遗憾发挥作用的地方。基本上,这意味着当你以给定的增量完成更多的下降(跳过多少楼层),您希望每次缓慢地降低增量,因为阈值楼层可能减少。这意味着,如果你的第一个下降是在n层,那么你的第二滴应该是地板n +(n-1),假设它不打破。这可以写成以下等式:


为了更进一步,可以简化为:


解决n,你会得到大约14。因此,您的策略是从 14 楼开始,然后从 14+13 开始,然后从 14+13+12 开始,然后等到它断裂,然后使用第二个鸡蛋一次找到一层楼的阈值!

问:我们有两个选项在新闻源中投放广告。选项 1:每 25 个故事中 1 个,其中一个将广告。选项 2:每个故事都有 4% 的机会成为广告。对于每个选项,100 个新闻报道中显示的广告预期数量是多少?

两个选项的预期赔率数为 100 分之 4。

对于选项 1,1/25 等效于 4/100。
对于选项 2,100 的 4% 是 4/100。

请随时让我知道,如果我错过了的东西在这里,因为这个问题似乎太直了!

问:你如何证明男性在知道性别高度时平均比女性高?

您可以使用假设检验来证明男性平均比女性高。

零假设将表明男性和女性的平均身高相同,而另一种假设则表明男性的平均身高大于女性的平均身高。

然后,您将收集男性和女性高度的随机样本,并使用 t 检验来确定是否拒绝空。

问:如果 iOS 上的 70% 的 Facebook 用户使用 Instagram,但只有 35% 的 Facebook 用户使用 Instagram,您将如何调查差异?

有许多可能的变量可能会导致这种差异,我会检查看到:

  • iOS 和 Android 用户的人口统计数据可能有很大差异。例如,根据Hootsuite的数据,43%的女性使用Instagram,而男性的这一则为31%。如果 iOS 的女性用户比例明显大于 Android,则这可以解释差异(或至少其中的一部分)

如果 iOS 用户使用手机比 Android 用户更重,则他们比在手机上花费时间少得多的用户更可能沉迷于 Instagram 和其他应用。

  • 另一个需要考虑的因素是谷歌Play和App Store的区别。例如,如果 Android 用户有更多应用(和社交媒体应用)可供选择,则可能会导致用户更稀释。
  • 最后,与 iOS 用户相比,用户体验的任何差异都可能阻止 Android 用户使用 Instagram。如果应用对 Android 用户的影响大于 iOS 用户,则他们不太可能在应用中处于活动状态。
  • 问:在平台上花费的赞/用户和分钟数正在增加,但用户总数却在减少。其根本原因是什么?

    一般来说,你想调查面试官以了解更多信息,但让我们假设这是他/她愿意提供的唯一信息。

    关注每个用户的赞,有两个原因,为什么这将会上升。第一个原因是,随着时间的推移,用户的参与度通常平均增加,这是有道理的,因为随着时间的流逝,活跃用户更有可能成为忠实用户,因为使用平台成为一种习惯做法。每个用户的赞数增加的另一个原因是分母(用户总数)正在减少。假设停止使用平台的用户是非活动用户,则以用户为用户,参与度低,喜欢次数少于平均水平,这将增加每个用户的平均赞数。

    上述说明也适用于在平台上花费的分钟数。随着时间的推移,活跃用户越来越投入,而使用很少的用户则变得不活跃。总体而言,参与度的增加超过了参与度很少的用户。

    更进一步,Facebook能够检测到的”参与度小的用户”可能是机器人。但随着时间的推移,Facebook已经能够开发算法来发现和删除机器人。如果以前是大量的机器人,这可能是这种现象的根本原因。

    问:Facebook看到赞数同比增长10%,为什么会这样呢?

    给定年份的赞总数是用户总数和每个用户的平均赞数(我称之为参与)的函数。

    用户总数增加的一些潜在原因如下:由于国际扩张而获得的用户和年龄较小的年龄组随着年龄的增长而注册了Facebook。

    参与度提高的一些潜在原因是,用户对应用的使用越来越多,用户越来越忠诚,新功能和功能也越来越多,用户体验也有所改善然后,您可以选择指标来定义什么是”好主意”。例如,我们可以说,零假设是,将广告数量翻倍将减少在 Facebook 上花费的时间,另一种假设是,将广告数量翻倍不会影响在 Facebook 上花费的时间。但是,您可以选择其他指标,如活动用户数或改动率。然后,您将执行测试并确定测试的统计显著性以拒绝或拒绝 null。

    问:有一个游戏,你得到两个公平的六面骰子,并要求滚动。如果骰子上的值之和等于 7,则您赢得 21 美元。但是,每次掷骰子时,您必须支付 5 美元才能玩。你玩这个游戏吗?

    滚动 7 的几率为 1/6。
    这意味着您需要支付 $30 (5+6) 以赢得 $21. expected
    以这两个数字为例,预期赔付额为 -9 美元(21–30 美元)。
    由于预期支出是负的,您不想支付此游戏。

    亚马逊

    问:如果有 8 个重量相等的大理石和 1 个重量稍大的大理石(总共 9 个大理石),则需要多少重量才能确定哪个大理石最重?


    需要两个称重(见上文A和B部分):

    1. 您将九个弹珠分成三组,分三组,重两组。如果比例表平衡(备选案文 1),则知道重大理石位于第三组大理石中。否则,您将接受重量更大的组(备选方案 2)。
    2. 然后,你会执行相同的步骤,但你会有三组一个大理石,而不是三组三。

    问:凸与非凸成本函数的区别;当成本函数是非凸时,这意味着什么?

    凸函数是图形上任意两个点之间的线位于图形上方或上方。它有一个最小值。

    非凸函数是图形上任意两个点之间绘制的线可能与图形上的其他点相交的函数。它被描述为”波浪”。

    当成本函数是非凸式时,这意味着函数可能会找到局部最小值而不是全局最小值,这在机器学习模型中通常不是从优化的角度来看不需要的。

    问:什么是过度拟合?

    过度拟合是模型”拟合”数据太好的错误,导致模型具有高方差和低偏置。因此,过度拟合模型将错误地预测新的数据点,即使它对训练数据具有高精度

    对于买家来说,主要会员费的增加最终取决于买家需求的价格弹性。如果价格弹性较高,则给定价格的上涨将导致需求大幅下降,反之亦然。继续购买会员费的买家可能是亚马逊最忠实和最活跃的客户,他们也可能更重视优质产品。

    卖家将受到打击,因为现在购买亚马逊一篮子产品的成本更高。话虽如此,有些产品将受到更重的打击,而其他产品可能不会受到影响。亚马逊最忠实的客户购买的优质产品很可能不会像电子产品那样受到太大的影响。

    问:描述决策树、SVM 和随机林。谈论他们的优缺点。

    决策树:一种树状模型,用于根据一个或多个条件对决策建模。

    • 优点:易于实现、直观、处理缺失值
    • 缺点:高方差,不准确

    支持矢量机:一种分类技术,用于查找两类数据之间的超平面或边界,从而最大化两个类之间的边距。有许多平面可以分隔两个类,但只有一个平面可以最大化类之间的边距或距离。

    • 优点:高尺寸精确
    • 缺点:容易过度拟合,不直接提供概率估计

    随机林:一种以决策树为基础构建的合奏学习技术。随机林涉及使用原始数据的引导数据集创建多个决策树,并在决策树的每个步骤中随机选择变量子集。然后,模型选择每个决策树的所有预测模式。

    • 优点:可实现更高的精度,处理缺失值,不需要功能缩放,可以确定要素重要性。
    • 缺点:黑匣子,计算密集

    问:为什么尺寸缩减很重要?

    维度减小是减少数据集中要素数量的过程。这主要发生在您希望减少模型中的方差(过度拟合)的情况下。

    维基百科指出维度减少的四个优势(

    1. 它减少了所需的时间和存储空间
    2. 多共线性的去除提高了机器学习模型参数的解释
    3. 当数据简化到非常低的尺寸(如 2D 或 3D)时,它变得更加容易可视化
    4. 它避免了维度的诅咒

    问:在位置 A 处项目项的概率为 0.6,在位置 B 处为 0.8 的概率。在亚马逊网站上找到物品的概率是多少?

    我们需要对这个问题做出一些假设,然后才能回答它。假设在 Amazon 上购买特定商品可能有两个位置,在位置 A 找到它的概率为 0.6,B 的概率为 0.8。在亚马逊上找到项目的概率可以解释为:

    我们可以将上述内容改写为 P(A) = 0.6,P(B) = 0.8。此外,让我们假设这些是独立事件,这意味着一个事件的概率不受另一个事件的影响。然后我们可以使用公式…

    P(A 或 B) = P(A) = P(B) = P(A 和 B)
    P(A 或 B) = 0.6 × 0.8 = (0.6*0.8)
    P(A 或 B) = 0.92

    问:什么是提升?

    提升是一种综合方法,通过降低模型的偏差和方差来改进模型,最终将弱学习者转变为强壮的学习者。总体思想是培养弱学习者,通过向前一学习者学习,依次迭代和改进模型。你可以在这里了解更多关于它here

    苹果

    问:描述 L1 和 L2 正则化之间的差异,特别是它们对模型培训过程的影响差异。

    L1 和 L2 正规化都是用于减少训练数据过度拟合的方法。最小平方最小化平方残差的总和,这可能导致低偏置但高方差。

    L2 正化,也称为脊回归,最小化平方残差加lambda 倍的斜率平方的总和。这个附加术语称为脊回归惩罚。这会增加模型的偏差,使训练数据的拟合性更差,但也会降低方差。

    如果采用脊回归值并将其替换为坡度的绝对值,则获取套索回归或 L1 正则化

    L1 更强大,但解决方案不稳定,可能有多个解决方案。

    问:ACF 和 PACF 的含义是什么?

    要了解 ACF 和 PACF,您首先需要知道什么是自相关串行关联。自相关观察给定时间序列和自身滞后版本之间的相似性程度。

    因此,自相关函数 (ACF)是一种工具,用于查找数据中的模式,特别是不同时滞分隔的点之间的相关性。例如,ACF(0)=1 表示所有数据点都与自身完全相关,ACF(1)=0.9 表示一个点与下一个点之间的相关性为 0.9。

    PACF部分自相关函数的缩写。引用 StackExchange 中的文本,”可以认为两个点之间的相关性由一些句点 n 分隔,但删除了中间关联的效果。例如。如果 T1 与 T2 直接相关,T2 与 T3 直接相关,则 T1 似乎与 T3 相关。PACF 将删除与 T2 的介入关联。

    这里是ACF和PACF的一个很好的解释在这里

    问:什么是偏置方差权衡?

    估计器的偏差是预期值和真实值之间的差异。具有高偏置的模型往往过于简单化,导致拟合不足。方差表示模型对数据和噪声的敏感度。高方差的模型会导致过度拟合。

    因此,偏置方-方差权衡是机器学习模型的一个属性,其中较低的方差会导致较高的偏差,反之亦然。通常,可以找到两者的最佳平衡,其中误差最小化。


    问:XGBoost 如何处理偏置-方差权衡?

    由作者创建的图像

    XGBoost 是一种利用梯度提升算法的合奏机器学习算法。从本质上讲,XGBoost就像类固醇上的袋装增强技术。因此,可以说 XGBoost 处理偏差和方差类似于任何提升技术。提升是一种组合元算法,它通过采用许多弱模型的加权平均值来降低偏差和方差同样,由于它采用许多弱模型的加权平均值,因此最终模型的方差低于每个弱模型本身。

    问:什么是随机林?为什么天真的贝叶斯更好?

    随机林是一种以决策树为基础构建的合奏学习技术。随机林涉及使用原始数据的引导数据集创建多个决策树,并在决策树的每个步骤中随机选择变量子集。然后,模型选择每个决策树的所有预测模式。通过依靠”多数胜”模型,它降低了单个树出错的风险。


    例如,如果我们创建了一个决策树,第三个决策树,它将预测 0。但是,如果我们依赖于所有 4 个决策树的模式,则预测值将为 1。这是随机森林的力量。

    随机林提供了其他几个好处,包括强大的性能,可以建模非线性边界,无需交叉验证,并且赋予功能重要性。

    天真的贝叶斯是更好的,因为它很容易训练和理解的过程和结果。随机林看起来像一个黑盒子。因此,Naive Bayes 算法在实现和理解方面可能更好。但是,在性能方面,随机林通常更强,因为它是一种合奏技术。

    Netflix

    问:为什么修正线性单元具有良好的激活功能?


    修正线性单元(也称为 ReLU 函数)已知比 sigmoid 函数和 tanh 函数具有更好的激活功能,因为它执行梯度下降更快。在左侧的图像中注意,当 x (或 z) 非常大时,斜率非常小,从而显著减慢渐变下降的速度。但是,ReLU 函数的情况并非如此。

    问:正规化有什么用?L1 和 L2 正规化之间的区别是什么?

    L1 和 L2 正规化都是用于减少训练数据过度拟合的方法。最小平方最小化平方残差的总和,这可能导致低偏置但高方差。


    L2 正化,也称为山脊回归,最小化平方残差加 lambda 倍的斜率平方的总和

    这会增加模型的偏差,使训练数据的拟合性更差,但也会降低方差。
    如果采用脊回归值并将其替换为坡度的绝对值,则获取套索回归L1 正则化。
    L2 不太健壮,但具有稳定的解决方案,并且始终具有一种解决方案。L1 更强大,但解决方案不稳定,可能有多个解决方案。

    问:在线学习和批量学习有什么区别?

    批处理学习(也称为离线学习)是当您通过模式组进行学习时。这是大多数人熟悉的学习类型,您可以在其中一次生成数据集并在整个数据集上生成模型。

    另一方面,在线学习是一种一次一次一次一次吸收数据的方法。在线学习是数据效率最高的,因为数据在消耗后不再需要,这在技术上意味着您不必存储数据。

    问:查询数据集时,如何处理 NUL?还有其他方法吗?

    处理空值的方法有很多种,包括:

    • 您可以完全省略具有空值的行
    • 您可以将空值替换为中心趋势度量(平均值、中位数、模式),也可以将其替换为新类别(例如。”无”)
    • 您可以根据其他变量预测空值。例如,如果行的权重为 null 值,但它具有高度值,则可以将空值替换为该给定高度的平均权重。
    • 最后,如果您使用的是自动处理空值的机器学习模型,则可以保留空值。

    问:如何防止模型过度拟合和复杂性?

    对于那些不知道的人来说,过度拟合是函数过于接近数据时的建模错误,当向模型引入新数据时,会导致高错误级别。

    有许多方法可以防止模型过度拟合:

    • 交叉验证:交叉验证是一种用于评估模型在新独立数据集上的性能的技术。交叉验证最简单的示例是将数据拆分为两组:训练数据和测试数据,其中使用训练数据生成模型和测试数据来测试模型。
    • 正化:当模型具有较高度的多项式时,就会发生过度拟合。因此,通过惩罚高度多项制来减少过度拟合。
    • 减少要素数量:还可以通过减少输入要素的数量来减少过度拟合

    3 维)到更小的空间(例如2维)。

  • 综合学习技巧:组合技术需要许多弱小学习者,并通过装袋和提升,将他们转化为一个强大的学习者。通过装袋和提升,这些技术往往比替代技术过度适应。
  • 问:您如何为我们正在考虑的新功能设计实验。哪些指标很重要?


    我将进行 A/B 测试,以确定新功能的引入是否导致我们关心的给定指标在统计上显著改进。选择的指标取决于要素的目标。例如,可以引入一项功能来提高转化率、Web 流量或保留率。

    首先,我将提出我的零假设(特征X不会改进指标A)和我的备选假设(特征X将改进公制A)。

    接下来,我将通过随机采样创建我的控制和测试组。由于 t 检验本身会考虑样本大小,因此我不会指定必要的样本大小,尽管越大越好。

    一旦我收集的数据,根据我的数据的特点,我会进行t测试,韦尔奇的t测试,气平方测试,或贝叶斯A/B测试,以确定我的控制和测试组之间的差异是否具有统计学意义。

    谷歌

    问:一个盒子有12张红牌和12张黑牌。另一个盒子有24张红牌和24张黑牌。您希望从两个框之一中随机绘制两张卡片,一次一张卡。哪个盒子获得相同颜色的卡的概率更高,为什么?

    装有24张红牌和24张黑牌的盒子获得两张相同颜色的牌的概率更高。让我们走遍每一步。

    假设从每个甲板上绘制的第一张牌是红色的王牌。

    这意味着,在甲板上有12个红色和12个黑人,现在有11个红色和12个黑人。因此,绘制另一个红色的几率等于 11/(11+12) 或 11/23。

    在甲板上有24个红色和24个黑人,然后会有23个红色和24个黑人。因此,您绘制另一个红色的几率等于 23/(23+24) 或 23/47。

    自 23/47 > 11/23 以来,拥有更多牌的第二组牌获得相同两张牌的概率更高。

    问:你在赌场玩两个骰子。你每次滚一个5时就赢10美元。如果你玩,直到你赢了,然后停止,什么是预期支付?


    • 假设每次你想玩时,它的成本是5美元。
    • 有36个可能的组合与两个骰子

    这意味着有 4/36 或 1/9 的机会滚动 5。

  • 1/9的获胜机会意味着你会输八次,赢一次(理论上)。
  • 因此,您的预期支出等于 $10.00 = 1 = $5.00 = 9 = -$35.00。
  • 编辑:谢谢大家的评论,并指出它应该是-35美元!

    问:你如何判断给定硬币是否有偏见?

    这不是一个诡计问题。答案只是执行假设检验:

    1. 零假设是硬币没有偏颇,翻转头的概率应等于 50%(p=0.5)。另一种假设是硬币偏置,p =0.5。
    2. 翻转硬币500次。
    3. 计算 Z 得分(如果样本小于 30,则计算 t 统计)。
    4. 与 alpha 比较(双尾测试,因此为 0.05/2 = 0.025)。
    5. 如果 p 值 > alpha,则空不会被拒绝,并且硬币没有偏置。
      如果 p 值 < alpha,则空为,硬币有失偏。

    在此处了解有关假设检验的更多详细信息

    问:让不公平的硬币公平

    由于硬币翻转是一个二元的结果,你可以使一个不公平的硬币公平翻转两次。如果你翻转它两次,有两个结果,你可以打赌:头后跟尾巴或尾巴,后头。

    P(头) = P(尾) = P(尾) = P(头)

    这是有道理的,因为每个硬币的去向都是一个独立的事件。这意味着,如果你得到头 + 头或尾巴 + 尾巴, 你需要重新翻转硬币.

    问:你即将坐飞机去伦敦,你想知道你是否需要带一把雨伞。你打电话给你的三个随机的朋友,问他们每个人,如果下雨。你的朋友说真话的概率是2/3,他们撒谎对你恶作剧的概率是1/3。如果三人都说正在下雨,那么伦敦真的下雨的可能性是多少。

    你可以说这个问题与贝叶斯理论有关,因为最后一个语句基本上遵循结构,”假设B为真,A的概率是多少?因此,我们需要知道某一天伦敦下雨的可能性。假设是25%。

    P(A) = 下雨的概率 = 25%
    P(B) = 所有3个朋友都说在下雨
    P(A+B) 下雨的可能性,因为他们告诉下雨
    P(B#A) 所有 3 个朋友都说下雨的可能性 , 下雨了 = (2/3)3 = 8/27

    第 1 步:P(B) 的解算
    P(A+B) = P(B]A) = P(A) / P(B),可以重写为
    P(B) = P(B|A) = P(A) = P(B=不是 A) = P(不是 A)
    P(B) = (2/3)3 = 075 × 0.25*8/27 × 0.75×1/27

    第 2 步:P(A] 的解算)B)
    P(A+B) = 0.25 = (8/27) / ( 0.25*8/27 = 0.75*1/27)
    P(A+B) = 8 / (8 + 3) = 8/11

    因此,如果三个朋友都说在下雨,那么8/11的机会是下雨。

    问:您有 40 张牌,颜色为 4 种颜色:10 张绿卡、10 张红牌、10 张蓝卡和 10 张黄牌。每种颜色的卡片编号为 1 到 10。随机选取两张卡片。找出拾取的卡片不是相同数量和颜色的概率。

    由于这些事件不是独立的,我们可以使用以下规则:
    P(A 和 B) = P(A) = P(B)A) ,这也等于
    P(不是 A,不是 B) = P(不是 A) = P(不是 B = 不是 A)

    例如:

    P(不是 4,不是黄色) = P(不是 4) = P(不是黄色 = 不是 4)
    P(不是 4,不是黄色) = (36/39) = (27/36)
    P(不是 4,不是黄色) = 0.692

    因此,拾取的卡数量与颜色相同的概率为 69.2%。

    感谢您的阅读!

    – 特伦斯·申

    Founder of 新Twin的创始人|让我们连接LinkedIn LinkedIn

    Comments are closed.