[发明专利]一种基于因子分解机的多任务时序推荐方法有效
申请号: | 202111667759.1 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114282687B | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 卢暾;应亦周;顾宁;李东胜;张鹏 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 因子 分解 任务 时序 推荐 方法 | ||
1.一种基于因子分解机的多任务时间序列推荐方法,其特征在于,将原始因子分解机模型的一阶、二阶交互和时序模型相结合,一方面学习非时序性特征的上下文信息,另一方面学习时间序列所蕴含的时序信息,同时将两部分信息结合进一步学习以提升推荐效果,从广度和深度的多维角度解决原始因子分解机在时序推荐上表现欠佳的问题;具体步骤为:
步骤1:将原始数据整理并拆分为用户非时序的静态上下文和历史时间序列信息,在此基础上生成用户-物品矩阵;其中,将用户输入特征分为用户静态特征和用户时序特征两部分:
[s1,s2,...,sn,d1,d2,...,dm,target];
其中,s表示非时序特征,共有n维,d表示时序特征,共有m维,target表示目标物品;
步骤2:根据步骤1中的用户-物品矩阵按照余弦相似性对步骤1中分割出的时间序列进行重要性筛选,在有限的时序输入长度内保留最相关的时间序列:
式中,sim为相似性函数,I为物品,I1,I2表示两种物品,r表示评分,分别为用户a,用户b对某个物品i的评分;
步骤3:对非时序特征和筛选过后的时序特征进行二维特征嵌入:
Estatic=Embedding(Dfeature,Dembedding)
其中,Estatic为非时序特征Embedding的结果,Dfeature表示需要Embedding的特征维度,DEmbedding表示最终需要得到的Embedding结果的维度;f表示特征,Θ为Embedding过程中的超参,wi为模型需要学习一阶参数,vi为模型需要学习的二阶参数;
步骤4:对于非时序的嵌入结果采用因子分解机进行一阶、二阶特征交互:
其中,f同上为输入的特征,w为线性部分权重,w0为全局权重,N表示输入的特征数,k表示隐向量V的维度,在因子分解机中用于得到二阶交互,为非时序特征fi的预测结果;
步骤5:对于时序特征进行一维嵌入:
Etime=Embedding(Dfeature,Dembedding)
其中,Etime,表示时序特征Embedding的结果,和步骤3中类似,Dfeature和DEmbedding分别表示需要Embedding的特征维度和最终需要得到的Embedding结果的维度,Θ为Embedding的超参,t表示时序特征,u为模型需要学习的参数;
步骤6:使用自注意力机制提取时序各嵌入项的权重,之后推入因子分解机进行交互:
其中,T为Attention权重,K,Q,V分别为自注意力机制中的参数,WQ、Wk、WV为Q,K,V的线性变换参数,dk表示K的维度,最后为ti时刻的预测结果;
步骤7:将非时序和时序特征的嵌入进行拼接,用自注意力机制和因子分解机获取两者的结合特征:
Ecross=[Estatic,Etime]
同步骤6,C为自注意力学习到的权重,为交叉特征c的预测结果;
步骤8:对步骤4、步骤6、步骤7的结果采用线性层进行整合,最后得到预测结果:
其中,分别表示步骤4、步骤6、步骤7的和
步骤9:对于步骤4、步骤6、步骤7、步骤8的结果与目标结果进行比较,介入辅助损失提升训练效果和效率:
其中,w1,w2,w3分别为模型需要更新的各部分损失Loss1,Loss2,Loss3的权重,最终的损失为Loss;
步骤10:根据步骤9中的损失更新模型超参,不断训练,最后达到训练收敛条件,结束训练保存模型;
步骤11:对于新数据,用步骤1的数理方法得到模型的输入和用户-物品矩阵输入到加载的步骤10里保存的模型中,对得到的结果进行排序得到推荐结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111667759.1/1.html,转载请声明来源钻瓜专利网。