[发明专利]一种基于知识表示学习的协同矩阵分解方法有效
申请号: | 201810499629.3 | 申请日: | 2018-05-23 |
公开(公告)号: | CN108804565B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 刘琼昕;覃明帅;马敬;高春晓 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F16/36 | 分类号: | G06F16/36 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 王民盛 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于知识表示学习的协同矩阵分解方法,属于推荐系统以及表示学习技术领域。针对协同过滤算法中用户反馈数据的稀疏性问题,在物品的知识图谱上进行随机游走采样,学习其向量表示,并在此基础上联合地分解反馈矩阵和物品关联度矩阵,具体基于根据物品的共现情况计算物品的关联度矩阵,然后基于矩阵分解模型采用协同矩阵分解方法联合地分解用户对物品的反馈矩阵和物品的关联度矩阵;最后,两种矩阵共享物品向量,利用物品的语义信息弥补反馈数据的缺失。实验结果表明,该方法显著地提升了矩阵分解模型的推荐效果,在一定程度上解决了协同过滤的冷启动问题。 | ||
搜索关键词: | 一种 基于 知识 表示 学习 协同 矩阵 分解 方法 | ||
【主权项】:
1.一种基于知识表示学习的协同矩阵分解方法,其特征在于:核心思想是在物品的知识图谱上进行随机游走采样,根据物品的共现情况计算物品的关联度矩阵,然后基于矩阵分解模型采用协同矩阵分解方法联合地分解用户对物品的反馈矩阵和物品的关联度矩阵,包括如下步骤:步骤一、根据物品的知识图谱计算物品的关联度矩阵,具体包含如下子步骤:步骤1.1、将知识图谱视为一个无向图,对无向图中的实体节点进行随机游走采样;其中,一个无向图,G,记为:G=(V,E);其中,V为无向图G中实体节点的集合,E为无向图G中边的集合,对于无向图G中的每一个实体节点u∈V,以u为起始节点进行一次随机游走得到一个长度为l的节点序列;用ci表示节点序列中的第i个节点,其中c0=u,假设当前已从取值为t的节点ci‑2游走到取值为v的节点ci‑1,下一个节点ci取值为x的概率P通过式(1)和式(2)计算:![]()
其中,s表示随机游走的状态;s有0和1两种状态,且s的初始值为0;从公式(1)可以看出,当s=0时,所有与取值为v的节点相连的节点被选中的概率相同;当s=1时,节点x被选中的概率取决于πvx,πvx为未归一化的转移概率,Z为归一化常量,d(t)表示取值为t的节点ci‑2的度;πvx的计算通过取值为t的节点游走到取值为v的节点后,下一次游走返回取值为t节点的概率由节点t的度d(t)和超参数p共同决定;取值为t的节点所连接的节点越多,则返回节点t的概率越大,这样可以充分地挖掘其局部结构信息;步骤1.2、统计实体节点的共现频次,具体为:利用步骤1.1得到节点序列c0,c1,…,cl‑1后,设定一个窗口大小值m,对于每个cx,cy(x+1≤y≤x+m)构成其上下文;;每个(cx,cy)分别为#(cx,cy)和#(cy,cx)贡献一个计数,遍历并所有的(cx,cy),统计得到每两个节点i和j的共现频次#(i,j);其中,实体节点对应物品;步骤1.3、计算实体节点的关联度矩阵,具体利用步骤1.2得到的#(i,j)按式(3)计算节点i和节点j之间的互信息PMI(i,j):
其中,点互信息,即pointwise mutual information,缩写为PMI;log是以2为底的对数;#(i)=∑j#(i,j),#(i)表示以i开头的(i,j)对的总数,#(j)=∑i#(i,j),#(j)表示以j结尾的(i,j)对的总数,D表示所有(i,j)对的总数;关联度矩阵M∈RI×J的元素mij按式(4)计算:mij=max{PMI(i,j)‑logk,0} (4)步骤二、联合分解反馈矩阵和关联度矩阵;具体包括如下子步骤:步骤2.1、设定向量维度K,正则化向权重λ,迭代次数N,随机初始化用户向量θ,物品向量β,上下文向量γ;步骤2.2、基于交替最小二乘法对矩阵分解模型进行训练;步骤2.2.1 构造矩阵分解模型的损失函数,其定义见式(5):
其中,超参数cui是用于衡量反馈的置信度;当yui=0时,为cui设定一个较小的值c0,当yui≠0时,为cui设定一个较大的值c1;θu为用户u的向量,βi为物品i的向量,γj为上下文j的向量;其中,超参数λ控制L2正则项的权重;步骤2.2.2 设定计数最大值N,初始化循环计数值,其中循环计数值记为k,初始化k=1;步骤2.2.3 按照式(6)、式(7)和式(8)更新θu、βi和γj的值;![]()
![]()
其中,I是单位矩阵;步骤2.2.4 判断循环计数值k是否已经达到计数最大值N,如果是,完成本方法;否则k=k+1,跳至步骤2.2.3。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810499629.3/,转载请声明来源钻瓜专利网。