我对机器学习中测试集的预期用途/价值有点不清楚。假设您使用的是训练/开发/测试拆分,这是一个解释我的困惑的故事:
您使用您的开发集来选择最佳超参数并进行各种调整,当您最终“完成”时,您可以在测试集上对其进行评估。您的测试性能比您的开发性能差得多。
所以现在你得出结论,“我的开发集一定太小了,导致我的超参数过拟合。” 所以你让你的开发集更大,找到新的超参数,并再次评估你的测试集。现在您的开发和测试性能彼此接近。
但请注意,在这种情况下,您使用了两次测试集。所以从某种意义上说,你正在将你的超参数拟合到你的测试集,它成为了第二个开发集。
尝试回答我自己的问题:我想您可以说测试集的价值在于,如果没有它,您永远不会知道自己过度拟合了超参数。只要我们没有以上述方式“过多”地使用测试集(一次又一次地增加开发集大小),它仍然是“大部分”无偏见的。然而,我们不得不承认,测试集只有在我们只需要一次的情况下才是真正无偏的。
你认为这是一个准确的看法吗?
顺便说一句,如果您的测试性能变得更糟,我不确定您是否可以做任何其他事情(除了增加开发集大小)。好吧,我想你可以哭了;)。但是还有其他选择吗?