Chong Chen

Results 68 comments of Chong Chen

> > > > 所以我比较好奇跟selfCF的结果差异如何?可否给我一份你的分隔好训练集和测试集的数据呢? > > > > > > > > > 附件中是 amazon-games的数据5-core处理完的。 > > > x_label列是train/valid/test (0/1/2) 的标记,这个数据分隔是按全局时间序来的(SelfCF一样的)。您那边可以测试一下看看效果。 > > > [games_processed.csv](https://github.com/chenchongthu/ENMF/files/6859485/games_processed.csv) > > > >...

> > > > > > 所以我比较好奇跟selfCF的结果差异如何?可否给我一份你的分隔好训练集和测试集的数据呢? > > > > > > > > > > > > > > > 附件中是 amazon-games的数据5-core处理完的。 > > > > > x_label列是train/valid/test...

您好,我们没有仔细的去了解和复现DHCF这个方法。跟它对比是使用了这篇文章的作者所分享的同样分割下的数据集,跑出来的结果对比来看DHCF效果不是很理想。如果对DHCF这篇文章有疑问的话,建议还是联系该文章的作者好一点。

那可能就不太有必要在那篇文章上花费精力了。

Emma, I think that may because: parser.add_argument('--dropout', type=float, default=0.5, help='dropout keep_prob') should be set to 0.7 for Movielens dataset, and parser.add_argument('--topK', nargs='?', type=int, default=[50,100,200], help='topK for hr/ndcg') to get the...

By using the above settings, you will get a better result like us, (dropout is an important parameter, our code has been updated to the latest version). recall@50, ndcg@50 0.31026490066225165...

不是這樣的,因為我們的loss在優化時把常數項(正,但是無梯度)去掉了,你可以看一下論文,所以我們的loss會是負的。但是還是會降到一定程度就收斂的,而且收斂很快(相比於採樣的方法)。

您好,感谢提问!第一个问题,我们在这些实验里用的是与LightGCN 和NBPO等相同的方法,即第二个版本len(hit_items) / len(ground_truth),服务器上的代码是调整过的,如下: reca = tmp / true_bin.sum(axis=1) prec = tmp / kj F1 = 2.0 * prec * reca/ (prec + reca) 而github上的代码没有及时更新,现已更新。 第二个问题,关于dropout,user_emb加了dropout跟在item_emb加是一样的。 dropout的本质是将向量的部分置0来增加训练鲁棒性。如将向量[1,2,3]变为[1,0,3]。 假设用户向量为[1,2,3],商品向量为[4,5,6],ENMF预测时先对用户和商品向量做对应位点乘,预测向量即为[4,10,18]。 只在用户向量加dropout,用户[1,2,3]变为[1,0,3],商品向量不变,预测向量变为[4,0,18]和 只在商品向量加dropout,商品[4,5,6]变为[4,0,6],用户向量不变,预测向量变为[4,0,18]得到的结果是一样的。

Hello, you can obtain that from https://code.google.com/archive/p/word2vec/.

你好,我们这样做是为了提高模型的泛化能力。虽然是同一个单词,但是user这边的词向量描述这个单词代表的user preference, item部分的词向量描述单词代表的item profile,在词向量的表示上会有一点差别。事实上,对于user和item的评论,我们使用Google News中训练好的词向量进行初始化,此时两边的词向量是相同的,之后会随着模型各自进行训练并进行各自的微调,来更好的适应任务。 另外,我们也尝试使用相同的lookup矩阵,当词向量的向量空间(维度)足够大时,对结果的影响比较小,但是当维度比较小时,结果会变差。所以为了提高模型的泛化能力,我们最终采用了不同的词向量。