如何知道SVM模型的学习曲线是否存在偏差或方差?


Answers:


13

第1部分:如何阅读学习曲线

首先,我们应该关注图的右侧,那里有足够的数据可以进行评估。

  • 如果两条曲线“彼此靠近”且两条曲线都得分较低。模型存在拟合不足问题(高偏差)

  • 如果训练曲线的分数更高,而测试曲线的分数更低,即两条曲线之间的差距较大。然后,模型会遇到过度拟合的问题(高方差)

第2部分:我对您提供的地块的评估

从情节很难说模型是否好。您可能有一个真正的“简单问题”,一个好的模型可以达到90%。另一方面,您可能有一个真正的“难题”,我们能做的最好的事情就是达到70%。(请注意,您可能不会期望自己有一个完美的模型,比如说得分为1。可以实现多少取决于数据中的噪声大小。假设您的数据中有很多数据点具有EXACT功能,但标签不同,无论您做什么,都无法在得分上取得1分。)

您的示例中的另一个问题是,在实际应用程序中,有350个示例似乎太小了。

第3部分:更多建议

为了获得更好的理解,您可以进行以下实验,以体验过度拟合的情况,并观察学习曲线中将发生的情况。

  • 选择一个非常复杂的数据(例如MNIST数据),并拟合一个简单的模型,例如具有一个特征的线性模型。

  • 选择一个简单的数据(例如虹膜数据),并拟合一个复杂度模型(例如SVM)。


第4部分:其他示例

另外,我将给出两个与欠拟合和过度拟合有关的示例。请注意,这不是学习曲线,而是性能与梯度提升模型中的迭代次数有关,其中更多的迭代将有更多的过度拟合的机会。x轴表示迭代次数,y轴表示性能,这是ROC下的负面积(值越低越好)。

左边的子图不会出现过度拟合的情况(由于性能相当好,也不会出现拟合不足的情况),而右边的子图在迭代次数较大时会出现过度拟合的问题。

在此处输入图片说明


谢谢hxd1011!如果我说我的模型存在一些偏差和偏差(因为得分不是1),您是否同意我的观点?
阿夫克(Afke)2016年

@Papie我认为您的模型不错。得分80%不错,两条曲线很接近。唯一的问题是示例数最多为350个,在实际应用中可能太小了。
海涛杜

@Papie另外,您可能不会期望自己有一个完美的模型,比如说得分为1。可以达到多少取决于数据中的噪音。假设您的数据中有很多数据点具有“精确”功能,但标签不同,无论您做什么,都无法在得分上获得1分。
海涛杜

11
我认为他的“ 80%得分还不错”不是思考事情的好方法。没有一个好的全球评分,这在很大程度上取决于要解决的问题,更具体地说,取决于过程中的信噪比和可用数据。您在答案中指出了这一点,因此我将删除“不错”的注释。
马修·德鲁里

1
@MatthewDrury感谢您的建议,答案已修改!
Haitao Du
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.