BAT机器学习面试1000题(421~425题)


421、解释朴素贝叶斯算法里面的先验概率、似然估计和边际似然估计?

解析:

先验概率就是因变量(二分法)在数据集中的比例。这是在你没有任何进一步的信息的时候,是对分类能做出的最接近的猜测。

例如,在一个数据集中,因变量是二进制的(1和0)。例如,1(垃圾邮件)的比例为70%和0(非垃圾邮件)的为30%。因此,我们可以估算出任何新的电子邮件有70%的概率被归类为垃圾邮件。

似然估计是在其他一些变量的给定的情况下,一个观测值被分类为1的概率。例如,“FREE”这个词在以前的垃圾邮件使用的概率就是似然估计。边际似然估计就是,“FREE”这个词在任何消息中使用的概率

422、你正在一个时间序列数据集上工作。经理要求你建立一个高精度的模型。你开始用决策树算法,因为你知道它在所有类型数据上的表现都不错。

后来,你尝试了时间序列回归模型,并得到了比决策树模型更高的精度。

这种情况会发生吗?为什么?

解析:

众所周知,时间序列数据有线性关系。另一方面,决策树算法是已知的检测非线性交互最好的算法。

为什么决策树没能提供好的预测的原因是它不能像回归模型一样做到对线性关系的那么好的映射。

因此,我们知道了如果我们有一个满足线性假设的数据集,一个线性回归模型能提供强大的预测。

423、给你分配了一个新的项目,是关于帮助食品配送公司节省更多的钱。问题是,公司的送餐队伍没办法准时送餐。结果就是他们的客户很不高兴。

最后为了使客户高兴,他们只好以免餐费了事。哪个机器学习算法能拯救他们?

解析:

你的大脑里可能已经开始闪现各种机器学习的算法。但是等等!这样的提问方式只是来测试你的机器学习基础。这不是一个机器学习的问题,而是一个路径优化问题。

机器学习问题由三样东西组成:

1.模式已经存在。

2.不能用数学方法解决(指数方程都不行)。

3.有相关的数据。

424、你意识到你的模型受到低偏差和高方差问题的困扰。应该使用哪种算法来解决问题呢?为什么?

解析:

低偏差意味着模型的预测值接近实际值。换句话说,该模型有足够的灵活性,以模仿训练数据的分布。貌似很好,但是别忘了,一个灵活的模型没有泛化能力。这意味着,当这个模型用在对一个未曾见过的数据集进行测试的时候,它会令人很失望。

在这种情况下,我们可以使用bagging算法(如随机森林),以解决高方差问题。bagging算法把数据集分成重复随机取样形成的子集。然后,这些样本利用单个学习算法生成一组模型。接着,利用投票(分类)或平均(回归)把模型预测结合在一起。

另外,为了应对大方差,我们可以:

1.使用正则化技术,惩罚更高的模型系数,从而降低了模型的复杂性。

2.使用可变重要性图表中的前n个特征。可以用于当一个算法在数据集中的所有变量里很难寻找到有意义信号的时候。

425、给你一个数据集。该数据集包含很多变量,你知道其中一些是高度相关的。

经理要求你用PCA。你会先去掉相关的变量吗?为什么?

解析:

答:你可能会说不,但是这有可能是不对的。丢弃相关变量会对PCA有实质性的影响,因为有相关变量的存在,由特定成分解释的方差被放大。

例如:在一个数据集有3个变量,其中有2个是相关的。如果在该数据集上用PCA,第一主成分的方差会是与其不相关变量的差异的两倍。此外,加入相关的变量使PCA错误地提高那些变量的重要性,这是有误导性的。
已邀请:

要回复问题请先登录注册

返回顶部