数据科学职位的典型面试过程会有很多轮,其中通常会涉及理论概念,目的是确定应聘者是否了解机器学习的基础知识。
在这篇文章中,我想总结一下我所有的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。
其中包括以下主题:
- 线性回归
- 模型验证
- 分类和逻辑回归
- 正则化
- 决策树
- 随机森林
- GBDT
- 神经网络
- 文本分类
- 聚类
- 排序:搜索和推荐
- 时间序列
这篇文章中的问题数量似乎远远不够,请记住,面试流程是根据公司的需求和你的工作经历而定的。因此,如果你的工作中没有用过时间序列模型或计算机视觉模型,就不会收到类似的问题。提示:如果不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类:
- 👶容易
- ⭐️中号
- 🚀专家
开始吧!
有监督的机器学习
什么是有监督学习?👶
线性回归
- 什么是回归?哪些模型可用于解决回归问题?👶
- 什么是线性回归?什么时候使用它?👶
- 什么是正态分布?为什么要重视它?👶
- 如何检查变量是否遵循正态分布?⭐️
- 如何建立价格预测模型?价格是否正态分布?需要对价格进行预处理吗?⭐️
- 解决线性回归的模型有哪些?⭐️
- 什么是梯度下降?它是如何工作的?⭐️
- 什么是正规方程?⭐️
- 什么是SGD-随机梯度下降?与通常的梯度下降有何不同?⭐️
- 有哪些评估回归模型的指标?👶
什么是MSE和RMSE?👶
验证方式
- 什么是过拟合?👶
- 如何验证模型?👶
- 为什么需要将数据分为三个部分:训练,验证和测试?👶
- 解释交叉验证的工作原理?👶
- 什么是K折交叉验证?👶
如何在K折交叉验证中选择K?你最喜欢的K是什么?👶
分类
- 什么是分类?哪些模型可以解决分类问题?👶
- 什么是逻辑回归?什么时候需要使用它?👶
- Logistic回归是线性模型吗?为什么?👶
- 什么是Sigmoid?它有什么作用?👶
- 如何评估分类模型?👶
- 什么是准确性?👶
- 准确性始终是一个好的指标吗?👶
- 什么是混淆表?表中的单元格表示什么?👶
- 什么是精度,召回率和F1分数?👶
- 准确率和召回率的权衡⭐️
- 什么是ROC曲线?什么时候使用?⭐️
- 什么是AUC(AU ROC)?什么时候使用?⭐️
- 如何解释AU ROC分数?⭐️
- 什么是PR曲线?⭐️
- PR曲线下的面积是多少?这个指标有用吗?⭐️
- 在哪种情况下AU PR比AU ROC好?⭐️
- 如何处理分类变量?⭐️
为什么需要one-hot编码?⭐️
正则化
- 如果的数据中包含三列:x,y,z,其中z是x、y的和,那么线性回归模型会怎样?⭐️
- 如果数据中的z列是x和y列之和加上一些随机噪声,那么的线性回归模型会怎样?⭐️
- 什么是正则化?为什么需要它?👶
- 有哪些正则化技术?⭐️
- 什么样的正则化技术适用于线性模型?⭐️
- L2正则化在线性模型中是什么样的?⭐️
- 如何选择正确的正则化参数?👶
- L2正则化对线性模型的权重有什么影响?⭐️
- L1正则化在线性模型中是什么样的?⭐️
- L2和L1正则化有什么区别?⭐️
- 可以在线性模型中同时具有L1和L2正则化吗?⭐️
- 如何解释线性模型中的常数项?⭐️
- 如何解释线性模型中的权重?⭐️
- 如果一个变量的权重高于另一个变量的权重,那么可以说这个变量更重要吗?⭐️
什么时候需要对线性模型进行特征归一化?什么情况下可以不做归一化?⭐️
特征选择
- 什么是特征选择?为什么需要它?👶
- 特征选择对线性模型重要吗?⭐️
- 有哪些特征选择技术?⭐️
- 可以使用L1正则化进行特征选择吗?⭐️
可以使用L2正则化进行特征选择吗?⭐️
决策树
- 什么是决策树?👶
- 如何训练决策树?⭐️
- 决策树模型的主要参数是什么?👶
- 如何处理决策树中的分类变量?⭐️
- 与更复杂的模型相比,单个决策树有什么好处?⭐️
如何知道哪些特征对决策树模型更重要?⭐️
随机森林
- 什么是随机森林?👶
- 为什么需要在随机森林中进行随机化?⭐️
- 随机森林模型的主要参数是什么?⭐️
- 如何选择随机森林中树的深度?⭐️
- 如何知道随机森林需要多少棵树?⭐️
- 随机森林的训练并行化容易?该怎么做?⭐️
- 随机森林中过多的树有什么潜在问题?⭐️
- 是否可以不找到最佳分割,而是随机选择几个分割,然后从中选择最佳分割?可行吗 🚀
数据中存在相关特征时会怎样?⭐️
梯度提升
- 什么是梯度增强树?⭐️
- 随机森林和梯度提升之间有什么区别?⭐️
- 是否可以并行化梯度提升模型的训练?怎么做?⭐️
- 梯度增强树中的特征重要性-有哪些可能的选择?⭐️
- 梯度提升模型的特征重要性,连续变量和离散变量之间是否有区别?🚀
- 梯度提升模型中的主要参数是什么?⭐️
- 如何在XGBoost或LightGBM中调整参数?🚀
如何在梯度提升模型中选择树的数量?⭐️
参数调整
- 你大致了解哪些参数调整策略?⭐️
网格搜索参数调整策略和随机搜索有什么区别?什么时候使用一个或另一个?⭐️
神经网络
- 神经网络可以解决哪些问题?👶
- 通常的全连接前馈神经网络如何工作?⭐️
- 为什么需要激活功能?👶
- sigmoid 为激活函数有什么问题?⭐️
- 什么是ReLU?它比sigmoid 或tanh好吗?⭐️
- 如何初始化神经网络的权重?⭐️
- 如果将神经网络的所有权重都设置为0会怎样?⭐️
- 神经网络中有哪些正则化技术?⭐️
什么是1.1Dropout?为什么有用?它是如何工作的?⭐️
神经网络的优化
- 什么是反向传播?它是如何工作的?为什么需要它?⭐️
- 你知道哪些训练神经网络的优化技术?⭐️
- 如何使用SGD(随机梯度下降)训练神经网络?⭐️
- 学习率是多少?👶
- 学习率太大时会发生什么?太小?👶
- 如何设置学习率?⭐️
- 什么是Adam?Adam和SGD之间的主要区别是什么?⭐️
- 什么时候使用Adam和SGD?⭐️
- 要保持学习率不变还是在训练过程中改变它?⭐️
- 如何确定何时停止训练神经网络?👶
- 什么是ModelCheckpoint?⭐️
讲一下你是如何进行模型训练的?⭐️
用于计算机视觉的神经网络
- 如何使用神经网络进行计算机视觉?⭐️
- 什么是卷积层?⭐️
- 为什么需要卷积?不能使用全连接层吗?⭐️
- CNN中的pooling是什么?为什么需要它?⭐️
- Max pooling如何工作?还有其他池化技术吗?⭐️
- CNN是否抗旋转?如果旋转图像,CNN的预测会怎样?🚀
- 什么是数据增强?为什么需要它们?你知道哪种增强?👶
- 如何选择要使用的增强?⭐️
- 你知道什么样的CNN分类体系?🚀
- 什么是迁移学习?它是如何工作的?⭐️
- 什么是目标检测?你知道有哪些框架吗?🚀
什么是对象分割?你知道有哪些框架吗?🚀
文字分类
- 如何使用机器学习进行文本分类?⭐️
- 什么是词袋模型?如何将其用于文本分类?⭐️
- 词袋模型的优缺点是什么?⭐️
- 什么是N-gram?如何使用它们?⭐️
- 使用N-gram时,词袋模型中N应该是多少?⭐️
- 什么是TF-IDF?它对文本分类有什么用?⭐️
- 你用过哪种模型对带有词袋特征的文本进行分类?⭐️
- 使用词袋进行文本分类时,你希望使用梯度提升树模型还是逻辑回归?⭐️
- 什么是词嵌入?为什么有用?你知道Word2Vec吗?⭐️
- 你还知道其他词嵌入的方法吗?🚀
- 如果你的句子包含多个单词,则可能需要将多个单词嵌入组合为一个。你会怎么做?⭐️
- 在进行带有嵌入的文本分类时,使用梯度提升树模型还是逻辑回归?⭐️
- 如何使用神经网络进行文本分类?🚀
如何使用CNN进行文本分类?🚀
聚类
- 什么是无监督学习?👶
- 什么是聚类?什么时候需要它?👶
- K-means是如何工作的吗?⭐️
- 如何为K均值选择K?⭐️
- 你还知道其他哪些聚类算法?⭐️
- 你知道DBScan如何工作吗?⭐️
何时选择K-means,何时选择DBScan?⭐️
降维
- 维度灾难是什么?为什么要关心它?⭐️
- 你知道降维技巧吗?⭐️
什么是奇异值分解?它通常如何用于机器学习?⭐️
排序和搜索
- 什么是排序问题?可以使用哪些模型来解决它们?⭐️
- 文本信息检索任务重,什么是好的无监督baselines?⭐️
- 如何评估排序算法?使用哪些离线指标?⭐️
- k的精度和召回率是多少?⭐️
- k的平均精度均值是多少?⭐️
- 如何使用机器学习进行搜索?⭐️
- 如何获得训练算法的排序数据?⭐️
- 可以将搜索问题表述为分类问题吗?⭐️
- 如何将点击数据用作训练数据以进行排序算法?🚀
- 如何使用梯度提升树进行排序?🚀
如何在线评估新的排序算法?⭐️
推荐系统
- 什么是推荐系统?👶
- 建立推荐系统时有什么好的 baseline?⭐️
- 什么是协同过滤?⭐️
- 如何将隐式反馈(点击等)纳入推荐系统?⭐️
- 什么是冷启动问题?⭐️
解决冷启动问题的可能方法?🚀
时间序列
- 什么是时间序列?👶
- 时间序列与通常的回归问题有何不同?👶
- 用于解决时间序列问题的有哪些模型?⭐️
- 如果序列中有趋势,如何消除它?为什么要这么做?⭐️
- 在时间t处测得只有一个变量“y”的序列。如何在时间t + 1预测“y”?使用哪种方法?⭐️
- 有一个带有变量“y”和一系列特征的序列。如何预测t + 1时的“y”?使用哪种方法?⭐️
使用树来解决时间序列问题有什么问题?⭐️
以上!希望它对各位有用,祝面试愉快!
原文:https://hackernoon.com/160-data-science-interview-questions-415s3y2a
Alexey Grigorev(Lead Data Scientist at OLX Group)
翻译:tjxj666