一种基于用户偏好的矩阵分解推荐方法技术

技术编号:19695124 阅读:25 留言:0更新日期:2018-12-08 12:01
本发明专利技术请求保护一种基于用户偏好的矩阵分解推荐方法,包括步骤:S1,依据用户评分数据,构建用户‑项目评分矩阵和项目偏好程度向量;S2,依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵;S3,利用用户评分矩阵、用户个性化矩阵和项目偏好程度向量,构建用户评分基准矩阵;S4,基于矩阵分解,对用户评分矩阵进行拆分,从而形成用户‑隐语义矩阵P、隐语义‑项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S5,利用梯度下降法,优化用户‑隐语义矩阵P、隐语义‑项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S6,利用矩阵P、Q和向量bu、bi获得预测评分矩阵,将预测评分高的项目推荐给目标用户。本发明专利技术提高预测评分精度。

【技术实现步骤摘要】
一种基于用户偏好的矩阵分解推荐方法
本专利技术属于数据挖掘协同领域,特别是涉及一种基于用户个性化的矩阵分解推荐方法。
技术介绍
在如今这个大数据时代,大量的信息映入人们的眼帘,每个人身边都充斥着大量的信息,尤其是在互联网中,包含着人们需要的全部内容,但是“信息过载”问题成为了获取信息的一个待解决的问题,目前的大多数搜索引擎给用户提供的服务是相同的,而个性化服务成为了未来的一个趋势。在这种情况下,推荐系统应运而生。那么如何有效的将这些信息点对点的个性化推荐给需要的人成为现在研究热点。现如今,推荐系统已经在网上购物、电影、音乐、新闻、社交等领域获得飞速的发展,一个良好的推荐系统,会给用户一种亲切懂我感觉:“太棒了!这就是我想要的!”,以此获得用户信任,这对运营也相当有益,增加用户粘性,活跃度,及提高各种转化率。其次在实际应用方面可以分为两个层面:对于商家来说,特定的商家可以利用推荐算法为自己创造价值,不仅有利于促进商家的业绩,还能为商家吸引更多的用户,有助于商家与客户建立长期稳定的关系,提高客户忠诚度,防止用户流失。对于用户来说,推荐算法可以作为特定推荐系统的核心部分,为用户提供个性化的推荐服务,使用户从浩瀚的信息资源中解脱出来,不仅能够使用户很快地得到其感兴趣的内容,还能节省用户的时间和精力,这就大大地方便了用户,给了用户更好的实际体验。
技术实现思路
本专利技术旨在解决以上现有技术的问题。提出了一种提高预测的准确度、降低迭代次数的基于用户偏好的矩阵分解推荐方法。本专利技术的技术方案如下:一种基于用户偏好的矩阵分解推荐方法,其包括以下步骤:S1,依据用户评分数据,构建用户-项目评分矩阵和项目偏好程度向量;S2,依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵;S3,利用用户评分矩阵、用户个性化矩阵和项目偏好程度向量,构建用户评分基准矩阵;S4,基于矩阵分解,对用户评分矩阵进行拆分,从而形成用户-隐语义矩阵P、隐语义-项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S5,利用梯度下降法,优化用户-隐语义矩阵P、隐语义-项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S6,利用矩阵P、Q和向量bu、bi获得预测评分矩阵,将预测评分高的项目推荐给目标用户。进一步的,所述步骤S1依据用户评分数据,构建用户-项目评分矩阵和项目偏好程度向量具体包括:通过读取用户对不同项目的打分情况,未评分的项目评分为空值,形成一个N×M用户-项目评分矩阵R;其中元素R(ui,m)表示第i个用户对第m个项目的评分;所述N为用户的总数,M为项目的总数,均为正整数,且i为不大于N的正整数,m为不大于M的正整数;同时根据用户的评分矩阵R计算每个项目均值减去全局均值,获得项目偏爱程度向量其中元素表示第m个项目偏爱程度评分,且m为不大于M的正整数。进一步的,所述用户-项目评分矩阵形成的矩阵为稀疏矩阵,采用邻接表的形式进行存储,矩阵中1表示包含该类型,0表示不包含该类型;项目偏好程度向量的计算是:使用不同用户对同一个项目打分的情况,计算出该项目的均值减去全局均值作为其项目该类型的一个偏爱程度,同理求出每个项目偏爱程度,最终形成项目偏爱程度向量。进一步的,所述步骤S2依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵具体包括:获取项目信息数据,形成一个M×T项目类型矩阵T;其中元素T(m,t)表示第m个项目是否包含类型t,包含则为1,不包含则为0;获取用户的评分矩阵R和项目信息数据,计算用户对不同类型项目打分的一个情况,形成用户个性化特征向量;对每个用户依次计算,最终形成一个N×L用户个性化矩阵U;其中元素P(ui,l)表示第i个用户对第l个项目类型的偏爱程度打分;所述N为用户的总数,L为项目类型的总数,均为正整数,且i、l均为不大于N的正整数;进一步的,所述步骤S2中构建用户个性化矩阵和项目偏爱程度向量的方法包括:根据同一个用户对不同项目类型打分的情况,计算出不同类型项目打分均值减去全局均值,从而求得用户对不同类型项目的一个偏爱程度,同理求出每一个用户偏爱程度向量,最终形成用户个性化矩阵;其中,U表示用户个性化矩阵,表示第i个用户对t种类型项目打分的均值,N表示t种类型项目的个数,表示全局均值。进一步的,所述步骤S3构建用户评分基准矩阵具体包括:依据步骤S1得到的用户评分矩阵和步骤S2得到的个性化矩阵和偏爱程度向量,通过计算评分偏差,从而得到一个N×M矩阵Rb,即用户评分基准矩阵;其中代表第i个用户对第j个项目基准打分;所述N为用户的总数,M为项目的总数,均为正整数,且i为不大于N的正整数,j为不大于M的正整数。进一步的,所述步骤S4中,通过预设隐类个数k,初始化一个N×K用户-隐语义矩阵p、K×M隐语义-项目矩阵q;其中p为用户和隐类之间的关系矩阵,q为隐类和项目之间的关系矩阵;所述N为用户的总数,K为隐类个数,均为正整数。进一步的,所述步骤S5中利用梯度下降法,优化用户-隐语义矩阵P、隐语义-项目矩阵Q和用户偏好向量bu和项目偏好向量bi具体包括:(1)预测基准分数中加入用户个性化特征和项目偏爱程度特征;(2)预测评分矩阵由基准分数、偏置矩阵p、q和偏置向量bu、bi;(3)对偏置矩阵p、q和偏置向量bu、bi求偏倒数,更新偏置矩阵p、q和偏置向量bu、bi,从而求得局部最优解。进一步的,所述步骤S6中对于待推荐的项目集合;降序排列待推荐项目的预测评分,取预测评分靠前的top(1≤top≤M)个项目向目标用户进行推荐。本专利技术的优点及有益效果如下:1.本专利技术将用户的个性化特征加入到算法中,一方面由于不同的用户对不同类型的项目的起始评分值是不同的;另一方面不同的用户对相同类型的项目的起始评分值也是不同的,所以这里采用对不同用户求均值作为其评分的基数可以提高预测的准确度。2.在计算用户偏置评分矩阵时,同时加入项目偏好程度向量,这是因为用户的打分是可能会受其他用户的一个影响,换句话说就是大多数人的一个决策在一定情况下可以代表某个人的一个初始决策,这样进一步提高基数的一个准确度。3.以高精度的基数,求解用户对实际爱好的一个偏置情况,本专利技术首次采用高精度基数去求解矩阵分解即加入了用户个性化矩阵和项目偏好程度向量,一方面保证了提供个性化推荐的精度,同时也降低了梯度下降的迭代次数;另一方面由于刻画出了每个用户的特征,对于新加入的用户只要提供少量的特征,就可以利用相似度公式求得其相似邻居,从而间接的解决了矩阵分解的冷启动问题。附图说明图1是本专利技术提供优选实施例用户的评分矩阵示意图;图2为项目的类型矩阵示意图;图3为项目的偏爱程度向量示意图;图4为用户的个性化矩阵示意图;图5为用户的基准评分示意图;图6为预测用户的评分矩阵示意图;图7是本专利技术优选实施例基于用户偏好的矩阵分解推荐方法流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本专利技术的一部分实施例。本专利技术解决上述技术问题的技术方案是:如图7所示,一种基于用户个性化的矩阵分解推荐方法,其包括以下步骤:S1,构建用户评分矩阵,通过读取用户对不同项目的打分情况,未评分的项目评分为空值,形成一个N×M用户-项目评分矩阵本文档来自技高网...

【技术保护点】
1.一种基于用户偏好的矩阵分解推荐方法,其特征在于,包括以下步骤:S1,依据用户评分数据,构建用户‑项目评分矩阵和项目偏好程度向量;S2,依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵;S3,利用用户评分矩阵、用户个性化矩阵和项目偏好程度向量,构建用户评分基准矩阵;S4,基于矩阵分解,对用户评分矩阵进行拆分,从而形成用户‑隐语义矩阵P、隐语义‑项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S5,利用梯度下降法,优化用户‑隐语义矩阵P、隐语义‑项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S6,利用矩阵P、Q和向量bu、bi获得预测评分矩阵,将预测评分高的项目推荐给目标用户。

【技术特征摘要】
1.一种基于用户偏好的矩阵分解推荐方法,其特征在于,包括以下步骤:S1,依据用户评分数据,构建用户-项目评分矩阵和项目偏好程度向量;S2,依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵;S3,利用用户评分矩阵、用户个性化矩阵和项目偏好程度向量,构建用户评分基准矩阵;S4,基于矩阵分解,对用户评分矩阵进行拆分,从而形成用户-隐语义矩阵P、隐语义-项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S5,利用梯度下降法,优化用户-隐语义矩阵P、隐语义-项目矩阵Q和用户偏好向量bu和项目偏好向量bi;S6,利用矩阵P、Q和向量bu、bi获得预测评分矩阵,将预测评分高的项目推荐给目标用户。2.根据权利要求1所述的一种基于用户偏好的矩阵分解推荐方法,其特征在于,所述步骤S1依据用户评分数据,构建用户-项目评分矩阵和项目偏好程度向量具体包括:通过读取用户对不同项目的打分情况,未评分的项目评分为空值,形成一个N×M用户-项目评分矩阵R;其中元素R(ui,m)表示第i个用户对第m个项目的评分;所述N为用户的总数,M为项目的总数,均为正整数,且i为不大于N的正整数,m为不大于M的正整数;同时根据用户的评分矩阵R计算每个项目均值减去全局均值,获得项目偏爱程度向量其中元素表示第m个项目偏爱程度评分,且m为不大于M的正整数。3.根据权利要求2所述的一种基于用户偏好的矩阵分解推荐方法,其特征在于,所述用户-项目评分矩阵形成的矩阵为稀疏矩阵,采用邻接表的形式进行存储,矩阵中1表示包含该类型,0表示不包含该类型;项目偏好程度向量的计算是:使用不同用户对同一个项目打分的情况,计算出该项目的均值减去全局均值作为其项目该类型的一个偏爱程度,同理求出每个项目偏爱程度,最终形成项目偏爱程度向量。4.根据权利要求2所述的一种基于用户偏好的矩阵分解推荐方法,其特征在于,所述步骤S2依据用户评分数据和项目信息数据,构建项目类型矩阵和用户个性化矩阵具体包括:获取项目信息数据,形成一个M×T项目类型矩阵T;其中元素T(m,t)表示第m个项目是否包含类型t,包含则为1,不包含则为0;获取用户的评分矩阵R和项目信息数据,计算用户对不同类型项目打分的一个...

【专利技术属性】
技术研发人员:刘洪涛毛欧阳郭路路
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1