登录

    DS‍‌‍‍‍‌‌‌‌‍‌‌‍‌‌‌‌‌‌‌‌‌‍‍‌‌‌‍‌‍‍‍/BA岗位常考题 Linear Regression 面试题答案总结

    汪淼ACE
    1637
    4
    本文内容纯手打原创。希望能和地里的朋友们一起讨论这些知识总结。也麻烦大家给点大米。

    Linear regression 模型在数据科学岗位日常工作中有广泛应用, 同时它也是数据科学岗位面试的常见考点。我最近面了很多一线公司的DS/MLE岗位,也在工作之余帮忙辅导过一些朋友参加面试,大家都经常遇到linear regression题目。在这个帖子中,我们会结合面试例题给大家精炼梳理 linear regression 相关知识。

    1. Linear Regression概念介绍

    首先,我们用一个非常简单的例子回顾一下 linear regression 的基本概念。以下表格展示了广告 Cost (daily spend on certain ads platform) 和 Conversions (daily conversion volume from this ads platform) 之间的数据关系:



    如果附件看不清楚的话,可以参考我在这里的文章: Linear Regression 面试常见考点解析 (acecodeinterview.com)





    Notes 1: 我们求解 linear regression 中参数的时候, 并不一定要用 Ordinary Least Squares 这个 estimator。Ordinary Least Squares 只是 Least Squares estimation 中的一种方法,除此之外我们还可以用 Weighted Least Squares (WLS),Generalized Least Squares (GLS) 等方法,我们甚至可以抛弃Least Squares, 改用 Least Absolute Deviations (LAD) 来解决 linear regression问题。因此,大家要注意,在我们选用 linear regression作为 model 之后,我们可以选择任意estimator作为 loss function 的定义方法,Ordinary Least Squares不是唯一方法。

    如果附件看不清楚的话,可以参考我在这里的文章: Linear Regression 面试常见考点解析 (acecodeinterview.com)



    2. 从概率角度理解OLS Linear Regression



    如果附件看不清楚的话,可以参考我在这里的文章: Linear Regression 面试常见考点解析 (acecodeinterview.com)

    Note 2: 在assumption 1中我们对error term的unpredictable random noise的定义也同时默认表示there is no correlation between the independent variables and the error term 。在有些资料中,no correlation这一点会被单独列出来。

    Note 3: Assumption 3 中对 error term 的 normal distribution assumption 并不是OLS linear regression必需的。只不过 normally distributed error term会使得 OLS 成为 the most efficient linear regression estimator。建议大家在面试时可以直接把这个3个 assumption 都讲出来,在绝大多数情况下面试官是会满意的。 极个别情况下,如果面试官对这个答案提出质疑, 我们可以再进一步讨论第3个 assumption 是 optimal 的。在后文中,我们会默认同时使用这3个 assumptions。

    下面我们利用 Maximum Likelihood Estimation 参数估计方法证明:基于上述3个 probabilistic assumptions 得到的 linear regression loss function 与 Ordinary Least Squares estimator 给出的表达式是完全等价的。以下是简化版证明过程[面试常考点]:如果附件看不清楚的话,可以参考我在这里的文章: Linear Regression 面试常见考点解析 (acecodeinterview.com)





    3. Loss function数值求解

    前面我们主要讨论了 linear regression loss function 的构造方法及其合理性。进一步要完成建模过程,我们需要利用数值优化方法求出能使J(theta)取最小值的参数解theta,这涉及到 directional derivative, gradient descent algorithm 等相关知识。这部分内容在Data Analyst面试中几乎不会出现,在 Data Scientist 经典机器学习面试中也不是重点内容,但在涉及到 neural network model 的面试,或者 Machine Learning Engineer 面试 ML theory 轮次中会作为考点出现。在本文中,我们不会细致介绍 gradient descent 的概念和公式推导过程,而是主要针对公式结论的物理意义进行一些讨论。

    如果附件看不清楚的话,可以参考我在这里的文章: Linear Regression 面试常见考点解析 (acecodeinterview.com)



    另外, 在上面的公式中,每一次迭代做参数更新都是使用全部的训练数据(共m行),这种方法对应于 batch gradient descent。为了加速参数求解过程,我们可以减小每次参数更新时使用的训练数据个数,这些方法对应着 mini-batch gradient descent 或者 stochastic gradient descent。这部分内容在面试中有两种考法, 一种是要求写出参数递推公式,另一种是要求通过编程实现整个参数求解过程。其中编程实现的代码并不长,只需要根据递推公式写出for loop循环即可, 因此关键是对参数递推公式的理解。

    4. 总结

    Linear regression虽然是最简单的机器学习模型,但在数据科学岗位面试中出现的频率并不低,考点主要涉及 model assumptions 的细节以及 loss function 的相关推导和概念理解。本文从统计机器学习角度把相关常见考点进行了梳理汇总, 至于对 Linear regression 参数估计结果的 statistical hypothesis testing 等数理统计的内容,之后有机会再作总结。欢迎地里的朋友们一起讨论这些面试常考知识,大家一起努力,实现职场进阶!
    4条回复
    热度排序

    发表回复