[发明专利]一种基于增强图学习的协同过滤推荐方法有效
申请号: | 202110312224.6 | 申请日: | 2021-03-24 |
公开(公告)号: | CN112905894B | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | 吴乐;杨永晖;张琨;汪萌;洪日昌 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F16/9536;G06Q50/00;G06F17/16 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 增强 学习 协同 过滤 推荐 方法 | ||
1.一种基于增强图学习的协同过滤推荐方法,其特征是按如下步骤进行:
步骤1、构造用户对产品的二部图,包括:用户节点集U={u1,...,ua,...,ub,...,uM}、产品节点集V={v1,...,vi,...,vj,...,vN}、邻接矩阵A;其中,ua表示第a个用户,ub表示第b个用户,M表示用户总数,1≤a≤b≤M;vi表示第i个产品,vj表示第j个产品,N表示产品总数,1≤i≤j≤N;令Rai表示第a个用户ua对第i个产品vi的评分值,从而得到用户对产品的评分矩阵R={rai}M×N;并根据式(1)计算所述邻接矩阵A:
步骤2、通过独热编码得到嵌入矩阵作为节点特征:
步骤2.1、通过独热编码的方式对用户节点集U进行初始化,得到用户嵌入矩阵P={p1,...,pa,...,pM},其中,pa表示第a个用户ua的d维用户嵌入向量;
步骤2.2、通过独热编码的方式对产品节点集V进行初始化,得到产品嵌入矩阵Q={q1,...,qi,...,qN},其中,qi表示第i个产品vi的d维产品嵌入向量;
步骤3、根据当前节点特征计算相似矩阵,并做稀疏化:
步骤3.1、利用式(2)计算第a个用户ua和第i个产品vi的相似度sai,从而得到相似矩阵S={sai}M×N:
式(2)中,W1和W2分别是将任一用户嵌入向量和任一产品嵌入向量映射到相似度语义空间的参数矩阵;<,>表示向量内积,|·|表示向量模值,σ(·)表示sigmoid非线性激活函数;
步骤3.2、对相似矩阵S={sai}M×N中的每一个相似度进行稀疏化处理,得到稀疏化的相似矩阵S′={s′ai}M×N;所述稀疏化处理是指,对第a个用户ua,保留相似度最高的前t个相似度值,其余相似度值置为零,从而得到第a个用户ua与全部产品之间的相似度s′a=[s′a1,...,s′ai,...,s′aN],其中,s′ai表示稀疏化的第a个用户ua和第i个产品vi的相似度;
步骤4、稀疏化的相似矩阵作为残差项和邻接矩阵相加,得到增强后的邻接矩阵:
步骤4.1、利用式(3)计算所述二部图的结构矩阵AS:
步骤4.2、利用式(4)得到增强后的邻接矩阵AE:
AE=nor(AS+A) (4)
式(5)中,nor(·)表示行归一化函数;
步骤5、根据增强后的邻接矩阵构造图卷积层进行特征传播,得到节点表征:
步骤5.1、定义所述图卷积层包含K个卷积层,当前卷积层为k,并初始化k=0;
步骤5.2、将所述用户嵌入矩阵P和产品嵌入矩阵Q输入所述图卷积层进行特征传播,并利用式(5)计算第a个用户ua和第i个产品vi在第k+1个卷积层输出的用户特征向量和产品特征向量
式(5)中,Ra表示第a个用户ua交互过的产品集合,表示增强后的邻接矩阵AE第a行第j列的元素值;Hi表示第i个产品vi交互过的用户集合;表示增强后的邻接矩阵AE第M+i行第b列的元素值;当k=0时,第a个用户ua在第k个卷积层输出的用户特征向量第i个产品vi在第k个卷积层输出的产品特征向量
步骤5.3、将k+1赋值给k后,返回步骤5.2执行,从而在经过K个卷积层的处理后,得到用户节点表征矩阵X=PK,产品节点表征矩阵Y=QK;其中,PK表示经过K个卷积层的处理后的用户嵌入矩阵;QK表示经过K个卷积层的处理后的产品嵌入矩阵;
步骤6、根据节点表征到预测层得到评分矩阵,从而实现产品推荐:
步骤6.1、根据式(6)计算第a个用户ua对第i个产品vi预测的评分值ra′i,从而得到全部用户对产品的评分矩阵R′={r′ai}M×N:
r′ai=<xa,yi> (6)
式(7)中,xa表示第a个用户ua的节点表征向量;yi表示第i个产品vi的节点表征向量;
步骤6.2、根据式(7)建立评分损失函数Lr(θ):
式(7)中,θ=[P,Q,W1,W2]是待优化的参数,θ1=[P,Q]是模型复杂度参数,λ是正则项参数,D(a)={(i,j)|i∈Ra,j∈V-Ra;i,j=1,2,…,N}是第a个用户ua的正负产品对集合并作为训练数据;(i,j)表示第a个用户ua的任一正负产品对;
步骤6.3、根据式(8)建立邻接矩阵重构损失函数Ls(θ):
式(8)中,表示欧氏距离损失函数;
步骤6.4、根据式(9)计算全部损失函数L(θ):
L(θ)=Lr(θ)+αLs(θ) (9)
式(9)中,α是用于平衡两部分损失函数的超参数;
步骤6.5、通过梯度下降法对所述全部损失函数L(θ)进行求解,使得L(θ)收敛至最小值,从而得到最优参数θ*,进而得到最优预测评分矩阵R*,并根据最优评分矩阵R*进行产品推荐。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110312224.6/1.html,转载请声明来源钻瓜专利网。