我们是否会在 *测试 *集合上计算成本j(θ)



我很确定答案是否定的,但想确认...

训练神经网络或其他学习算法时,我们将计算成本函数j(θ),以表达我们的算法对训练数据的适合程度(较高的值意味着它不太适合数据)。训练我们的算法时,我们通常希望看到J(Theta)随着梯度下降的每次迭代而下降。

但是我只是好奇,计算j(θ)对我们的 test 数据是否有价值?

我认为答案是否定的,因为由于我们仅评估一次测试数据,因此我们只能获得J(θ)的一个值,我认为这是毫无意义的,除非与其他值相比。

您的问题涉及有关术语的非常常见的歧义:验证 test test sets sets(Wikipedia条目和这个交叉效力的职位可能有助于解决此问题)。

因此,假设您确实是指适当而不是验证的测试集,则:

  1. 您是正确的,因为该集合仅在整个建模过程的末尾使用一次

  2. 通常,您在假设我们不计算此组中的成本J(θ)时是不对的。

在(2)上阐述:实际上,测试集的唯一有用性是评估我们的最终模型,在拟合过程的各个阶段都没有使用的集合中(请注意<<验证集已间接使用,即用于模型选择);为了评估它,我们显然必须计算成本。

我认为,可能的混乱来源是您可能只记住分类设置(尽管您在问题中没有指定这一点);的确,在这种情况下,我们通常对有关A business 度量的模型性能感兴趣(例如,准确性),而不是优化成本j(θ)本身。但是在回归设置中,优化成本和业务指标很可能是同一件事(例如RMSE,MSE,MAE等)。而且,正如我希望的那样,在这样的设置中,计算测试集中的成本绝不是毫无意义的,尽管我们没有将其与其他值进行比较(它为我们的最终模型提供了"绝对"性能指标)。

您可能会发现这一点,而我的这个答案在损失与宽度之间的区别上很有用;准确性;从这些答案中引用:

损失和准确性是不同的事情;粗略地说,准确性是我们从A Business 的角度真正感兴趣的,而损失是学习算法(优化者)试图从A 数学透视。更粗略地说,您可以将损失视为商业目标(准确性)的"翻译",这是分类问题中必不可少的翻译(在回归问题中,通常是损失和业务目标是相同,或者至少在原则上可以相同,例如RMSE)...

最新更新