一种基于非对称加权相似度的协同过滤推荐方法及系统的制作方法

文档序号:10655144阅读:298来源:国知局
一种基于非对称加权相似度的协同过滤推荐方法及系统的制作方法
【专利摘要】本发明公开了一种基于非对称加权相似度的协同过滤推荐方法及系统,方法包括:根据用户共同评分项目所占的比例确定用户相似度非对称加权因子;根据用户相似度非对称加权因子分别采用余弦相似度度量法和均方差度量法计算拥有共同评分项目用户之间的相似度;采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟合计算,求出没有共同评分项目用户之间的相似度;根据拥有共同评分项目或没有共同评分项目用户之间的相似度选择k个相似度最大的用户作为目标用户的邻居,并根据这k个邻居的数据预测目标用户对未评分项目的评分;根据预测的结果生成目标用户的推荐项目。本发明具有用户相似度计算准确和推荐质量高的优点,可广泛应用于推荐技术领域。
【专利说明】
-种基于非对称加权相似度的协同过滤推荐方法及系统
技术领域
[0001] 本发明设及推荐技术领域,尤其是一种基于非对称加权相似度的协同过滤推荐方 法及系统。
【背景技术】
[0002] 互联网技术的迅猛发展把我们带进了信息爆炸的时代,海量信息的同时呈现,不 仅使用户很难从中发现自已感兴趣的内容,而且使得大量少为人知的信息成为网络中的 "暗信息",无法被一般用户获取。推荐系统通过建立用户与项目(例如:产品、电影、音乐、节 目等)之间的二元关系,利用用户历史选择信息或相似性关系挖掘用户潜在的兴趣爱好,进 而进行推荐。
[0003] 协同过滤是当前推荐系统中最常用的一种方法和技术,其基本思想是根据用户之 前的喜好W及其他兴趣相近的用户的选择来给用户推荐内容。在推荐系统中,确定用户的 相似度对于协同过滤推荐系统的推荐质量具有非常重要的影响。传统的协同过滤推荐系统 利用不同用户间的共同评分项目来计算用户相似性,主要的相似性计算方法包括余弦相似 性方法和相关相似性方法;目标用户对未评分项目的评分通过相似性较大的邻居对项目的 评分的加权平均值进行预测。
[0004] 然而,目前的协同过滤推荐系统在进行相似度计算时存在着W下缺陷或不足:
[0005] 1)未考虑用户之间的共同已评分项目在所有已评分项目中所占的比例大小,导致 其在两个用户共同已评分项目很少且评分相近时给出二者具有高相似度的错误结果(尽管 二者在其它项目上的评分差异较大),影响了用户相似度计算的准确性;
[0006] 2)假设用户之间相互的相似度是相等的,但运个假设在某些情况下会不成立,导 致误判用户的相似度;
[0007] 3)未考虑数据稀疏和冷启动问题,无法保证数据稀疏时或冷启动时的推荐质量。

【发明内容】

[000引为解决上述技术问题,本发明的目的在于:提供一种用户相似度计算准确和推荐 质量高的,基于非对称加权相似度的协同过滤推荐方法。
[0009] 本发明的另一目的在于:提供一种用户相似度计算准确和推荐质量高的,基于非 对称加权相似度的协同过滤推荐系统。
[0010] 本发明所采取的技术方案是:
[0011] -种基于非对称加权相似度的协同过滤推荐方法,包括W下步骤:
[0012] A、根据用户共同评分项目所占的比例确定用户相似度非对称加权因子;
[0013] B、根据用户相似度非对称加权因子分别采用余弦相似度度量法和均方差度量法 计算拥有共同评分项目用户之间的相似度;
[0014] C、采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟合计算,求出没有共 同评分项目用户之间的相似度;
[0015] D、根据拥有共同评分项目或没有共同评分项目用户之间的相似度选择k个相似度 最大的用户作为目标用户的邻居,并根据运k个邻居的数据预测目标用户对未评分项目的 评分;
[0016] E、根据预测的结果生成目标用户的推荐项目。
[0017] 进一步,所述步骤A包括:
[0018] A1、计算两个用户共同评分项目在目标用户所有已评分项目中的比例大小,W获 取用户共同评分项目所占的比例;
[0019] A2、根据计算的比例得到初步的相似度加权因子,所述初步的相似度加权因子W (u,v)的表达式为:
[0020]
[0021] 其中,V代表目标用户,U代表除目标用户V外的其它用户,Tuv为用户U和用户V的共 同已评分项目集合,Tv为目标用户V的已评分项目集合,"I I"符号用于求取集合的元素个 数;
[0022] A3、将初步的相似度加权因子w(u,v)与索伦森指数相乘,得到最终的用户相似度 非对称加权因子,所述用户相似度非对称加权因子asyw(u,v)的表达式为:
[0023]
[0024] 其中,SRS(u,v)为用户U和目标用户V的索伦森指数,Tu为用户U的已评分项目集 合。
[0025] 进一步,所述步骤B具体为:
[00%]所述均方差度量法的均方差加权相似度AWMSDsim(u,v)的计算公式为:
[0026] 根据用户相似度非对称加权因子asyw(u,v)分别计算余弦相似度度量法和均方差 度量法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWC0Sw(u,v)的计算公式 为:
[0027]
[0029] ?
[0030] 其中,C0Ssim(u,v)为用户U和目标用户V的非加权余弦相似度,MSDsim(u,v)为均 方差度量法的非加权均方差相似度,P为用户U对项目P的评分,rv,P为用户V对项目P的评 分,L( I Tuvl )为用户U和目标用户V的均方差相似度阔值。
[0031 ]进一步,所述步骤C包括:
[0032] Cl、将nXn阶的用户相似度矩阵S= {Su,v}分解为两个用户特征向量UERqX嘴ZG Rqxn,其中,n为用户的总数,q为用户维特征向量的维度,Su,vG(0,l]表示根据均方差加权相 似度AWCOS或均方差加权相似度AWMSD计算得到的用户U和用户V的相似度;Uu和Zv分别是特 征向量U和Z中的列向量,分别表示用户U和用户V的q维特征向量;RqXn为q X n维向量空间;
[0033] C2、采用梯度下降法调整U和Z,并在调整结束后通过U和Z的内积£乃马拟合原始相 似矩阵S,最终得到没有共同评分项目用户之间的相似度。
[0034] 进一步,所述步骤C2包括:
[0035] C21、确定梯度下降法所采用的目标函数,所述目标函数G(U,Z)的表达式为:
[0036]
[0037] 其中,Al和A2均为设定的权重系数,且、>0,^>0, M ? M F是Frobeinus范数,二 是共同评分项目指示函数,若用户U和用户V存在基于AWCOS或AWMSD计算出来的相似度,贝U
[0038] C22、采用梯度下降法交替固定U和Z,通过最小化目标函数G(U,Z)求出G(U,Z)取最 小值时对应的U和Z,然后W求出的時PZ的内积巧Z,,拟合原始相似矩阵S,最终得到没有共 同评分项目用户之间的相似度。
[0039] 进一步,所述步骤D根据运k个邻居的数据预测目标用户对未评分项目的评分时所 采用的预测公式为:
[0040]
[0041 ] 其中,P(v,i)为目标用户V对未评分项目i的可能评分,S im( U,V)为用户U和目标用 户V的相似度,"I I"符号用于求取集合的元素个数,为用户U对目标用户V的未评分项目i 的评分,专为目标用户V对所有已评分项目评分的平均分。
[0042] 本发明所采取的另一技术方案是:
[0043] -种基于非对称加权相似度的协同过滤推荐系统,包括:
[0044] 非对称加权因子确定模块,用于根据用户共同评分项目所占的比例确定用户相似 度非对称加权因子;
[0045] 第一相似度计算模块,用于根据用户相似度非对称加权因子分别采用余弦相似度 度量法和均方差度量法计算拥有共同评分项目用户之间的相似度;
[0046] 第二相似度计算模块,用于采用矩阵分解梯度下降法对用户的原始相似度矩阵进 行拟合计算,求出没有共同评分项目用户之间的相似度;
[0047] 评分预测模块,用于根据拥有共同评分项目或没有共同评分项目用户之间的相似 度选择k个相似度最大的用户作为目标用户的邻居,并根据运k个邻居的数据预测目标用户 对未评分项目的评分;
[0048] 推荐项目生成模块,用于根据预测的结果生成目标用户的推荐项目;
[0049] 所述非对称加权因子确定模块的输出端依次通过第一相似度计算模块、第二相似 度计算模块和评分预测模块进而与推荐项目生成模块的输入端连接。
[0050]进一步,所述非对称加权因子确定模块包括:
[0051 ]比例计算单元,用于计算两个用户共同评分项目在目标用户所有已评分项目中的 比例大小,W获取用户共同评分项目所占的比例;
[0052]初步相似度加权因子获取单元,用于根据计算的比例得到初步的相似度加权因 子,所述初步的相似度加权因子w(u,v)的表达式为:
[0化3]
[0054] 其中,V代表目标用户,U代表除目标用户V外的其它用户,Tuv为用户U和用户V的共 同已评分项目集合,Tv为目标用户V的已评分项目集合,"I I"符号用于求取集合的元素个 数;
[0055] 用户相似度非对称加权因子确定单元,用于将初步的相似度加权因子w(u,v)与索 伦森指数相乘,得到最终的用户相似度非对称加权因子,所述用户相似度非对称加权因子 asyw(u,v)的表达式为:
[0化6]
[0化7] 其中,SRSU,v)刃用尸U和目称用尸V的累化巧指数,Tu为用户U的已评分项目集 合;
[005引所述比例计算单元的输出端依次通过初步相似度加权因子获取单元和用户相似 度非对称加权因子确定单元进而与第一相似度计算模块的输入端连接。
[0059] 进一步,所述第一相似度计算模块具体执行W下操作:
[0060] 根据用户相似度非对称加权因子asyw(u,v)分别计算余弦相似度度量法和均方差 度量法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWC0Sw(u,v)的计算公式 为:
[0061]
[0062] 所述均方差度量法的均方差加权相似度AWMSDsim(u,v)的计算公式为:
[0063]
[0064] 其中,C0Ssim(u,v)为用户U和目标用户V的非加权余弦相似度,MSDsim(u,v)为均 方差度量法的非加权均方差相似度,P为用户U对项目P的评分,rv,P为用户V对项目P的评 分,L( I Tuvl )为用户U和目标用户V的均方差相似度阔值。
[0065] 进一步,所述第二相似度计算模块包括:
[0066] 分解单元,用于将n X n阶的用户相似度矩阵S= {Su, v}分解为两个用户特征向量U GRqXn和ZERqXn,其中,n为用户的总数,q为用户维特征向量的维度,5。,,£(〇山表示根据 均方差加权相似度AWCOS或均方差加权相似度AWMS的十算得到的用户U和用户V的相似度;Uu 和Zv分别是特征向量U和Z中的列向量,分别表示用户U和用户V的q维特征向量;RqXn为qxn 维向量空间;
[0067] 梯度下降法调整单元,用于采用梯度下降法调整U和Z,并在调整结束后通过U和Z 的内积巧fZ,.拟合原始相似矩阵S,最终得到没有共同评分项目用户之间的相似度;
[0068] 所述第一相似度计算模块的输出端依次通过分解单元和梯度下降法调整单元进 而与评分预测模块的输入端连接。
[0069] 本发明的方法的有益效果是:根据用户共同评分项目所占的比例确定用户相似度 非对称加权因子,然后根据用户相似度非对称加权因子分别采用余弦相似度度量法和均方 差度量法计算拥有共同评分项目用户之间的相似度,在进行用户相似度计算时考虑了用户 之间的共同已评分项目在所有已评分项目中所占的比例大小,且用户相似度非对称加权因 子采用了非对称加权因子来取代传统的对称加权因子,不再认为用户之间相互的相似度是 相等的,提高了用户相似度计算的准确性;采用矩阵分解梯度下降法对用户的原始相似度 矩阵进行拟合计算,通过矩阵分解技术来拟合没有共同评分项目用户之间的相似度,提高 了数据稀疏时或冷启动时的推荐质量。
[0070] 本发明的系统的有益效果是:非对称加权因子确定模块根据用户共同评分项目所 占的比例确定用户相似度非对称加权因子,然后在非对称加权因子确定模块根据用户相似 度非对称加权因子分别采用余弦相似度度量法和均方差度量法计算拥有共同评分项目用 户之间的相似度,在进行用户相似度计算时考虑了用户之间的共同已评分项目在所有已评 分项目中所占的比例大小,且用户相似度非对称加权因子采用了非对称加权因子来取代传 统的对称加权因子,不再认为用户之间相互的相似度是相等的,提高了用户相似度计算的 准确性;第二相似度计算模块采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟合 计算,通过矩阵分解技术来拟合没有共同评分项目用户之间的相似度,提高了数据稀疏时 或冷启动时的推荐质量。
【附图说明】
[0071 ]图1为本发明一种基于非对称加权相似度的协同过滤推荐方法的整体流程图;
[0072] 图2为本发明一种基于非对称加权相似度的协同过滤推荐系统的整体框图;
[0073] 图3为实施例二基于MSD、AWMSD、MF-AMSD和SVD的方法对MovieLens数据集进行处 理的均方根误差对比图;
[0074] 图4为实施例二基于MSD、AWMSD、MF-AMSD和SVD的方法对MovieLens数据集进行处 理的均方根误差对比图;
[00巧]图5为实施例二基于MSD、AWMSD、MF-AMSD和SVD的方法对Douban数据集进行处理的 均方根误差对比图;
[0076] 图6为实施例二基于MSD、AWMSD、MF-AMSD和SVD的方法对Douban数据集进行处理的 平均绝对误差对比图。
【具体实施方式】
[0077] 参照图I,一种基于非对称加权相似度的协同过滤推荐方法,包括W下步骤:
[0078] A、根据用户共同评分项目所占的比例确定用户相似度非对称加权因子;
[0079] B、根据用户相似度非对称加权因子分别采用余弦相似度度量法和均方差度量法 计算拥有共同评分项目用户之间的相似度;
[0080] C、采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟合计算,求出没有共 同评分项目用户之间的相似度;
[0081 ] D、根据拥有共同评分项目或没有共同评分项目用户之间的相似度选择k个相似度 最大的用户作为目标用户的邻居,并根据运k个邻居的数据预测目标用户对未评分项目的 评分;
[0082] E、根据预测的结果生成目标用户的推荐项目。
[0083] 进一步作为优选的实施方式,所述步骤A包括:
[0084] A1、计算两个用户共同评分项目在目标用户所有已评分项目中的比例大小,W获 取用户共同评分项目所占的比例;
[0085] A2、根据计算的比例得到初步的相似度加权因子,所述初步的相似度加权因子W (u,v)的表达式为:
[0086]
[0087] 其中,V代表目标用户,U代表除目标用户V外的其它用户,Tuv为用户U和用户V的共 同已评分项目集合,Tv为目标用户V的已评分项目集合,"I I"符号用于求取集合的元素个 数;
[0088] A3、将初步的相似度加权因子w(u,v)与索伦森指数相乘,得到最终的用户相似度 非对称加权因子,所述用户相似度非对称加权因子asyw(u,v)的表达式为:
[0089]
[0090] 其中,SRS(U,V)为用尸U和目标用尸V的累化森指数,Tu为用户U的已评分项目集 厶 1=1 O
[0091] 进一步作为优选的实施方式,所述步骤B具体为:
[0094] 所述均方差度量法的均方差加权相似度AWMSDsim(u,v)的计算公式为:
[0092] 根据用户相似度非对称加权因子asyw(u,v)分别计算余弦相似度度量法和均方差 度量法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWC0Sw(u,v)的计算公式 为:
[0093]
[0095]
[0096] 其中,C0Ssim(u,v)为用户U和目标用户V的非加权余弦相似度,MSDsim(u,v)为均 方差度量法的非加权均方差相似度,P为用户U对项目P的评分,rv,P为用户V对项目P的评 分,L( I Tuvl )为用户U和目标用户V的均方差相似度阔值。
[0097] 进一步作为优选的实施方式,所述步骤C包括:
[009引 CU将nXn阶的用户相似度矩阵S= {Su,v}分解为两个用户特征向量UERQX嘴ZG RqXn,其中,n为用户的总数,q为用户维特征向量的维度,Su,vG(0,l]表示根据均方差加权相 似度AWCOS或均方差加权相似度AWMSD计算得到的用户U和用户V的相似度;Uu和Zv分别是特 征向量U和Z中的列向量,分别表不用户U和用户V的q维特征向量;RqXn为q X n维向量空间;
[0099] C2、采用梯度下降法调整U和Z,并在调整结束后通过U和Z的内积KfZ,.拟合原始相 似矩阵S,最终得到没有共同评分项目用户之间的相似度。
[0100] 进一步作为优选的实施方式,所述步骤C2包括:
[0101] C21、确定梯度下降法所采用的目标函数,所述目标函数G(U,Z)的表达式为:
[0102]

[010;3] 其中,Al和A2均为设定的权重系数,且、>0,^2>0, M ? Mf是Frobeinus范数,二 是共同评分项目指示函数,若用户U和用户V存在基于AWCOS或AWMSD计算出来的相似度,贝U
[0104] C22、采用梯度下降法交替固定U和Z,通过最小化目标函数G(U,Z)求出G(U,Z)取最 小值时对应的U和Z,然后W求出的U和Z的内积[/,fZ,.拟合原始相似矩阵S,最终得到没有共 同评分项目用户之间的相似度。
[0105] 进一步作为优选的实施方式,所述步骤D根据运k个邻居的数据预测目标用户对未 评分项目的评分时所采用的预测公式为:
[0106]
[0107] 其中,P(V,i)为目标用户V对未评分项目i的可能评分,Sim(U,V)为用户U和目标用 户V的相似度,"I I"符号用于求取集合的元素个数,为用户U对目标用户V的未评分项目i 的评分,弔为目标用户V对所有已评分项目评分的平均分。
[0108] 参照图2,一种基于非对称加权相似度的协同过滤推荐系统,包括:
[0109] 非对称加权因子确定模块,用于根据用户共同评分项目所占的比例确定用户相似 度非对称加权因子;
[0110] 第一相似度计算模块,用于根据用户相似度非对称加权因子分别采用余弦相似度 度量法和均方差度量法计算拥有共同评分项目用户之间的相似度;
[0111] 第二相似度计算模块,用于采用矩阵分解梯度下降法对用户的原始相似度矩阵进 行拟合计算,求出没有共同评分项目用户之间的相似度;
[0112] 评分预测模块,用于根据拥有共同评分项目或没有共同评分项目用户之间的相似 度选择k个相似度最大的用户作为目标用户的邻居,并根据运k个邻居的数据预测目标用户 对未评分项目的评分;
[0113] 推荐项目生成模块,用于根据预测的结果生成目标用户的推荐项目;
[0114] 所述非对称加权因子确定模块的输出端依次通过第一相似度计算模块、第二相似 度计算模块和评分预测模块进而与推荐项目生成模块的输入端连接。
[0115] 参照图2,进一步作为优选的实施方式,所述非对称加权因子确定模块包括:
[0116] 比例计算单元,用于计算两个用户共同评分项目在目标用户所有已评分项目中的 比例大小,W获取用户共同评分项目所占的比例;
[0117] 初步相似度加权因子获取单元,用于根据计算的比例得到初步的相似度加权因 子,所述初步的相似度加权因子w(u,v)的表达式为:
[011 引
[0119] 其中,V代表目标用户,U代表除目标用户V外的其它用户,Tuv为用户U和用户V的共 同已评分项目集合,Tv为目标用户V的已评分项目集合,"I I"符号用于求取集合的元素个 数;
[0120] 用户相似度非对称加权因子确定单元,用于将初步的相似度加权因子w(u,v)与索 伦森指数相乘,得到最终的用户相似度非对称加权因子,所述用户相似度非对称加权因子 asyw(u,v)的表达式为:
[0121]
[0122] 其中,SRS(u,v)为用户U和目标用户V的索伦森指数,Tu为用户U的已评分项目集 合;
[0123] 所述比例计算单元的输出端依次通过初步相似度加权因子获取单元和用户相似 度非对称加权因子确定单元进而与第一相似度计算模块的输入端连接。
[0124] 进一步作为优选的实施方式,所述第一相似度计算模块具体执行W下操作:
[0125] 根据用户相似度非对称加权因子asyw(u,v)分别计算余弦相似度度量法和均方差 度量法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWC0Sw(u,v)的计算公式 为:
[0126]
[0127]所述均方差度量法的均方差加权相似度AWMSDsim(u,v)的计算公式为:
[012 引
[01巧]其中,C0Ssim(u,v)为用尸U和目标用尸V的非加权余弦相似度,MSDsim(u,v)为均 方差度量法的非加权均方差相似度,P为用户U对项目P的评分,rv,P为用户V对项目P的评 分,L( I Tuvl )为用户U和目标用户V的均方差相似度阔值。
[0130] 参照图2,进一步作为优选的实施方式,所述第二相似度计算模块包括:
[0131] 分解单元,用于将nXn阶的用户相似度矩阵S= {Su,v}分解为两个用户特征向量U GRqXn和ZERqXn,其中,n为用户的总数,q为用户维特征向量的维度,Su,,£(〇山表示根据 均方差加权相似度AWCOS或均方差加权相似度AWMS的十算得到的用户U和用户V的相似度;Uu 和Zv分别是特征向量U和Z中的列向量,分别表示用户U和用户V的q维特征向量;RqXn为q X n 维向量空间;
[0132] 梯度下降法调整单元,用于采用梯度下降法调整U和Z,并在调整结束后通过U和Z 的内积U,fZ,.拟合原始相似矩阵S,最终得到没有共同评分项目用户之间的相似度;
[0133] 所述第一相似度计算模块的输出端依次通过分解单元和梯度下降法调整单元进 而与评分预测模块的输入端连接。
[0134] 下面结合说明书附图和具体实施例对本发明作进一步解释和说明。
[0135] 实施例一
[0136] 本实施例对本发明所设及的相关理论及实现原理进行解释和说明。
[0137] (一)传统的用户相似度计算方法
[0138] 传统的用户相似度计算方法有=种:相关系数、余弦相似度和均方差。本发明主要 使用余弦相似度和均方差来设计相似度度量模型。
[0139] 在推荐系统中,用户的评分数据可W表示为一个m行n列的用户-项目评分矩阵Ru, 其中,m是用户的个数,n是项目的个数。用户和项目分别在集合U和T中。
[0140]
123 第h行第j列的元素 n,J表示用户Uh对项目的评分。用户U和用户V各自的评分向量 为Ru= …,:Tu,rJ和Rv= {rv,l,:rv,2,。',:Tv,n},可由评分向量得到两者的评分均值巧. 和5,去掉未评分项目可分别求得U和V的已评分项目集合Tu=扣山G T八。,片OWPTv = Uj ItjGTArvj声0},传统用户相似度度量方法使用两个用户的共同已评分项目集合Tuv = Itj tjGT八I'll,j声0八IV,j声0}来计算两者的相似度。 2 (1)基于余弦相似度的用户相似度度量方法(即COS方法) 3 基于余弦相似度的用户相似度度量方法所采用的计算公式为:
[0144]
[0145] (2)基于均方差的用户相似度度量方法(即MSD方法)
[0146] 基于均方差的用户相似度度量方法所采用的计算公式为:
[0147]
[0148] 其中,P是用户U对I贞目P的评分,n,
是用户U对所有已评分I贞目的平均评分,L是均 方差的阔值,若两用户之间的均方差超过L,则认为两者之间没有相似度。
[0149] 然而,上述两种相似度度量方法存在一些问题。首先,当两个用户共同已评分项目 很少而且评分相近,传统的相似度度量方法会得出两者具有高相似度的结果,但是两者在 其他项目上的评分有可能存在较大差异性,运样会导致错误的判断,因此相似度度量方法 还需要考虑用户之间的共同已评分项目在已评分项目中占的比例大小。其次,传统相似度 度量方法认为两个用户之间的相似性关系是平等的,运些方法都是基于用户彼此相似度 sim(u,v) = sim(v,u)的假设。表l就给出了一个用户-项目评分矩阵的例子(没有分数代表 未评分),从表1可W看出,对于化来说,U6的评分信息与其非常相近,但反过来就不一定成 立,因此相似度度量方法有必要把运两种情况区分开来。
[0150] 表1用户-项目评分矩阵例子 1
12345 (二)非对称的加权相似度度量方法 2 为了解决(一)所提到的两种问题,本文对基于余弦相似度和均方差的传统方法进 行改进,提出一种非对称的加权相似度度量方法。该非对称的加权相似度度量方法的实现 过程如下: 3 首先,本发明提出了一种考虑两个用户共同已评分项目在目标用户的已评分项目 中所占比例的加权因子,该加权因子表述为: 4
[0155]
5 公式(3)尽管考虑了两个用户的共同已评分项目所占的比例,但忽略了共同已评 分项目在两个用户的已评分项目并集中占的比例,该比例称为索伦森指数(SRS),继续改进 加权因子,方法如下:
[0157]
[0158] 然后,使用公式(4)的加权因子改进传统的相似度度量方法,W形成本发明非对称 的加权相似度度量方法。其方法如下:
[0159] (1)加权后的基于余弦相似度的相似度度量方法(即AWCOS方法)
[0160] 加权后的基于余弦相似度的相似度度量方法所采用的公式为:
[0161]
[0162] (2)加权后的基于均方差的相似度度量方法(即AWMSD方法)
[0163]
[0164] 下面使用表1的例子来说明上述改进的用户相似度度量方法。表2和表3分别给出 了根据传统的基于余弦相似度和均方差的用户相似度度量方法计算出来的用户相似矩阵。 从表中可W看出,传统方法得到的用户相似矩阵是对称的,如Sim(化,化)= sim(化,化)。而 表4和表5则分别给出了根据AWCOS和AWMSD方法得到的非对称用户相似矩阵。从表4和5中可 观察到Sim化6,化)>Sim(化,化),也就是说在化看来,化比化与自己更相似,表1里S者的评 分数据体现了运一点。但表3传统基于均方差的相似度度量方法却得到了相反的结论,而本 发明所提出的非对称加权因子成功修正了运个缺点。从表4和5中还能观察到Sim(化,化)> 81111(化,帕),其中,(化,1]3)和(化,帕)的共同已评分项目都是13和16,且评分都相同,导致运两 对用户之间相似度不等的原因是共同已评分项目分别在化和化的已评分项目中占的比例不 相等,证明本发明所提出的非对称加权因子已经考虑共同已评分项目在已评分项目中所占 比例对用户相似度结果的影响。
[0165] 表2基于传统的COS方法得到的用户相似矩阵 「01661
[0167]表3基于传统的MSD方法得到的用户相似矩阵
[016 引
[0173] (S)用户相似矩阵分解
[0174] 矩阵分解的基本思想是用低阶矩阵来拟合原始矩阵,本发明主要通过梯度下降法 将用户相似矩阵分解为两个用户特征向量,然后通过两个用户特征向量内积获得未知的用 户相似度数据。
[017引令S={Su,v}表示一个nXn阶的用户相似矩阵,其中,Su,vG((U]表示根据AWCOS或 AWMSD计算得到的用户U和用户V的相似度,n是用户总数。运两个用户的特征向量分别表示 为UERqX嘴ZERqXn, Uu和Zv都是列向量,分别表示用户U和用户V的q维特征向量。本发明通 过调整低阶矩阵1]和2,使其乘积1/,[与不断逼近原始相似矩阵5,^此来拟合未知的相似度 数据。因此可W定义如下的目标函数:
[0176]
[0177] 其中,Al和A2均为设定的权重系数,且、>0,A2>0, M ? Mf是Frobeinus范数, 是指示函数,若用户U和用户V存在基于AWCOS或AWMSD计算出来的相似度,则
否则
[0178] 本文使用矩阵分解梯度下降法交替固定U和Z,通过最小化目标函数求得U和Z,W 巧Zy拟合原始相似矩阵,从而求得未知的相似度数据。然后选择k个相似度最大的用户作 为目标用户的邻居,通过评分预测函数P(v,i)预测用户V对项目i的可能评分,其计算公式 如下:
[0179]
[0180] 实施例二
[0181] 参照图3-6,本发明的第二实施例:
[0182]本实施例使用的数据集为MoVieLens和Douban,两数据集分别包含100000和 116221条评分记录,评分范围在1和5之间,评分值越高表示用户越喜欢该项目。把评分数据 随机分为两个不相交的集合:训练集和测试集,分别占80 %和20 %。每种相似度度量方法通 过训练集预测未知评分值,使用测试集来评估每种方法的预测准确率。
[0183] 为了评估所提方法的预测准确率,本发明采用两种常用的指标:均方根误差 (RMSE)和平均绝对误差(MAE),计算公式如下:
[0184] 说非对称加权因子更适用于改进cos算法。 WM] (2)对于MovieLens数据集,基于MSD的S种算法总体性能高于另外S种基于COS的 算法。当最近邻居数目为200时,MF-AWCOS方法与COS方法相比,RMSE提高了7.8%,MAE提高 了 6 % dMF-AWMSD方法与MSD方法相比,RM沈提高了 5.8 %,MAE提高了 4.6 %,加权因子和矩阵 分解技术对基于COS的算法的改进效果更明显。
[0196] 图5和图6是Douban数据集上的测试结果。改进后的算法应用在Douban数据集比应 用在MovieLens数据集具有更明显的改善效果,因为Douban数据集的抽样数据更为稀疏,使 用矩阵分解技术拟合未知用户的相似度对提高推荐质量具有更显著的效果。
[0197] 针对传统协同过滤算法里对称相似度计算方法会导致用户相似度测量值存在误 差,数据稀疏和冷启动问题会导致推荐质量不高等运两个问题,本发明提出了一种非对称 的加权相似度协同过滤方法及系统,通过计算用户共同评分项目所占比例来确定用户相似 度非对称加权因子,W表现用户之间相互影响的差异性;通过加权因子和传统相似度度量 方法确定用户相似矩阵,并使用矩阵分解梯度下降法来拟合没有共同评分项目的用户之间 的相似度数据。本发明不仅能计算拥有共同评分项目用户之间的相似度,而且还能够计算 没有共同评分项目用户之间的相似度。
[0198] W上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施 例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替 换,运些等同的变形或替换均包含在本申请权利要求所限定的范围内。
【主权项】
1. 一种基于非对称加权相似度的协同过滤推荐方法,其特征在于:包括以下步骤: A、 根据用户共同评分项目所占的比例确定用户相似度非对称加权因子; B、 根据用户相似度非对称加权因子分别采用余弦相似度度量法和均方差度量法计算 拥有共同评分项目用户之间的相似度; C、 采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟合计算,求出没有共同评 分项目用户之间的相似度; D、 根据拥有共同评分项目或没有共同评分项目用户之间的相似度选择k个相似度最大 的用户作为目标用户的邻居,并根据这k个邻居的数据预测目标用户对未评分项目的评分; E、 根据预测的结果生成目标用户的推荐项目。2. 根据权利要求1所述的一种基于非对称加权相似度的协同过滤推荐方法,其特征在 于:所述步骤A包括: A1、计算两个用户共同评分项目在目标用户所有已评分项目中的比例大小,以获取用 户共同评分项目所占的比例; A2、根据计算的比例得到初步的相似度加权因子,所述初步的相似度加权因子w(u,v) 的表达式为:其中,V代表目标用户,u代表除目标用户V外的其它用户,Tuv为用户u和用户V的共同已 评分项目集合,Tv为目标用户V的已评分项目集合,"| |"符号用于求取集合的元素个数; A3、将初步的相似度加权因子w(u,v)与索伦森指数相乘,得到最终的用户相似度非对 称加权因子,所述用户相似度非对称加权因子asy w (u, V)的表达式为:其中,SRS(u,v)为用户u和目标用户V的索伦森指数,Tu为用户u的已评分项目集合。3. 根据权利要求2所述的一种基于非对称加权相似度的协同过滤推荐方法,其特征在 于:所述步骤B具体为: 根据用户相似度非对称加权因子asyw(u,V)分别计算余弦相似度度量法和均方差度量 法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWCOSw(u,V)的计算公式为:所述均方差度量法的均方差加权相似度AWMSDsim(u,V)的计算公式为:其中,COSsim(u,v)为用户u和目标用户V的非加权余弦相似度,MSDsim(u,v)为均方差 度量法的非加权均方差相似度,ru, P为用户u对项目p的评分,rv, P为用户V对项目p的评分,L (|TUV|)为用户U和目标用户V的均方差相似度阈值。4. 根据权利要求3所述的一种基于非对称加权相似度的协同过滤推荐方法,其特征在 于:所述步骤C包括: C1、将nXn阶的用户相似度矩阵S= {Su,v}分解为两个用户特征向量UeRqxIPZeRq' 其中,η为用户的总数,q为用户维特征向量的维度,Su,ve(〇,l]表示根据均方差加权相似度 AWCOS或均方差加权相似度AWMSD计算得到的用户u和用户V的相似度;Uu和Zv分别是特征向 量U和Z中的列向量,分别表示用户u和用户V的q维特征向量;R qxn为q X η维向量空间; C2、采用梯度下降法调整U和Ζ,并在调整结束后通过U和Z的内积RfZv拟合原始相似矩 阵S,最终得到没有共同评分项目用户之间的相似度。5. 根据权利要求4所述的一种基于非对称加权相似度的协同过滤推荐方法,其特征在 于:所述步骤C2包括: C21、确定梯度下降法所采用的目标函数,所述目标函数G(U,Z)的表达式为:其中,λ#ρλ2均为设定的权重系数,且A1X), λ2>0,|| · ||F是Frobeinus范数,是共同 评分项目指示函数,若用户u和用户V存在基于AWCOS或AWMSD计算出来的相似度,则< =1, 否则/:=0; C22、采用梯度下降法交替固定U和Ζ,通过最小化目标函数G(U,Z)求出G(U,Z)取最小值 时对应的U和Z,然后以求出的U和Z的内积t/,fZv拟合原始相似矩阵S,最终得到没有共同评分 项目用户之间的相似度。6. 根据权利要求1-5任一项所述的一种基于非对称加权相似度的协同过滤推荐方法, 其特征在于:所述步骤D根据这k个邻居的数据预测目标用户对未评分项目的评分时所采用 的预测公式为:其中,P(v, i)为目标用户V对未评分项目i的可能评分,sim(u,v)为用户u和目标用户V 的相似度,"I I"符号用于求取集合的元素个数,ru>1为用户u对目标用户V的未评分项目i的 评分3为目标用户V对所有已评分项目评分的平均分。7. -种基于非对称加权相似度的协同过滤推荐系统,其特征在于:包括: 非对称加权因子确定模块,用于根据用户共同评分项目所占的比例确定用户相似度非 对称加权因子; 第一相似度计算模块,用于根据用户相似度非对称加权因子分别采用余弦相似度度量 法和均方差度量法计算拥有共同评分项目用户之间的相似度; 第二相似度计算模块,用于采用矩阵分解梯度下降法对用户的原始相似度矩阵进行拟 合计算,求出没有共同评分项目用户之间的相似度; 评分预测模块,用于根据拥有共同评分项目或没有共同评分项目用户之间的相似度选 择k个相似度最大的用户作为目标用户的邻居,并根据这k个邻居的数据预测目标用户对未 评分项目的评分; 推荐项目生成模块,用于根据预测的结果生成目标用户的推荐项目; 所述非对称加权因子确定模块的输出端依次通过第一相似度计算模块、第二相似度计 算模块和评分预测模块进而与推荐项目生成模块的输入端连接。8. 根据权利要求1所述的一种基于非对称加权相似度的协同过滤推荐系统,其特征在 于:所述非对称加权因子确定模块包括: 比例计算单元,用于计算两个用户共同评分项目在目标用户所有已评分项目中的比例 大小,以获取用户共同评分项目所占的比例; 初步相似度加权因子获取单元,用于根据计算的比例得到初步的相似度加权因子,所 述初步的相似度加权因子W ( U,V )的表达式为:其中,V代表目标用户,U代表除目标用户V外的其它用户,Tuv为用户U和用户V的共同已 评分项目集合,Tv为目标用户V的已评分项目集合,"| |"符号用于求取集合的元素个数; 用户相似度非对称加权因子确定单元,用于将初步的相似度加权因子W(u,v)与索伦森 指数相乘,得到最终的用户相似度非对称加权因子,所述用户相似度非对称加权因子asyw (u,v)的表达式为:其中,SRS(u,v)为用户u和目标用户V的索伦森指数,Tu为用户u的已评分项目集合; 所述比例计算单元的输出端依次通过初步相似度加权因子获取单元和用户相似度非 对称加权因子确定单元进而与第一相似度计算模块的输入端连接。9. 根据权利要求8所述的一种基于非对称加权相似度的协同过滤推荐系统,其特征在 于:所述第一相似度计算模块具体执行以下操作: 根据用户相似度非对称加权因子asyw(u,V)分别计算余弦相似度度量法和均方差度量 法的加权相似度,所述余弦相似度度量法的余弦加权相似度AWCOSw(u,V)的计算公式为:所述均方差度量法的均方差加权相似度AWMSDsim(u,V)的计算公式为:其中,COSsim(u,v)为用户u和目标用户V的非加权余弦相似度,MSDsim(u,v)为均方差 度量法的非加权均方差相似度,ru, P为用户u对项目p的评分,rv, P为用户V对项目p的评分,L (|TUV|)为用户U和目标用户V的均方差相似度阈值。10.根据权利要求9所述的一种基于非对称加权相似度的协同过滤推荐系统,其特征在 于:所述第二相似度计算模块包括: 分解单元,用于将nXn阶的用户相似度矩阵S= {Su,v}分解为两个用户特征向量Uerxn 和ZeRqx'其中,n为用户的总数,q为用户维特征向量的维度,Su, ve(〇,l]表示根据均方差 加权相似度AWCOS或均方差加权相似度AWMSD计算得到的用户u和用户V的相似度;U u和Zv分 别是特征向量U和Z中的列向量,分别表示用户u和用户V的q维特征向量;R qxn为q X η维向量 空间; 梯度下降法调整单元,用于采用梯度下降法调整U和Ζ,并在调整结束后通过U和Z的内 积t/fzv拟合原始相似矩阵S,最终得到没有共同评分项目用户之间的相似度; 所述第一相似度计算模块的输出端依次通过分解单元和梯度下降法调整单元进而与 评分预测模块的输入端连接。
【文档编号】G06F17/30GK106021298SQ201610289621
【公开日】2016年10月12日
【申请日】2016年5月3日
【发明人】刘竹松, 欧仕华, 李志科
【申请人】广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1