BAT机器学习面试1000题(426~430题)


426、花了几个小时后,现在你急于建一个高精度的模型。结果,你建了5 个GBM (Gradient Boosted Models),想着boosting算法会显示魔力。

不幸的是,没有一个模型比基准模型表现得更好。最后,你决定将这些模型结合到一起。

尽管众所周知,结合模型通常精度高,但你就很不幸运。你到底错在哪里?

解析:

答:据我们所知,组合的学习模型是基于合并弱的学习模型来创造一个强大的学习模型的想法。但是,只有当各模型之间没有相关性的时候组合起来后才比较强大。由于我们已经试了5个 GBM,但没有提高精度,表明这些模型是相关的。

具有相关性的模型的问题是,所有的模型提供相同的信息。例如:如果模型1把User1122归类为 1,模型2和模型3很有可能会做有同样分类,即使它的实际值应该是0,因此,只有弱相关的模型结合起来才会表现更好。

427、KNN和KMEANS聚类(kmeans clustering)有什么不同?

解析:

答:不要被它们的名字里的“K”误导。

你应该知道,这两种算法之间的根本区别是,KMEANS本质上是无监督学习而KNN是监督学习。KMEANS是聚类算法。KNN是分类(或回归)算法。

KMEAN算法把一个数据集分割成簇,使得形成的簇是同构的,每个簇里的点相互靠近。该算法试图维持这些簇之间有足够的可分离性。由于无监督的性质,这些簇没有任何标签。NN算法尝试基于其k(可以是任何数目)个周围邻居来对未标记的观察进行分类。它也被称为懒惰学习法,因为它涉及最小的模型训练。因此,它不用训练数据对未看见的数据集进行泛化。

428、真阳性率和召回有什么关系?写出方程式。

解析:

答:真阳性率=召回。是的,它们有相同的公式(TP / TP + FN)。

注意:要了解更多关于估值矩阵的知识。

429、你建了一个多元回归模型。你的模型R2为并不如你设想的好。为了改进,你去掉截距项,模型R的平方从0.3变为0.8。
这是否可能?怎样才能达到这个结果?


解析:

答:是的,这有可能。我们需要了解截距项在回归模型里的意义。截距项显示模型预测没有任何自变量,比如平均预测。公式R² = 1 – ∑(y – y´)²/∑(y – ymean)²中的y´是预测值。

当有截距项时,R²值评估的是你的模型基于均值模型的表现。在没有截距项(ymean)时,当分母很大时,该模型就没有这样的估值效果了,∑(y – y´)²/∑(y – ymean)²式的值会变得比实际的小,而R2会比实际值大。

430、在分析了你的模型后,经理告诉你,你的模型有多重共线性。

你会如何验证他说的是真的?在不丢失任何信息的情况下,你还能建立一个更好的模型吗?

解析:

答:要检查多重共线性,我们可以创建一个相关矩阵,用以识别和除去那些具有75%以上相关性(决定阈值是主观的)的变量。此外,我们可以计算VIF(方差膨胀因子)来检查多重共线性的存在。

VIF值<= 4表明没有多重共线性,而值> = 10意味着严重的多重共线性。

此外,我们还可以用容差作为多重共线性的指标。但是,删除相关的变量可能会导致信息的丢失。为了留住这些变量,我们可以使用惩罚回归模型,如Ridge和Lasso回归。

我们还可以在相关变量里添加一些随机噪声,使得变量变得彼此不同。但是,增加噪音可能会影响预测的准确度,因此应谨慎使用这种方法。
已邀请:

要回复问题请先登录注册

返回顶部