算法1:MKAFG算法流程 |
输入:用户--物品交互矩阵 ,知识图谱G 输出:预测函数: |
1. 初始化参数 2. for k do //推荐部分(AFM模块+DNN模块) 3. fortstepsdo 4. 从Y中采集正负相互作用的小批量样本,得到物品v相关联的实体 ; 5. 对输入的物品、用户数据进行One-hot编码; 6. One-hot编码后的用户和物品特征向量进行嵌入操作; //AFM模块 7. 使用神经注意网络,公式(4)-(5),以不同的权重 对所有的特征建模后,再通过公式(6) 获取特征间的低阶线性交互关系。 //DNN模块 8. 获取用户和物品高阶组合特征,见公式(7)-(9); 9. 通过公式(1)预测用户u对物品v的点击概率; 10. 通过公式(18)更新推荐模块的所有参数; 11. endfor //GCN知识嵌入部分 12. 从知识图谱G中采集正负相互作用的小批量样本,得到头实体h相关联的物品 ; 13. 对输入的头实体、关系实体数据进行One-hot编码; 14. 头实体、关系实体特征向量进行嵌入操作; 15. 头实体h和关系实体r构建邻接矩阵,预测尾实体 ; 16. 通过等式上的梯度下降更新 参数,公式(13),(18); 17. endfor |