您的位置:首页 > 产品设计 > UI/UE

40 Interview Questions asked at Startups in Machine Learning / Data Science

2017-11-18 17:58 393 查看

Q1.1000列1百万行的数据集,用于分类问题。电脑内存有限,如何降维减少计算时间?

Ans:1. 由于内存有限,关闭机器上的其他应用,包括浏览器,这样最多的内存可以用于计算。

          2. 随机采样数据集。从已知数据集中随机抽样。

          3. 降维。将数值量和类别量(catagorical)分开并删除相关量。对于数值量我们计算关联关系,对于类别变量进行卡方检验。

          4. 用PCA(主成分分析)选择数据集中方差最大的部分。

          5. 运用在线学习算法,例如Vowpal Wabbit(?)点击打开链接

          6. 用随机梯度下降法建立线性模型。随机梯度

          7. 运用对业务的理解去估计影响变量。这是直观的方法,容易产生误差。

Q2.PCA中旋转是否必要?如果不旋转会发生什么?

Ans:旋转可以最大化方差的差值,因此旋转是必要的。它使得成分之间更容易分开。PCA的动机就是用更少的成分来解释数据集中的最大方差。

          通过旋转,各成分之间的相对位置不会改变,只是改变了点的实际坐标。

          如果我们不进行旋转,PCA的效果不明显,我们得选择更多的成分来解释数据集中的方差。

Q3.给定一数据集。数据集丢失的值与中间值的差距在一个标准差内。有多少的数据不会被影响?为什么?

Ans:假设为标准分布。在标准分布中68%的数据在中间值的一个标准差内。因此有32%的数据没有被影响。

Q4.给定癌症检测的数据集。获得了分类模型并且分类精度为96%。对模型的表现怎么评价?怎么改进?

Ans:如果做了足够多的数据集,你应该推断出癌症检测的是不平衡的数据集。在不平衡的数据集上,精度不应该是模型评价的标准,因为96%只是大

          部分预测正确的概率,

         但我们真正感兴趣的是少数(4%)得了癌症的人群。因此,为了评估模型的表现,我们应该用灵敏度(Sensitivity),特异度

        (TrueNegative Rate),F测量度来评估。如果少数类的表现不好,我们可以采取以下措施:

         1.用欠采样,过采样,或SMOTE(?)使数据平衡。

         2.通过概率校准选择预测的阈值,用AUC-ROC曲线找到最优的阈值。

         3.对少量的样本进行甲醛。

         4.异常检测。

Q5.为什么朴素贝叶斯‘naive’?

Ans:朴素因为其假设数据集的所有特征是同样重要且相互独立。这种假设在现实中难以成立。

Q6.解释朴素贝叶斯算法呢中的先验概率,似然和边际似然?

Ans:先验概率是数据集中变量类别的比例。是没有别的信息时对类最接近的猜测。例如数据集中1的比例是70% 0的比例是30%。因此我们可以推测优70%的机会比例为1。

似然概率是给定观测值的情况下求某一个变量的可能性。例如垃圾邮件中‘FREE’出现的概率。

边际似然概率是任意邮件中‘FREE’出现的概率。(?)

Q7.在时间序列的数据集中,建立一个高精度模型。你先使用决策树模型,因为它可以用在各种类型的数据上。之后运用时间序列回归模型得到高精度的决策树模型。这种方法可不可行?

Ans:时间序列数据具有线性性质。决策树算法能有效的检测非线性关系。决策树模型不能提供鲁棒的预测因为它不能像回归模型一样映射线性关系。

因此一个线性模型可以提供鲁棒性的预测,只要数据集满足线性假设。线性假设(之后写)

Q8.帮助一个食品运送公司省更多的钱。问题是,运送公司不能及时运送食品。结果是,客户不满意。为了让客户满意,他们免费运送食品。哪种机器学习算法可以帮助他们?

Ans:不是机器学习问题,是路径优化为题。机器学习问题由3部分组成:1.存在一个模式,2.不能用数学解决,3.有数据。

Q9.当你的模型低偏差(bias)高方差(variance)。用什么算法处理?为什么?

Ans:当模型的预测值与实际值很接近的时候会产生低偏差。换句话说,模型足够灵活去模仿训练数据分布。但一个灵活的模型没有泛化能力,当模型测试了一个没见过的数据时,会给出令人失望的结果。

在这种情况下,我们用bagging算法(随机森林)去处理高方差的问题。Bagging算法将一个数据集分成了重复随机抽样的子集。这些样本用单个算法得到一系列的模型。然后通过投票(分类)和平均(回归)得到模型的预测。

此外,为了克服高方差,我们可以:

1.采用正则化技术,高的模型系数(?)降低模型复杂度。

2.从变量重要性表中选取前n个特征。也许对于数据集中的所有变量,算法很难找到有意的信息。

Q10.给定一数据集包含很多变量,其中一些高度相关,对其进行PCA。进行PCA之前需不需要除去相关的变量?为什么?

Ans:除去相关变量对PCA的结果有着显著影响,因为存在相关变量,某个特定成分的方差会被夸大。

例如,3个变量的数据集中,有两个是相关的。如果进行PCA,第一个主成分的方差是它与不相关变量的两倍。增加相关的变量使得PCA更重视这些变量,这是错误的。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: