如果我们有K个类别,我是否需要绘制K条学习曲线?因为对我来说,同时计算所有K个theta向量的训练/验证误差似乎是不可能的。
为了澄清,学习曲线是训练集和交叉验证/测试集误差/成本与训练集大小的对比图。这个图表应该能让你看到增加训练集大小是否能改善性能。更一般地说,学习曲线可以帮助你识别你的算法是否存在偏差(欠拟合)或方差(过拟合)问题。
回答:
这取决于情况。学习曲线与类别的数量无关。正如你所说,它是训练集和测试集误差的对比图,其中误差是一个数值。这就是学习曲线的全部内容。
这个误差可以是你想要的任何东西:准确率、精确率、召回率、F1分数等(甚至对于回归问题也可以使用MAE、MSE等)。
然而,你选择使用的误差是适用于还是不适用于你的具体问题,这反过来间接影响你应该如何使用学习曲线。
准确率对于任何数量的类别都有明确的定义,所以如果你使用这个,单一的图表应该就足够了。
然而,精确率和召回率仅适用于二元问题。你可以通过将每个类别x
视为与非x
的二元问题来某种程度上泛化它们(例如,参见这里)。在这种情况下,你可能会想要为每个类别绘制学习曲线。这也将帮助你更好地识别与某些类别相关的问题。
如果你想阅读更多关于性能指标的内容,我非常喜欢这篇论文。