21个必知数据科学面试题和答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21个必知数据科学题和答案
2016-03-10分类:其他
最近KDnuggets上发的“20个问题来分辨真假数据科学家”这篇文章非常热门,获得了一月的阅读量排行首位。
但是这些问题并没有提供答案,所以KDnuggets的小编们聚在一起写出了这些问题的答案。我还加了一个特别提问——第21问,是20个问题里没有的。
下面是答案。
Q1.解释什么是正则化,以及它为什么有用。
回答者:Matthew Mayo
正则化是添加一个调优参数的过程模型来引导平滑以防止过拟合。(参加KDnuggets文章《过拟合》)
这通常是通过添加一个常数到现有的权向量。这个常数通常要么是L1(Lasso)要么是L2(ridge),但实际上可以是任何标准。该模型的测算结果的下一步应该是将正则化训练集计算的损失函数的均值最小化。
Xavier Amatriain在这里向那些感兴趣的人清楚的展示了L1和L2正则化之间的比较。
图1.Lp球:p的值减少,相应的L-p空间的大小也会减少。
Q2.你最崇拜哪些数据科学家和创业公司?
回答者:Gregory Piatetsky
这个问题没有标准答案,下面是我个人最崇拜的12名数据科学家,排名不分先后。
Geoff Hinton, Yann LeCun, 和 Yoshua Bengio-因他们对神经网络的坚持不懈的研究,和开启了当前深度学习的革命。
Demis Hassabis,因他在DeepMind的杰出表现——在Atari游戏中实现了人或超人的表现和最近Go的表现。来自datakind的Jake Porway和芝加哥大学DSSG的Rayid Ghani因他们让数据科学对社会产生贡献。
DJ Patil,美国第一首席数据科学家,利用数据科学使美国政府工作效率更高。
Kirk D. Borne,因其在大众传媒中的影响力和领导力。
Claudia Perlich,因其在广告生态系统的贡献,和作为kdd-2014的领头人。
Hilary Mason在Bitly杰出的工作,和作为一个大数据的明星激发他人。
Usama Fayyad,展示了其领导力,为KDD和数据科学设立了高目标,这帮助我和成千上万的人不断激励自己做到最好。
Hadley Wickham,因他在数据科学和数据可视化方面的出色的成果,包括dplyr,ggplot2,和RStudio。
数据科学领域里有太多优秀的创业公司,但我不会在这里列出它们,以避免利益冲突。
Q3.如何验证一个用多元回归生成的对定量结果变量的预测模型。
回答者:Matthew Mayo
模型验证方法:
如果模型预测的值远远超出响应变量范围,这将立即显示较差的估计或模型不准确。
如果值看似是合理的,检查参数;下列情况表示较差估计或多重共线性:预期相反的迹象,不寻常的或大或小的值,或添加新数据时观察到不一致。
利用该模型预测新的数据,并使用计算的系数(平方)作为模型的有效性措施。
使用数据拆分,以形成一个单独的数据集,用于估计模型参数,另一个用于验证预测。
如果数据集包含一个实例的较小数字,用对折重新采样,测量效度与R平方和均方误差(MSE)。
Q4.解释准确率和召回率。它们和ROC曲线有什么关系?
回答者:Gregory Piatetsky
这是kdnuggets常见问题的答案:精度和召回
计算精度和召回其实相当容易。想象一下10000例中有100例负数。你想预测哪一个是积极的,你选择200个以更好的机会来捕捉100个积极的案例。你记录下你预测的ID,当你得到实际结果时,你总结你是对的或错的。以下是正确或错误的四种可能:
TN/真阴性:例阴性且预测阴性
TP/真阳性:例阳性且预测阳性
FN/假阴性:例阳性而预测阴性
FP/假阳性:例阴性而预测阳性
意义何在?现在你要计算10000个例子中有多少进入了每一个bucket:
现在,你的雇主会问你三个问题:
1.你的预测正确率有几成?
你回答:确切值是(9760+60)除以10000=98.2%
2.你获得阳性的例子占多少比例?
你回答:召回比例为60除以100=60%
3.正值预测的百分比多少?
你回答:精确值是60除以200=30%
看一个维基上的精度和召回的优秀范例。
图4.精度和召回
ROC曲线代表了灵敏度(召回)与特异性(不准确)之间的关系,常用来衡量二元分类的性能。然而,在处理高倾斜度的数据集的时候,精度-召回(PR)曲线给出一个更具代表性的表现。见Quora回答:ROC曲线和精度-召回曲线之间的区别是什么?。
Q5.如何证明你对一个算法的改进确实比什么都不做更好?
回答者:Anmol Rajpurohit
我们会在追求快速创新中(又名“快速成名”)经常看到,违反科学方法的原则导致误导性的创新,即有吸引力的观点却没有经过严格的验证。一个这样的场景是,对于一个给定的任务:提高算法,产生更好的结果,你可能会有几个关于潜在的改善想法。
人们通常会产生的一个明显冲动是尽快公布这些想法,并要求尽快实施它们。当被问及支持数据,往往是共享的是有限的结果,这是很有可能受到选择偏差的影响(已知或未知)或一个误导性的全局最小值(由于缺乏各种合适的测试数据)。
数据科学家不让自己的情绪操控自己的逻辑推理。但是确切的方法来证明你对一个算法的改进确实比什么都不做更好将取决于实际情况,有几个共同的指导方针:
确保性能比较的测试数据没有选择偏差
确保测试数据足够,以成为各种真实性的数据的代表(有助于避免过拟合)
确保“受控实验”的原则,即在比较运行的原始算法和新算法的表现的时候,性能、测试环境(硬件等)方面必须是完全相同的。
确保结果是可重复的,当接近类似的结果出现的时候
检查结果是否反映局部极大值/极小值或全局极大值/最小值
来实现上述方针的一种常见的方式是通过A/B测试,这里面两个版本的算法是,在随机分割的两者之间不停地运行在类似的环境中的相当长的时间和输入数据。这种方法是特别常见的网络分析方法。
Q6.什么是根本原因分析?
回答者:Gregory Piatetsky