QinHsiu / ICSRec

[WSDM 2024 Oral] This is our Pytorch implementation for the paper: "Intent Contrastive Learning with Cross Subsequences for Sequential Recommendation".
https://arxiv.org/pdf/2310.14318.pdf
MIT License
23 stars 5 forks source link

测试结果 #8

Open wcnm231 opened 3 hours ago

wcnm231 commented 3 hours ago

您好,不好意思打扰了,我在修改代码的过程中看见有些论文代码使用的是每训练10epoch就使用当前模型参数进行一次验证和测试从而来观测模型性能的变化,而没有使用早停机制,但是这种情况下可能会出现我把epoch设置为300,但是260轮测试效果比最终训练完结束的模型测试性能更好,这样的话我可以使用在模型测试表现最好的那个指标作为我最终的结果吗,这样做是否公平让我感到很困惑,期待您的回复

QinHsiu commented 2 hours ago

你好,就是一般是用验证集上的指标来挑选模型,这样是没有问题的。因为数据集大小,分布不一致,最优训练轮数也可能会不一样,所以是用验证集筛选模型。

---原始邮件--- 发件人: @.> 发送时间: 2024年11月16日(周六) 上午10:33 收件人: @.>; 抄送: @.***>; 主题: [QinHsiu/ICSRec] 测试结果 (Issue #8)

您好,不好意思打扰了,我在修改代码的过程中看见有些论文代码使用的是每训练10epoch就使用当前模型参数进行一次验证和测试从而来观测模型性能的变化,而没有使用早停机制,但是这种情况下可能会出现我把epoch设置为300,但是260轮测试效果比最终训练完结束的模型测试性能更好,这样的话我可以使用在模型测试表现最好的那个指标作为我最终的结果吗,这样做是否公平让我感到很困惑,期待您的回复

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

wcnm231 commented 2 hours ago

抱歉打扰了,但是我看的别的代码中并没有使用验证集上结果最好的模型用于测试,而是每10轮使用当前模型参数进行验证和测试,那么我可否用测试集中表现最好的那次作为我最终的结果,这个是我困惑的地方

wcnm231 commented 2 hours ago

代码如下 if epoch % 10 == 0: self.eval(epoch, test=False) #valid

            self.eval(epoch, test=True)  #test
QinHsiu commented 1 hour ago

你好,这种方式也是可以的(有的工作也是这么做的),只是说不客观,因为用测试集去挑模型会存在一种情况就是拟合到测试集合上去了,换一个测试集效果就可能不work了,用验证集挑选模型再在测试集上进行验证是比较客观的。

---原始邮件--- 发件人: @.> 发送时间: 2024年11月16日(周六) 中午11:23 收件人: @.>; 抄送: @.**@.>; 主题: Re: [QinHsiu/ICSRec] 测试结果 (Issue #8)

抱歉打扰了,但是我看的别的代码中并没有使用验证集上结果最好的模型用于测试,而是每10轮使用当前模型参数进行验证和测试,那么我可否用测试集中表现最好的那次作为我最终的结果,这个是我困惑的地方

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>