SSSxCCC / Recommender-System

A developing recommender system in tensorflow2. Algorithm: UserCF, ItemCF, LFM, SLIM, GMF, MLP, NeuMF, FM, DeepFM, MKR, RippleNet, KGCN and so on.
MIT License
410 stars 93 forks source link

有关ripplenet损失函数 #9

Open tracy221 opened 3 years ago

tracy221 commented 3 years ago

您好,请问下ripplenet相关代码中,损失函数的基础部分交叉熵损失函数的代码在model.py的哪一块有具体的体现呢,代码我看的不是很明白。 另外,我跑其他推荐模型的时候都会在通用的train.py文件中报如下错误,想问下您知不知道可能的原因 line 79, in on_epoch_end log(epoch, logs['loss'], logs['AUC'], logs['Precision'], logs['Recall'], KeyError: 'AUC' 感谢并期待您的回复!

DabeyHolmes commented 3 years ago

您好,请问下ripplenet相关代码中,损失函数的基础部分交叉熵损失函数的代码在model.py的哪一块有具体的体现呢,代码我看的不是很明白。 另外,我跑其他推荐模型的时候都会在通用的train.py文件中报如下错误,想问下您知不知道可能的原因 line 79, in on_epoch_end log(epoch, logs['loss'], logs['AUC'], logs['Precision'], logs['Recall'], KeyError: 'AUC' 感谢并期待您的回复!

请问用的是什么环境,我用的python3.8 tf2.4.0跑ripplenet会出错

tracy221 commented 3 years ago

您好,请问下ripplenet相关代码中,损失函数的基础部分交叉熵损失函数的代码在model.py的哪一块有具体的体现呢,代码我看的不是很明白。 另外,我跑其他推荐模型的时候都会在通用的train.py文件中报如下错误,想问下您知不知道可能的原因 line 79, in on_epoch_end log(epoch, logs['loss'], logs['AUC'], logs['Precision'], logs['Recall'], KeyError: 'AUC' 感谢并期待您的回复!

请问用的是什么环境,我用的python3.8 tf2.4.0跑ripplenet会出错

python 3.7 tensorflow 2.3.0

tracy221 commented 3 years ago

还想问下损失函数的部分,知识图谱嵌入损失的部分我不太理解 kge_loss = 0 # 知识图谱嵌入损失项 for hop in range(hop_size): h_expanded = tf.expand_dims(h[hop], axis=2) # batch, ripple_size, 1, dim t_expanded = tf.expand_dims(t[hop], axis=3) # batch, ripple_size, dim, 1 hRt = tf.squeeze(h_expanded @ r[hop] @ t_expanded) # batch, ripple_size kge_loss += tf.reduce_mean(tf.sigmoid(hRt)) 为什么要对相乘后的hRt外面套一个sigmoid函数再求平均呢

SSSxCCC commented 3 years ago

使用最新版本的代码和readme中要求的版本就不会报KeyError: 'AUC'这个错误了。 损失函数照着算法原作者的github写的,我也不是很清楚为什么要这样算。