机器学习面试:这25个实用又有深度的问题

机器学习面试可以有趣且有深度么?

 

 

这是你的机器学习系统?

——嗯对呀!把数据倒进这堆线性代数,然后在另一端迎接答案。

那答案是错的怎么办?

——搅一搅,拌一拌,答案就会越来越对了...

 

大多数数据科学家,都从实操的角度学习机器学习。所以,我们很有可能专注在学习各种新的包,框架和技巧上面。这样就会导致,我们缺少对于核心理论基础的深度掌握。这里对于机器学习的定义包括了所有基于统计方法的机器学习(不只包括深度学习)。

 

但是,当你花力气探索并思考这些核心理论时,很多奇妙的机器学习问题会自然而然地出现。回答这些问题,可以揭示很多机器学习,更深层次的,跟美丽的一面。总的来说,这些问题能帮助我们从上图所示的线性代数堆中脱身。我们不仅仅希望整天搅搅拌拌数据集,我们更希望更深入地研究机器学习的习性,怪癖和更多关于它的错综复杂的东西。

 

互联网上充斥类似“机器学习面试的典型问题”的文章。我们能把这个议题变得更不同和有趣么?

 

以下这些问题只是用于引发思考和讨论的。没有现成的答案可用。有些问题会有解答提示,但是它们更多地是一个开放式的讨论问题,而没有一个确切的答案。每个问题都值得细致的研究。它们都没有确切的大男。一些问题比较严肃,一些具有娱乐性质。

 

那就开始吧~

 

 

 

P > 0.05 游戏结束,请重试。注:P值是用来判定假设检验结果的一个参数,也可以根据不同的分布使用分布的拒绝域进行比较。如果P值>0.05,说明结果更倾向于接受假定的参数取值。

 

● 我设计了一个线性回归模型并且有95%的置信区间。这是否意味着有95%的概率,我的模型可以预测到我拟合的模型?

 

● Hadoop文件系统和k-最近邻算法的相同点是什么?(提示:“懒”)

 

● 以下哪一个结构在可表达性中更强(也就是说可以用一个布尔函数表达)?A. 一个单层感知器 B. 一个双层决策树?(提示:XOR)

 

● 以下哪一个更强大 A. 一个双层决策树 B. 一个没有激活函数的双层神经网络 ?(提示:非线性)

 

● 神经网络可以用作减少维度么?原因是什么?

 

 

 

注:Migrane是偏头痛,Hypertension是高血压,Stress是压力过大,最后一个是深度学习背后的数学

 

● 所有人都很鄙视线性回归模型中的截距系数。请举出一个它的用处。(提示:噪音/垃圾数据收集器)

 

● LASSO正则化将系数减至0。岭回归将系数降低到很小的非零值。你可以用以下函数图像直观地解释它们的不同么?A. |x| b. x^2

(提示:|x|的图像有尖锐的拐角)

 

● 加入你不知道一个数据集(连续数值)任何的分布信息,并且你不能假设它呈正态分布。简明地证明,不管真实分布是什么,你都能保证89%左右的数据,都在平均值 +/- 3倍的标准差范围之中。

(提示:马尔科夫的Ph.D导师)

 

● 机器学习的大多数算法都包括某种矩阵运算,比如矩阵乘法和矩阵求逆。简单地解释,为什么一个 mini-batch 机器学习算法会比一次性使用整个数据集在计算上更有效率?

(提示:矩阵运算的时间复杂度)

 

● 难道你不觉得时间序列,是一个只有一个回馈变量,和一个预测器的简单线性回归问题么?那请问使用线性回归来解决时间序列问题有什么不对(不限于线性回归,高次回归解决此类问题也包含在内)?

(提示:过去指引未来)

 

 

 

 

● 用简单的数学方法证明,在分类问题中,从所有可能的决策树中寻找最优决策树,是一个难度呈指数上升的问题?

(提示:在一个丛林中有多少树)

 

● 决策树和深度神经网络都是非线性分类算法,它们都可以将一个空间用复杂的决策边界分开。那么为什么决策树会能被直观地展现出来,而深度神经网络不能?

 

● 反向传播是深度学习的核心。列举几个反向传播以外的,训练神经网络的方法。

(提示:随即搜索)

 

● 假如你有两个问题 - 一个线性回归问题和一个逻辑回归分类问题。一个新发现的巨快的矩阵运算算法会更好地改善他们中间哪一个。解释原因。(提示:哪一个更有可能使用矩阵运算)

 

● 预测算法中的相关性对于PCA(主成分分析)有什么影响?你可以怎么应对这些影响?

 

 

 

我该拿相关性怎么办?

 

● 你被要求设计一个关于陨石撞击地球的分类模型(这对人类文明至关重要)。在基本的分析后,你获得了99%的准确率。你应该为此感到高兴么?如果不,为什么?你能怎么改善这个结果?

(提示:小概率事件)

 

● 是否可能发现连续变量和非连续变量的相关性?如果可能,怎么发现?

 

● 如果你在分析和基因表达相关的数据,有数百万用作预测的变量,但仅仅只有数百个样本。用简单的数学方法解释为什么普通的最小二乘法在这个情景中,不是回归模型一个好的选择。

(提示:矩阵代数)

 

● 解释为什么k-折交叉验证在时间序列模型中没有用?你能怎么应对这种情况?

(提示:最邻近的过去不能代表未来)

 

● 简单地把训练数据集分成训练和验证集对于回归问题有用。但为什么在分类问题中,这种方法不适用呢?你可以怎么应对这种情况?

(提示:数据集中不同类比是否分布均匀?)

 

 

 

随机采样没用!

 

● 以下哪一个对你来说更重要?A. 模型准确率 B. 模型的表现

 

● 如果你可以使用多核CPU,你会选择集成树还是随机森林?为什么?(提示:你有10只手去做事,这会提升你的效率)

 

● 假如你的数据集是线性可分的,并且你的算法会收敛。你还知道有限的计算资源导致的你的算法最大迭代次数。你会选择梯度下降么?如果不,你会选择什么?(提示:什么简单算法保证你能求解)

 

● 假如你有特别小的运存/内存。你会选择以下哪个算法?A. 逻辑回归 B.k-近邻算法?为什么(提示:空间复杂性)

 

● 你有100个数据点和5个特征。为了降低偏差(bias),你加入了五个特征,将特征数增加了一倍,并且收集了100个更多的数据点。阐述这是否是一个好的方法?(提示:机器学习中有一个著名的灾难,你听说过么?)

 

 

 

注:维度灾难:通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。维数灾难涉及数字分析、抽样、组合、机器学习、数据挖掘和数据库等诸多领域。

好的问题能够助长一个人的好奇心,并且使其思考得更深入。通过问有趣的问题,你让学习过程更加令人享受和充实。希望你享受这个过程。

 

作者:Tirthajyoti Sarkar

编译:瘦吸

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值