如何知道 SVM 模型的学习曲线是否存在偏差或方差?
机器算法验证
机器学习
支持向量机
偏见
火车
2022-03-02 06:24:42
1个回答
第 1 部分:如何阅读学习曲线
首先,我们应该关注图的右侧,那里有足够的数据进行评估。
如果两条曲线“彼此接近”并且它们都具有低分。该模型存在欠拟合问题(高偏差)
如果训练曲线的得分要好得多,而测试曲线的得分较低,即两条曲线之间的差距很大。然后模型遭受过拟合问题(高方差)
第 2 部分:我对您提供的情节的评估
从情节上很难说模型好不好。有可能你有一个真正“简单的问题”,一个好的模型可以达到 90%。另一方面,你可能有一个真正的“难题”,即我们能做的最好的事情就是达到 70%。(注意,你可能不会期望你会有一个完美的模型,比如分数是 1。你能达到多少取决于你的数据中有多少噪音。假设你的数据有很多数据点具有 EXACT 特征但标签不同,无论你做什么,你都不能在分数上达到 1。)
您的示例中的另一个问题是 350 个示例在现实世界的应用程序中似乎太小了。
第 3 部分:更多建议
为了更好地理解,你可以做以下实验来体验下拟合和过拟合,并观察学习曲线会发生什么。
选择一个非常复杂的数据,比如 MNIST 数据,并拟合一个简单的模型,比如具有一个特征的线性模型。
选择一个简单的数据,比如 iris 数据,适合复杂模型,比如 SVM。
第 4 部分:其他示例
另外,我将给出两个与欠拟合和过拟合有关的例子。请注意,这不是学习曲线,而是梯度提升模型中关于迭代次数的性能,其中更多的迭代将有更多的过度拟合机会。x 轴表示迭代次数,y 轴表示性能,ROC 下面积为负(越低越好。)
左边的子图没有过拟合(也没有欠拟合,因为性能相当好),但右边的子图在迭代次数很大时会过拟合。
其它你可能感兴趣的问题