160个机器学习面试题

原文:https://hackernoon.com/160-da...
Alexey Grigorev(Lead Data Scientist at OLX Group)面试

数据科学职位的典型面试过程会有不少轮,其中一般会涉及理论概念,目的是肯定应聘者是否了解机器学习的基础知识。
在这篇文章中,我想总结一下我全部的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。
其中包括如下主题:算法

  • 线性回归
  • 模型验证
  • 分类和逻辑回归
  • 正则化
  • 决策树
  • 随机森林
  • GBDT
  • 神经网络
  • 文本分类
  • 聚类
  • 排序:搜索和推荐
  • 时间序列

这篇文章中的问题数量彷佛远远不够,请记住,面试流程是根据公司的需求和你的工做经历而定的。所以,若是你的工做中没有用过期间序列模型或计算机视觉模型,就不会收到相似的问题。segmentfault

提示:若是不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类:网络

  • 👶容易
  • ⭐️中号
  • 🚀专家

开始吧!框架

有监督的机器学习

  • 什么是有监督学习?👶

线性回归

  • 什么是回归?哪些模型可用于解决回归问题?👶
  • 什么是线性回归?何时使用它?👶
  • 什么是正态分布?为何要重视它?👶
  • 如何检查变量是否遵循正态分布?‍⭐️
  • 如何创建价格预测模型?价格是否正态分布?须要对价格进行预处理吗?‍⭐️
  • 解决线性回归的模型有哪些?‍⭐️
  • 什么是梯度降低?它是如何工做的?‍⭐️
  • 什么是正规方程?‍⭐️
  • 什么是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”?使用哪一种方法?‍⭐️
  • 使用树来解决时间序列问题有什么问题?‍⭐️

以上!但愿它对各位有用,祝面试愉快!
机器学习

本文由博客一文多发平台 OpenWrite 发布!
相关文章
相关标签/搜索