如何回答Machine Learning的面试问题?

设想一下,你申请了梦寐以求的公司的ML工程师职位,接到了该公司HR的电话,告知你准备好参加面试。接到电话后,你想跟着ML学习指南,打算开始学习相关知识。 在面试当天,你准备充分,带着信心走进面试现场。然而,面试结束后,你接到招聘人员的电话,说他们决定不录用你。这是怎么回事?

因为,简单回答问题是不够的,面试官想看到你对该主题/问题更深层次的了解。举例软件工程编码类面试:在面试过程中,如果面试官要求你在排序列表中搜索一个元素,正确率高但效率低的做法是线性搜索列表中的每个项目,但更好的做法是使用二进制进行搜索。

同样,如果你被问及逻辑回归(logistic regression)和线性回归(linear regression)哪个更适合任务分类,逻辑回归是正确答案,但直接回答就不理想,更好的回答是进一步解释为什么不使用线性回归的(即使用线性回归会违反假设)。可能有点矫枉过正,但是在你参加大公司面试时,所有候选人都知道逻辑回归更适用于任务分类,但很少有人会进一步解释原因。

对于机器学习(ML)中的理论问题,面试官通常只会问一个问题,紧接着,会根据这个问题衍生出1-4个问题。在回答这些问题时,正如我们之前说的,简单地陈述答案是不够的,你应该将问题展开讲述,例如陈述利弊、讨论替代模型/算法、编写方程式,甚至建议如何生产模型等。进一步回答会让你从一个普通的求职者变成一个优秀的候选人。

一、数学知识
1. 损失函数(Loss Functions)
你应该熟知所有损失函数,因为当你谈论ML模型时,面试官会期待优秀的候选人可以在没有提示的情况下提到损失函数。
平均绝对误差(MAE)/均方误差(MSE)

2. 对数损失函数(Log Loss)
针对二进制输出分类模型的损失函数

3. 交叉熵损失函数(Cross-Entropy Loss)
多输出分类模型的损失函数

4. 铰链损失函数(Hinge Loss)
针对SVM的损失函数

二、模型
1. 线性回归(Linear Regression)
可归是传统ML基本模型之一、其方程式非常简单。

2. 辑回归(Logistic Regression)
逻辑回归在ML面试中经常出现,因为它通常是分类问题的基线模型,面试官可以使用过拟合和分类指标进行跟踪。

3. 支持向量机(SVMs)
与线性回归一样,支持向量机并不经常出现在ML面试中。但是,了解SVM的成本函数的方程式,将有助于你理解超参数,超参数可用于控制误分类数量(这个问题经常出现在与SVM有关的问题中)。如果超参数为0,则模型不允许出现任何误分类,反之,超参数值越大,允许的误分类越多。

4. 神经网络的前向传递(Forward Pass of Neural Network)
神经网络经常出现在ML面试中,所以你至少要准备1个问题。候选人必须熟知前向传递方程,以便更好地理解要如何将激活函数、权重和输入结合在一起。

5. 贝叶斯定理(Bayes Theorem)
这是机器学习中最常出现的方程。面试中出现的问题往往不是解决贝叶斯定理的问题–这些问题通常是针对数据科学家的–但有时你需要解释简单贝叶斯模型,而这个定理是核心。

6. L1 和 L2 正则化(L1 and L2 Regularization)
了解这两个方程以及它们如何防止过拟合非常重要。过拟合问题经常出现在ML面试中。

7. 决策树(Decision Tree)
决策树、随机森林、和增强树经常出现在ML面试中,你应该知道用于测量节点杂质的两个方程

8. 基尼系数(GiniIndex)

9. 熵(Entropy)
决策树的成本函数-因为编写成本函数非常简单,面试官很可能在ML编程问题中提出让你编写成本函
数。

三、指标
在提到ML模型时,你需要知道如何进行评估,因此了解每个模型的指标非常重要。

  1. 分类指标(精确度、召回率、准确度、F1)
  2. 回归指标(平均绝对误差、均方误差)

其他一些指标:

  • Normalized discounted cumulative gain(排名指标)
  • Intersection over union(计算机视觉指标)
  • Dicecoefficient(计算机视觉指标)
  • BLEU分数(NLP指标)

四、激活函数
如上文所述,神经网络经常出现在面试中,在回答涉及神经网络和其他ML模型的问题时,了解流行的激活函数也很有必要。
1. Softmax函数

2. 距离函数(Distance Functions)
距离函数出现在ML面试的许多领域:比如k最近邻、 k均值以及推荐系统。因此,你应该熟悉了个最受欢迎的距离函数:
2.1 余弦相似度(Cosine)
2.2 欧氏距离(Euclidean)
2.3 曼哈顿距离(Manhattan)

五、统计知识
虽然MLE面试中的统计问题没有数据科学家面试那么多,但你也要试着将这些方程用于数据分析问题。这类问题经常出现在面试中,因为你的工作中心就是处理数据。

1. 卡方(Chi Squared)
卡方检验用来确定某一类别特征的期望频率,与该特正的观察频率之间,是否存在统计学上显著的差异。

2. 置信区间(Confidence Intervals)
该区间给出了估计区间包含感利息价值的概率。最常见的置信区间为95%。

3. 标准化(Standardization)
标准化是一种数据预处理技术,用于将数据围绕平均值进行缩放,以获得单位标准差。

4. 归一化(Normalization)
归一化是一种数据预处理技术,用于在0和1之间缩放数据。

5. 偏差-方差权衡方程(Bias-Variance Tradeoff Equation)
虽然你可能了解偏差-方差权衡的概念,但理解该偏差-方差权衡方程还可以帮你深层次理解这个概念,并在回答这个问题时提供更深层次的知识。

六、总结
机器学习是指训练计算机程序,以建立基干数据的统计模型的过程。机器学习(ML)的目标是转换数据,并从数据中识别关键模式或获得关键见解。而数学是机器学习面试中的一大重点。为了练习,我们汇总了机器学习面试问题中的数学相关的函数和问题。这份ML最重要数学的指南会对大家的求职很有帮助。

关于我们:
我们是位于旧金山湾区的一家求职咨询公司:
1、我们帮你找到硅谷本地CPT/OPT/OPT Extension 的工作机会
2、实习保录项目,协定时间内无offer全额退款
3、项目包括:简历精修 + Mock Interviews + Project Portfolio + 第三人称介绍 + 自我介绍视频录制
4、签约、准备材料,最快3-5个工作日 拿到offer
5、81%高实习转正率 ,强资源企业优先推荐+全美百余家全职岗位内推。
(欢迎添加微信 mtg_cz