一种融合矩阵分解和挖掘用户项目信息的CF推荐方法与流程

文档序号:17642926发布日期:2019-05-11 00:47阅读:648来源:国知局
一种融合矩阵分解和挖掘用户项目信息的CF推荐方法与流程

本发明属于电影推荐技术领域,涉及一种融合矩阵分解和挖掘用户项目信息的cf电影推荐方法。



背景技术:

在大数据智能时代,个性化推荐系统,通过研究用户的喜好,实现从海量数据资源中为用户推荐其感兴趣的内容,通过学习、收集用户的信息,为用户提供比较精准的信息推荐服务,能让用户花更少的代价获取自己想要的信息,用于帮助客户从internet大量数据信息中获得符合其兴趣偏好和需求的资源。

在电影推荐领域,协同过滤推荐技术是目前推荐系统中最成功的技术之一,分为基于用户的协同过滤和基于项目的协同过滤两大类。基于用户的协同过滤是基于相似的用户具有相似的兴趣爱好,相似的用户对一些项目的评分也比较相似。传统的协同过滤推荐技术,主要是通过寻找与目标用户兴趣爱好相似的用户,并根据其喜爱的项目,对目标用户喜爱的项目进行预测,产生推荐。基于项目的协同过滤将每个被目标用户评分的项目与所有其他未评分的项目进行比较,找到最相似的邻居项目,然后对相似度高的邻居项目进行评分预测,按照从高到低排序并将评分最高的前n个相似物品推荐给目标用户。虽然协同过滤推荐算法在信息过滤方面呈现出了极大的优势,但随着电子商务和社交网络的快速发展和相互间的不断融合,该算法在不同领域中的应用也出现一些问题,尤其是冷启动问题和数据稀疏性问题更加凸显。针对这些问题,提出基于用户信任度的funksvd算法优势解决数据稀疏问题,基于修正用户和项目相似度的cf推荐算法解决冷启动问题,以此来提高推荐算法的精度。



技术实现要素:

本发明目的是提供一种融合矩阵分解和挖掘用户项目信息的cf电影推荐方法,该算法以用户信息、项目信息和用户—项目评分信息为输入数据,通过训练模型来预测项目的评分。

向不同的用户个性化地推荐其可能感兴趣的电影,克服了传统算法中的数据稀疏、冷启动和可扩展性弱等问题,同时提高推荐算法的精度实现定制化推荐。

为实现上述目的,本发明采用的技术方案如图1融合矩阵分解和挖掘用户项目信息的cf推荐方法流程图;包含矩阵分解模块、构建用户信任度模型模块、修正用户相似度模块、修正项目相似度模块,对以上四个模块分别进行设计。

所述矩阵分解模块,用于将用户一项目评分矩阵降维,以达到实现降低复杂度、保持扩展性等要求。

所述构建用户信任度模型模块,用于度量用户之间的直接信任值,以达到提升推荐质量要求。

所述修正用户相似度模块,用于精准计算用户相似度,以达到用户最近邻的定位更加准确要求。

所述修正项目相似度模块,用于精准计算项目相似度,以达到项目最近邻的定位更加准确要求。

一种融合矩阵分解和挖掘用户项目信息的cf推荐方法,包括以下步骤:

(1)处理用户-项目评分矩阵,先将用户历史电影评分数据的训练集预处理为m*n的用户电影评分矩阵r;m表示为m个用户,n表示为n部电影;

(2)对用户-项目评分矩阵进行分解,将维数较高的用户-项目评分矩阵r分解成两个维数较低的矩阵p和q的乘积;

(3)利用原始的评分矩阵rm*n与重新构建的评分矩阵之间的误差的平方,建立修正的误差函数sse;

(4)通过改进的梯度下降法降低sse,改进的梯度下降法求解主要分为两步进行,第一步求解sse的偏导数,第二步为了防止过拟合现象,对误差函数sse加入正则化进行计算;

(5)利用用户-项目评分矩阵建立用户信任度,融合上述所获得的p和q矩阵预测未评分电影评分;

(6)将用户信息中的年龄、性别加入相似度计算,建立修正的用户相似度;

(7)将项目信息中的电影类型加入相似度计算,建立修正的项目相似度;

(8)根据用户和项目信息的大小选取占用不同比例的用户相似度和项目相似度,取用户-项目最优相似度,预测计算未评分电影评分;

(9)将前述步骤训练所得用户对未评分项目的预测评分进行均值计算,并取评分较高的前n个物品推荐给用户。

所述步骤(1)中的用户-项目评分矩阵建立如下:将用户历史电影评分行为数据的训练集预处理为m*n的r,其中,m表示为m个用户,n表示为n部电影,rui表示用户u对电影i的评分;

所述步骤(2)中将用户-项目评分矩阵r分解为两个低维的矩阵p和q,具体计算如下:

rm×n=pm×kqtn×k

其中,r为m*n的用户-项目评分矩阵,其中m为用户数量,n为项目数量,p为m*k的矩阵,表示m个用户与k个项目的关系,q为k*n矩阵,表示k个主题和n个项目的关系;

假设x代表p中的元素,y代表q中的元素,则矩阵r的元素值为:

xtm表示p矩阵m行的列矩阵的转置,yn表示第n列的矩阵;

步骤(3)中建立误差函数e,利用原始的评分矩阵rm*n与重新构建的评分矩阵之间的误差的平方,其误差emn计算如下所示:

其修正的误差函数计算如下:

上式中,sse代表p,q分解接近r的程度,sse越小,则表示越接近原始矩阵。

步骤(4)中改进的梯度下降法求解目标函数分为两步进行:

第一步分别对p和q矩阵中的点进行梯度求解,

eui指用户u对项目i的评分的误差,得到目标函数在p矩阵和q矩阵上参数的梯度,假设学习率为η,则可以得到更新后puk和qki的值为

puk=puk-η(-2euiqki)=puk+2ηeuiqki

qki=qki-η(-2euipuk)=qki+2ηeuipuk

为了防止过拟合现象,对误差函数sse加入正则化,则

λ是正则化参数,||·||是范数,这里采用二范式。按偏导求取各个参数的梯度后得出:

同理,我们可以按负梯度方向更新得到puk和qki参数的值为:

puk=puk+2η(euiqki-λpuk)

qki=qki+2η(euipuk-λqki)

步骤(5)中利用用户-项目评分矩阵建立用户信任度t(u),具体计算公式如下:

预测计算未评分电影的评分p1u,i;其计算公式如下所示:

其中t(u)表示用户间的信任程度,α是一个常量权重参数,用来控制用户间信任度对评分预测的影响。

步骤(6)中计算用户之间的相似度,采用修正的余弦相似度,加入用户信息中的年龄、性别等信息,具体计算公式如下所示:

其中,a(u)表示由于用户性别引起的评分标准偏差,目标用户若是男性其计算公式如下所示:

af(u)=1-fu(σ)/(fu(σ)+mu(σ))

目标用户若是女性其计算公式如下:

am(u)=1-mu(σ)/(fu(σ)+mu(σ))

其中fu(δ)表示男性用户的标准差,mu(δ)表示女性用户的标准差。

bi(u)表示由于用户年龄引起的评分标准偏差,根据不同实验将年龄划分为0-18,19-24,25-30,31-40,41-50,大于50,六个年龄段,再计算其年龄评分标准偏差。若目标用户是0-18岁,其计算公式如下所示:

以此类推,其中b(δ)表示所有年龄的标准差总和。

步骤(7)中计算项目之间的相似度,采用修正的余弦相似度,加入项目信息中的年电影类型等信息,具体计算公式如下所示:

其中c(u)表示由于电影类型引起的评分标准偏差,根据不同电影类型划分为action(动作片)、adventure(冒险片)、comedy(喜剧片)等18类,再计算其评分标准偏差。其计算公式如下所示:

其中c(δ)表示所有电影类型的标准差总和。

步骤(8)中根据不同场景选取占用不同比例的用户相似度和项目相似度,用户较少物品较多的场景适用于用户相似度占大比重,用户较多物品较少的场景适用于项目相似度占大比重,取用户-项目最优相似度,其计算公式如下所示:

sim(u,i)=βsim(u,v)+(1-β)sim(i,j)

其中,比重参数β∈[0,1],具体需要在测试数据集上反复实验。

预测计算未评分电影评分p2a,i;其计算公式如下所示:

其中sim(u,i)最优用户-项目相似度,t(u)表示用户间的信任程度,ru,i表示用户u对项目i的评分,是用户u对已评价项目的平均评分。

步骤(9)中将前述步骤训练所计算用户对未评分的每个物品的预测评分进行均值计算,其计算公式如下所示:

pu,i=1/2(p1u,i+p2u,i)

本发明与现有技术相比,具有以下优点:

(1)基于funksvd模型优化分解用户-项目评分矩阵,加入信任度因子预测用户评分矩阵,缓解传统矩阵分解模型因数据稀疏而造成的推荐效果不理想等问题;(2)基于用户信息和项目信息计算相似度,解决传统推荐算法过度依赖历史数据导致冷启动问题;(3)引入用户之间的信任度关系,提高传统cf推荐算法的推荐精度和可解释性。

附图说明

图1融合矩阵分解和挖掘用户项目信息的cf推荐方法流程图;

图2优化推荐算法和传统推荐算法的实施例应用对比图。

具体实施方式

实施例:

采用美国明尼苏达州立大学研究小组提供的movielens公开电影评分数据集进行实验验证,movielens是一个基于web的研究型推荐系统,用于接收用户对电影的评分,并提供相应的电影推荐列表。其中包括有943个用户在1682部电影中约10万项评分,每个用户至少评分20部电影,评分范围为1-5。可以计算出该数据集的稀疏度为1-100000/(943*1682)=0.936953。

本发明采用以mae为标准的方法度量预测精度验证算法的有效性:通过计算用户推荐预测的电影集与用户实际评分的电影集之间的偏差来评估推荐质量。假设系统推荐预测的电影集合为{p1,p2,p3....pn},而用户实际评分的电影集为{q1,q2,q3....qn},则平均绝对误差的定义如下:

为验证本发明提出的算法的有效性,设计实验和传统基于用户的协同过滤算法以及单纯基于信任度的协同过滤进行比较。实验分别设置不同近邻个数,并对比不同算法中的评估指标。实施例应用如图2所示,随着邻居数n的增加,传统cf算法、加用户特征的cf算法ubcf、加用户和项目特征的cf算法u-ibcf、基于信任度的矩阵分解t-bf、融合矩阵分解和挖掘用户项目信息的cf推荐方法t-u-ibcf(本发明)的mae值都持下降趋势,其推荐质量也都有所提高,但是明显地融合矩阵分解和挖掘用户项目信息的cf推荐方法的mae值下降的更快,预测相对更加稳定和准确,推荐质量也更高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1