XLearning-SCU / 2021-CVPR-Completer

PyTorch implementation for COMPLETER: Incomplete Multi-view Clustering via Contrastive Prediction (CVPR 2021)
MIT License
109 stars 33 forks source link

关于损失函数 #18

Open ChenyuxinXMU opened 1 year ago

ChenyuxinXMU commented 1 year ago

您好, 我尝试用您的模型跑自己的数据集(两个视图),但是出现了对比损失为负数,且聚类指标越来越低的情况。这可能是什么原因呢?

Lin-Yijie commented 1 year ago

您好,对比损失代码实现时为最小化负的互信息,所以负值是正常情况。 聚类指标低可能需要调整超参数,比如loss.py中的lamb,可以设为0试试。同时可以调整重建和预测损失的权重。上述超参数均在configure.py中配置。

ChenyuxinXMU commented 1 year ago

感谢您的回复!      几个问题我想请教一下。     1.目前我使用自己的数据集并将missing_rate,这是否就意味着不会对原始训练数据进行任何处理。     2.如果我希望将该模型扩展至2个视图以上,最简单的方法是否可以两两之间使用相关损失函数。 期待您的解答。

------------------ 原始邮件 ------------------ 发件人: "XLearning-SCU/2021-CVPR-Completer" @.>; 发送时间: 2023年2月8日(星期三) 晚上7:43 @.>; @.**@.>; 主题: Re: [XLearning-SCU/2021-CVPR-Completer] 关于损失函数 (Issue #18)

您好,对比损失代码实现时为最小化负的互信息,所以负值是正常情况。 聚类指标低可能需要调整超参数,比如loss.py中的lamb,可以设为0试试。同时可以调整重建和预测损失的权重。上述超参数均在configure.py中配置。

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

Lin-Yijie commented 1 year ago

@ChenyuxinXMU 感谢您的关注!

  1. 设置了missing_rate后代码会自动将数据集进行缺失处理,加上mask。如果设置为0则不会进行处理。
  2. 我们在期刊版本中提供了多个视图的扩展方案,目前提供了3个view的代码实现。请见Dual Contrastive Prediction for Incomplete Multi-View Representation Learning
ChenyuxinXMU commented 1 year ago

@ChenyuxinXMU 感谢您的关注!

  1. 设置了missing_rate后代码会自动将数据集进行缺失处理,加上mask。如果设置为0则不会进行处理。
  2. 我们在期刊版本中提供了多个视图的扩展方案,目前提供了3个view的代码实现。请见Dual Contrastive Prediction for Incomplete Multi-View Representation Learning

十分感谢您的解答!

ChenyuxinXMU commented 1 year ago

您好!抱歉再次打扰,我有个问题想要请教一下。       您在论文中提到,最大化互信息的损失函数中,用于调节信息熵的平衡系数lamb越高,意味着嵌入表示z中包含更丰富的信息,并且您做了相应参数实验。       我在使用您的代码运行其他数据集时,发现lamb设为0往往可以达到最好的效果,这是什么原因呢?该如何解释这一现象?       期待您的解答!十分感谢! ------------------ 原始邮件 ------------------ 发件人: "XLearning-SCU/2021-CVPR-Completer" @.>; 发送时间: 2023年2月8日(星期三) 晚上7:43 @.>; @.**@.>; 主题: Re: [XLearning-SCU/2021-CVPR-Completer] 关于损失函数 (Issue #18)

您好,对比损失代码实现时为最小化负的互信息,所以负值是正常情况。 聚类指标低可能需要调整超参数,比如loss.py中的lamb,可以设为0试试。同时可以调整重建和预测损失的权重。上述超参数均在configure.py中配置。

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