我正在使用 Pytorch 构建一个前馈神经网络,并使用 Ray Tune 进行超参数调整。我在训练过程中使用了训练、验证和测试集、训练和验证。我有不同版本的模型(不同的学习率和隐藏层中的神经元数量),我必须选择最好的模型。但我不确定我应该使用哪个指标来选择最佳模型。基本上我不知道这行代码中的XXXX:
analysis.get_best_config(metric='XXXX', mode='min')
应该是测试损失还是验证损失?
我正在使用 Pytorch 构建一个前馈神经网络,并使用 Ray Tune 进行超参数调整。我在训练过程中使用了训练、验证和测试集、训练和验证。我有不同版本的模型(不同的学习率和隐藏层中的神经元数量),我必须选择最好的模型。但我不确定我应该使用哪个指标来选择最佳模型。基本上我不知道这行代码中的XXXX:
analysis.get_best_config(metric='XXXX', mode='min')
应该是测试损失还是验证损失?
本质上,您的功能testset是评估模型在新数据上的性能。它模拟了您的模型投入生产的情况。validation set用于优化您的算法。
就我个人而言,我建议使用您的算法调整您的算法,并使用验证损失validation set最低的训练时期的超参数。使用这些超参数的模型的准确性可用于估计模型在“现实世界”中的性能。testset