欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018107132974
申请人: 安徽工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于谱聚类的低秩矩阵填充TOP‑N推荐方法,其特征在于,包括以下步骤:(1)建立训练数据库:包括用户行为数据库,即M个用户对N个项目的评分信息;项目属性数据库,即N个项目所属的|C|个类别信息,C={C1,C2,C3,…Ck},k为指定所属类别下标;

(2)根据训练数据库信息生成评分信息的待恢复矩阵和项目类别信息矩阵;

(3)提取用户评分信息的待恢复矩阵和项目类别信息矩阵之间的相关性,建立用户评分矢量,并进行归一化处理;

(4)根据归一化评分矢量基于图论的谱聚类算法对用户进行相似用户划分,得到用户分类集合;

(5)根据用户分类集合得到用户项目子矩阵,对用户项目子矩阵进行填充预测,生成用户‑项目评分矩阵;

(6)对用户‑项目评分矩阵降序排序,选取前N个最高评分对应的项目生成TOP‑N推荐列表;

N×|C| M×N

定义步骤(2)中所述项目类别信息矩阵为I ,所述的评分信息的待恢复矩阵为P ,则:

N×|C|

Ijk∈I (1‑1)

其中,Ijk∈[0,1](1≤j≤N,1≤k≤|C|),当Ijk值为1时表示指定项目vj包含Ck类别信号,Ijk值为0时表示指定项目vj不包含Ck类别信号;

M×N

Pij∈P (1‑2)

其中,Pij(1≤i≤M,1≤j≤N)表示目标用户ui对指定项目vj的偏好;

定义步骤3)中用户评分矢量为 则:在评分矢量的基础上进一步进行归一化,得到归一化后的评分矢量其中,1≤k≤|C|,1≤i≤M,1≤j≤N; 为用户ui对所有属于Ck类项目的评分总和,为用户ui对Ck类项目的评分占该用户对所有项目评分总和的评分比,且 为[0,

1]的实数;

所述步骤4)中基于图论的谱聚类算法对用户进行相似用户划分,将用户看成无向权值连接图G中的顶点V,各条边上的权值集合E为用户‑类别评分矩阵中各用户行之间的距离,具体步骤如下:

(1.1)根据式(1‑4)中归一化评分矢量将原始用户项目矩阵映射成M×|C|维的用户‑类别评分矩阵;

(1.2)根据修正的余弦相似度公式计算用户之间的相似性,得到一个M×M维的相似度矩阵,记为eij;

*

其中,1≤i≤M,1≤j≤M,且i≠j;l为项目类别信息下标,且1≤l≤|C|,C是两个用户ui和uj之间共同进行评分过的类集合; 表示用户ui对其已评级类的平均评分, 表示用户uj对其已评级类的平均评分;μi[l]表示用户ui对所属于Cl类别信息的归一化评分矢量的模,μj[l]表示用户uj对所属于Cl类别信息的归一化评分矢量的模;

(1.3)计算度矩阵D和拉普拉斯矩阵L,L=D‑E  (1‑7)

其中,n为连接图G中的顶点个数,1≤n≤M;

归一化后得归一化的拉普拉斯矩阵Lsym:(1.4)通过Lsym的前K个最小特征值所对应的特征向量v1,υ2,…,υK,构造矩阵V;

n×K

V=[v1,υ2,…,υK]∈R   (1‑9)(1.5)将V中每一行看作K维空间中的一个向量,并使用K‑means算法进行谱聚类,得到K个用户分类集合:U1,U2,...,UK,进而得到K个用户项目子矩阵M1,M2,...,MK。

2.根据权利要求1所述的基于谱聚类的低秩矩阵填充TOP‑N推荐方法,其特征在于,步骤5)中对用户项目子矩阵进行填充预测,生成用户‑项目评分矩阵包括如下步骤:(2.1)根据低秩矩阵填充理论,修剪零评分列,并进一步修剪掉评分率低于特定阈值的列来降低矩阵秩和提高矩阵密度,得到修剪后的子矩阵为M′1,M′2,…,M′K;

(2.2)应用矩阵填充进行恢复填充预测,数学表达式如下:subjecttoPΩ(X′i)=M′i  (1‑10)其中, 为低秩矩阵填充后的预测矩阵,X′i为Mi′对应的低秩待填充预测矩阵,PΩ为Mi′中评分为非零元素下标;

(2.3)根据低秩矩阵填充后的子矩阵 构建推荐系统预测用户‑项目评分矩阵X:

3.根据权利要求2所述的基于谱聚类的低秩矩阵填充TOP‑N推荐方法,其特征在于,对一个给定矩阵中的元素进行有效预测,则其打分元素必须满足不等式(1‑12),即

6/5

m≥ca r log a  (1‑12)其中,m为选取打分项的数目,c为常数,a=max{M,N},r为该矩阵的秩。

4.根据权利要求2所述的基于谱聚类的低秩矩阵填充TOP‑N推荐方法,其特征在于,根据步骤2.3)系统预测用户‑项目评分矩阵 对每个用户的评分进行降序排列,选择前N个最高评分对应的项目生成推荐列表,推荐给相关用户。