一种基于WUDiff和RMF的混合协同推荐算法的制作方法

文档序号:14873101发布日期:2018-07-07 02:13阅读:310来源:国知局

本发明涉及一种信息推荐算法,具体涉及一种基于wudiff和rmf混合协同推荐算法。



背景技术:

近年来,伴随互联网和大数据的高速发展,日益激增的网络信息,让人们遭遇了“信息过载”的困境。为了解决该问题,推荐系统应运而生,它主动地收集用户的各种信息数据(用户注册信息、用户浏览日志、历史评分记录和项目信息等),从中挖掘用户隐藏的兴趣和行为模式,根据分析结果和项目信息的变化,调整推荐内容和服务方式,为用户实现个性化的推荐服务,例如last.fm的音乐评分推荐系统,亚马逊(amazon)和京东(jd)的商品推荐系统及netfilix电影网站的视频推荐等,越来越多的网站为用户提供了相关内容的推荐服务。

现有的推荐算法主要分类为:基于内容的推荐算法、协同过滤推荐算法和混合的推荐算法。其中,协同过滤推荐算法(cf)是运用最为广泛的一种,其主要思想是根据用户与项目之间交互的信息来分析用户行为和爱好,它主要分为两种:基于最近邻的推荐算法和基于模型的推荐算法。常见的基于最近邻的推荐算法有基于用户近邻和基于项目近邻两种,主要是通过寻找与目标用户(或项目)相似的用户(或项目)集合,形成系统对该目标用户(或项目)的喜好程度预测,同时随着大量的新用户和新项目的快速增加,将加重数据稀疏、冷启动等问题,该算法的推荐质量和效率都将下降。基于模型的推荐算法是通过降低维数来有效保存信息内容,从而降低了计算的复杂度,但会忽略了局部的近邻信息,当数据稀疏时,推荐效果也会大受影响

随着web2.0网络技术的发展,社会化标签作为web2.0的重要技术,它允许用户根据自己的需要和理解自由地对自己或其他用户上传的资源进行标签标注,同时多个用户对相同项目或同类项目进行标注,容易形成一些“热门标签”被大部分用户使用。标签作为用户和资源之间的重要桥梁,它不仅能反映出用户的兴趣偏好,同时也能体现出资源的主题信息。因此,利用标签信息来辅助个性化推荐成为了研究热点。目前,基于标签的协同推荐方法主要是将标签信息与基于近邻或基于模型的方法相结合。

中国专利“cn102508870b一种结合评分数据与标签数据的个性化推荐方法”首先根据用户对项目的评分数据和项目被标记的标签数据来生成用户对标签的评分,然后通过结合评分数据和标签数据来计算用户间的相似度,生成近邻用户集,最后根据近邻用户集的评分来预测目标用户对项目的未知评分,从而实现个性化推荐。wang等人在tagsmeetratings:improvingcollaborativefilteringwithtag-basedneighborhoodmethod[c].proceedingsoftheworkshoponsocialrecommendersystems.2010:15-23提出利用标签数据产生潜在主题来改进基于近邻推荐方法。gedikli等人在improvingrecommendationaccuracybasedonitem-specifictagpreferences[j].acmtransactionsonintelligentsystemsandtechnology(tist),2013,4(1):11提出通过项目的标签信息来改进基于项目的近邻方法。

同时,以图论为基础,将用户、项目和标签看作是三部图上的节点,利用网络节点之间的关系进行推荐。中国专利“cn102376063b一种基于社会化标签的个性化推荐系统优化方法”提出了采用标签相似度和评分相似度来计算面向用户和项目的k近邻模型,从而提高预测评分。zhang等人在personalizedrecommendationviaintegrateddiffusiononuser-item-tagtripartitegraphs[j].physicaa:statisticalmechanicsanditsapplications,2010,389(1):179-186提出了基于标签的物质扩散方法(odiff),将用户-项目-标签三部图分解为“用户-项目”二部图和“项目-标签”二部图,再利用物质扩散原理进行项目之间的相似性计算。shang等人在collaborativefilteringwithdiffusion-basedsimilarityontripartitegraphs[j].physicaa:statisticalmechanicsanditsapplications,2010,389(6):1259-1264中将三部图分解为“用户-项目”二部图和“用户-标签”二部图,利用物质扩散的方法来计算用户的相似性(udiff)。gan[8]等人trinity:walkingonauser-object-tagheterogeneousnetworkforpersonalizedrecommendations[j].journalofcomputerscienceandtechnology,2016,31(3):577-594提出了trinity模型,构造了一个对象-用户-标签的三层网络,考虑不同类型节点之间的互连同时也考虑相同类型节点之间的关系,基于这种异构网络,采用随机游走与重启模型来分配候选对象的关联强度,从而提高推荐的准确度。

除了将标签信息与基于近邻相结合,当前常用的还有与基于模型相结合的方法,特别是矩阵分解技术(正则化矩阵分解(rmf),概率矩阵分解(pmf)和非负矩阵分解(nmf))。基于矩阵分解的推荐算法能以全局视角处理数据,善于发现原始数据中的主要结构模式,即使面对于新用户或新项目,都能找出其相似度,但容易忽视局部信息,例如近邻集合对用户或项目的关联影响。然而,当面对拥有丰富历史记录的用户时,通过结合近邻用户或项目的集合信息进行推荐,将有效提高预测的准确度。因此,zhou等人在tagrec:leveragingtaggingwisdomforrecommendation.computationalscienceandengineering[c],internationalconferenceon.ieee,2009,4:194-199提出了基于概率矩阵分解的tagrec模型,通过利用用户标签信息和评分信息来优化推荐效果。wu等人在leveragingtaggingforneighborhood-aware_probabilisticmatrixfactorization[c].proceedingsofthe21stacminternationalconferenceoninformationandknowledgemanagement.acm,2012:1854-1858搭建了两阶段的推荐框架nhpmf,利用标签信息为用户或项目挑选近邻集合,然后将该近邻关系融入到pmf模型中。此外,从特征的角度出发,zhang等人在arefeaturesequallyrepresentativeafeature-centricrecommendation[c].twenty-ninthaaaiconferenceonartificialintelligence.2015中将标签作为项目的特征并提出了以特征为中心的推荐方法,通过利用用户特征偏好来改善项目的推荐效果。从标签的语义角度考虑,chen等人capturingsemanticcorrelationforitemrecommendationintaggingsystems[c].thirtiethaaaiconferenceonartificialintelligence.2016提出了trcf模型,利用lda从标签中获取用户和项目的语义信息,然后通过用户和项目之间的语义关系来提高推荐性能。

随着大量的新用户和新项目的快速增加,将加重数据稀疏、冷启动等问题,仅仅利用最近邻的相似性度量,特别是缺失大量共现评分或共现标签时,基于近邻的推荐算法的推荐质量和效率都将下降,而基于正则化矩阵分解的方法虽然具有简单迭代、快速收敛、存储容量小等优点,但其缺点是对于用户-项目矩阵的过于依赖,忽视了近邻之间的影响,尤其随着用户和资源数量大规模增加,维数灾难所带来的各种问题将无法避免。虽然当前的方法可以通过利用标签信息在一定程度上改善了推荐质量,但在近邻信息和矩阵分解相结合的模型中,没有同时考虑通过用户-标签-项目之间的两两关系来寻找近邻用户,并利用该种近邻信息来改善rmf模型,以改进传统方法的不足。



技术实现要素:

针对以上问题,本发明提出一种基于wudiff和rmf混合协同推荐算法,本发明利用隐藏在三部图中的信息,增加了对用户和项目、用户和标签之间度关系的考虑,挖掘用户之间更深层的潜在信息,特别是隐性相似用户的关联信息,寻找与目标用户相似的近邻集合;然后用近邻信息来规则化rmf模型,从而提高推荐的准确率和有效地解决评分矩阵稀疏问题。

基于wudiff和rmf混合协同推荐算法其特征在于利用wudiff算法将用户、项目和标签抽象成三部图中的节点,利用隐藏在带权重的三部图中的信息,挖掘网络中基于评分和标签的深层潜在相似用户的关联,寻找与目标用户相似的近邻集合,其次,利用rmf模型将用户-项目评分矩阵分解成为用户特征矩阵和项目特征矩阵,通过降维提高了数据密度,最后利用wudiff算法所获得的用户的近邻信息来规则化rmf模型。

进一步说,所述的wudiff算法中的“用户-项目-标签”可以采用图论中的三部图(tripartitegraph)来表示,可以用g=(v,e)表示,其中节点v可以划分成互不相交的三个非空子集(u,i,t)分别表示用户、项目和标签集合,满足v=u∪i∪t,且

进一步说,所述的通过wudiff方法获得用户u的top-k个近邻用户集合s(u),公式如下:

用户集合为u,项目集合为i,k为近邻用户集合s(u)中用户数,uk为第k个相似用户,为用户u与近邻用户uk之间的相似度。

进一步说,引入公式f(x)=x/rmax对原始分数rui进行转换,应用于不同的数据集的评分范围,其中rmax为该数据集评分最大值。

进一步说,为了保证pu和qi之间的点乘积在[0,1]之间,采用logistic函数g(x)=1/(1+exp(-x))进行转换,引用以下目标函数最小化来得到模型的参数:

其中pu为用户特征矩阵的元素,它代表着用户u的f维特征向量;qi为项目特征矩阵的元素,它代表着项目i的f维特征向量,λu,λi是一个防止过拟合的参数。

进一步说,采用基于梯度下降法对的pu、qi求导,最小化上式,

获取最优参数,对pu、qi进行迭代更新,更新规则分别为

其中logistic函数的导数为g′(x)=exp(-x)/(1+exp(-x))2,γ1、γ2为学习率,与实际应用的数据集相关。

本发明中的wudiff算法能够利用隐藏在带权重的三部图中的信息,挖掘出网络中基于评分和标签的深层潜在相似用户的关联,得到与目标用户相似的近邻集合信息,弥补了降维带来信息损失的影响。无论在用户评分量和标签量少的情况或评分量和标签量多的情况下,wudiff_rmf算法均能有效地提高推荐的效果。该方法既能以全局视角处理数据,善于发现原始数据中的主要结构模式,具有简单迭代、快速收敛等优点,同时以三部图的视角理解数据,利用物质扩散的方法寻找用户、项目和标签之间的两两关系,弥补了降维带来信息损失的影响,以改进传统方法的不足,有效提高了预测的准确度及缓解数据稀疏性的问题。

附图说明

图1为三部图的资源分配过程;

图2为不同数据集的测试集用户组分布情况;

图3为不同用户组的评分预测(二维曲线图);

图4为不同用户组的评分预测(三维柱状图)。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。

本发明利用wudiff算法增加了对用户和项目、用户和标签之间度关系的考虑,寻找与目标用户相似的近邻集合;然后用近邻信息来规则化rmf模型,从而提高推荐的准确率和有效地解决评分矩阵稀疏问题。如图1所示为用户、项目、标签三部图的资源分配过程,基于wudiff的推荐算法运行步骤为:

步骤a.建立三部图,具体的资源-分配过程为目标用户u将其资源值的能量平均分配到所评分或购买过的项目中,同时也将能量平均分配到其使用过的标签上。如果推荐系统包含m个用户和n个项目,那么“用户-项目”二部图有m+n个节点,二部图边的权重为用户对项目的评分,同样如果包含r个标签,那么“用户-标签”二部图有m+r个节点。

步骤b.用户u1对项目i1和i3进行了评分,对项目i2没有评分,则αu1i1=1,αu1i2=0及αu1i3=1。那么对应的邻接矩阵a如下:

同理,其对应的“用户-标签”邻接矩阵a′如下:

步骤c.具体的资源-分配过程为目标用户u将其资源值的能量平均分配到所评分或购买过的项目中,同时也将能量平均分配到其使用过的标签上;然后资源从项目和标签再流回到目标用户u,设“用户-项目”二部图所得到的资源分配矩阵为s,用户u到用户v的资源分配权重suv可以表示为:

其中k(u)为用户u在“用户-项目”二部图中的度。在“用户-标签”二部图中也有对应的资源分配矩阵为s′,用户u到用户v的资源分配权重s′uv可以表示为:

其中k′(u)为用户u在“用户-标签”二部图中的度。

步骤d.整个分配过程是通过集合之间的共同连接关系所实现的资源再分配,包含了整个网络的拓扑结构信息。由于不同用户具有不同的评分标准,为了减少不同评分标准造成的偏差,对用户评分进行z-score归一化处理。设“用户-项目”二部图所得到的带权重的资源分配矩阵为ws,用户u到用户v的资源分配权重wsuv可以表示为公式:

其中k(v)表示用户v的度;k(i)表示项目i的度。rui为用户u对项目i的评分,h(rui)对用户u评分进行z-score归一化处理。此外,标签可用来描述用户的特征,同时相似用户具有相似的标签标注行为,

因此采用了okapibm25算法来计算用户u对标签t的权重。

其中m为用户总数,nu(t)为使用了标签t的用户数,tf(u,t)为用户u使用标签t的次数,为用户u使用所有标签的总次数,avg(u)所有用户使用标签的平均次数,参数b和k1为常数,分别取经验值0.75和2。

因此“用户-项目”二部图所得到的带权重的资源分配矩阵为ws′,用户u到用户v的资源分配权重ws′uv可以表示为公式:

步骤e.将从项目和标签中扩散回来的能量进行线性整合作为最后的资源分配矩阵代表用户v从目标用户u所能获得的能量,体现了用户间的相似度。

当λ=0或者λ=1时,该算法将退化到纯粹的基于用户-标签或用户-项目的二部图算法。

将从“用户-项目-标签”三部图中得到的近邻用户信息来改进rmf模型,以下为基于wudiff和rmf混合协同推荐算法的具体步骤方法。

wudiff方法同时利用评分和标签来获取近邻信息,因此能通过三部图中度的关联性来捕捉隐性的相似用户信息。设用户集合为u,项目集合为i,s(u)是通过wudiff方法获得用户u的top-k个近邻用户集合,表示如下:

其中k为近邻用户集合s(u)中用户数,uk为第k个相似用户,为用户u与近邻用户uk之间的相似度。wudiff_rmf模型将近邻用户的信息设计成正则化因子的形式来约束正则化矩阵分解的目标函数,并且认为目标用户与其对应的近邻用户之间具有一定的相似性,而正则化因子可以间接整合这种相似度的传递并减少二者在特征向量上的距离。

此外,由于数据集的评分范围是不同的,例如电影的评分是0到5之间,而有些数据集采用的是二进制评分。因此,为了让参数学习更方便,利用公式f(x)=x/rmax对原始分数rui进行转换,其中rmax为该数据集评分最大值,例如电影评分中rmax=5,[0,5]之间评分将转换到[0,1]之间。同时,为了保证pu和qi之间的点乘积在[0,1]之间,采用logistic函数g(x)=1/(1+exp(-x))进行转换,因此,通过对下面的目标函数最小化来得到模型的参数:

其中pu为用户特征矩阵的元素,它代表着用户u的f维特征向量;qi为项目特征矩阵的元素,它代表着项目i的f维特征向量。λu,λi是一个防止过拟合的参数,可以通过交叉验证选取并且采用随机梯度下降法来优化这个损失函数,参数α决定了在rmf模型中融合近邻用户信息的程度,s(u)是用户u的近邻用户集,为用户u与近邻用户v之间的相似度。

然后为了最小化上式,采用基于梯度下降法对公式10的pu、qi求导,获取最优参数,对pu、qi进行迭代更新,更新规则分别为:

其中logistic函数的导数为g′(x)=exp(-x)/(1+exp(-x))2,γ1、γ2为学习率,与实际应用的数据集相关。

综上,wudiff_rmf算法如下:

实验验证:

1、实验环境

运行环境:4核,intelcore3.2ghz处理器,4g内存,windows系统

2、数据集的选择

为验证所提出算法的有效性,及考虑与其它算法的公平比较,选择了四个现实生活的数据集delicious,last.fm,dblp和movielens。

(1)delicious数据集:delicious是目前网络上最大的书签类站点可帮助用户共享他们喜欢网站链接的流行网站,本实验采用hetrec2011-delicious-2k数据集,来自第二届推荐系统中信息的异构性与融合国际研讨会发布的版本。其中包含1867个用户,69,226个urls和53,388个标签。

(2)last.fm数据集:last.fm是全球最大的社会音乐平台,提供网络电台与音乐社群功能,本实验采用hetrec2011-last.fm-2k数据集,来自第二届推荐系统中信息的异构性与融合国际研讨会发布的版本。其中包含1892个用户,17,632首歌曲和11,946个标签。

(3)dblp数据集:dblp收录了计算机领域内的英文文献,本文采用版本包含了6815个用户,78,475篇论文及81,858标签。

(4)movielens数据集:该数据集共有1857位用户对4721部电影的评分数据(评分值为0.5-5的整数),及标签8288个。该数据集也是来自第二届推荐系统中信息的异构性与融合国际研讨会(hetrec2011)发布的版本。

本发明采用10折交叉验证方案,将所有数据集随机划分为10个不相交子数据集。为了评估稀疏数据对算法的影响,我们使用90%的数据做训练集,剩余10%的数据做测试集,从10个子数据集中随机抽取1个作为测试集,其余9个子数据集作为训练集。被测试算法在每组中重复执行10次,以10次测试结果的均值作为实验的整体结果。

3、方法选择

选择了基于模型的(model-based)方法

(1)规范化矩阵分解rmf:规范化矩阵分解把用户-项目评分矩阵分解为两个矩阵p和q乘积的形式。

(2)概率矩阵分解pmf(probabilisticmatrixfactorization):在rmf基础上增加了概率分布,假设用户和项目的隐性特征向量服从高斯先验分布。

(3)ctr(collaborativetopicregression):将概率矩阵分解和潜在狄利克雷划分(lda)以紧耦合方式融合一起,即将基于内容的推荐和协同过滤相结合。

(4)因子分解机fm(factorizationmachine):它结合了特征工程的灵活性和分解模型的优越性。

(5)回归潜在因子模型rlfm(regressionlatentfactormodel):它是一种通过结合过去的行为记录、用户特征和项目特征的回归潜在因子模型。

(6)基于相似度的方法sim(similaritybasedmethod):它通过采用svm回归进行推荐,主要是结合了项目上下文中包含的标签偏好信息。

(7)特征为中心的推荐模型fcr-r(feature-centricrecommendation)(7):它将项目评分转化为特征评分,并通过svr模型学习特征的全局权重。

4、准确性比较

为了衡量wudiff_rmf模型在项目预测方面的有效性,需要统计项目评分预测的偏差。本文采用平均绝对误差(mae)和均方根误差(rmse)作为评价标准。

5、性能

为了验证本文算法的准确度,分别在4个数据集上,将wudiff_rmf模型与7种常用推荐算法进行性能比较,主要是2个方面:(1)准确率,(2)不同用户组的评分预测效果。该7种算法分别为rmf、pmf、ctr、fm、rlfm、sim和fcr-r。在delicious、last.fm和movielens数据集中近邻值取40,dblp数据集的近邻值取30,此外特征向量数f取20,独立地重复10次计算,这10次计算的平均值作为最后mae和rmse的实验结果,如表1所示:

表1wudiff_rmf与其它算法的结果对比

表1为wudiff_rmf方法与已有的7种推荐方法在delicious、last.fm、dblp和movielens四个数据集上的准确性比较。表1显示了在四个数据集的实验测试中,无论是mae还rmse,wudiff_rmf算法要比其它7种算法具有更高的预测准确度。例如,在delicious数据集中,wudiff_rmf算法相对于rmf、pmf、ctr、fm、rlfm、sim和fcr-r算法在mae值上分别提高了21.6%,81.7%,80.1%,49%,62.7%,61.7%和2.04%,同时在rmse值上分别提高了52.4%,80.1%,77.4%,50%,57.6%,55.6%和18.43%

*significanceat95%.

表2t-test检验

为了验证实验结果的统计显著性,将wudiff_rmf模型、结合用户-项目二部图的rmf模型和结合用户-标签二部图的rmf模型进行比较,在显著性水平0.05上对交叉验证的10次结果进行了t检验(t-test),结果如表2所示。

从2个表显示的结果发现,(1)我们的方法要比仅考虑评分数据的rmf和pmf算法更准确;(2)与仅使用标签信息的ctr,fm,rlfm和sim算法,及以标签特征为中心的fcr-r算法相比,wudiff_rmf具有更高的预测准确性。因此,本专利提出的基于wudiff和rmf混合协同推荐方法(wudiff_rmf)的预测准确性要高于其它7种算法,这说明通过引入从wudiff中获取的近邻用户信息来优化rmf模型,有助于提高推荐算法的准确性及缓解数据稀疏性问题。

为了深入分析方法性能,将wudiff_rmf和rmf算法在不同评分数量和标签数量的用户组上进行预测测试。根据用户在训练集中评分的数量和标签使用的数量进行划分,在movielens数据集,用户可以分为13类:(5,10),(10,10),(10,20),(15,20),(15,30),(20,20),(20,30),(25,30),(30,30),(30,40),(35,40),(50,50)和(>=65,>=100).(5,10)代表评分数量在0到5次之间及标签使用数量在0到10个之间的用户组。delicious,last.fm和dblp数据集的用户组数分别为48、55和46。4个数据集的测试集用户组分布情况如图2所示。

在delicious,last.fm,dblp和movielens数据集上对不同用户组进行预测准确度的测试,为了让测试更为直观,采用不含任何近邻信息的rmf模型作为对比方法,为了更清晰显示结果,采用了二维曲线图和三维柱状图来显示,如图3和图4所示。从图可以看到,虽然使用不同数据集进行测试,但在所有用户组的测试中,wudiff_rmf算法所得到的rmse值都要比rmf算法的值低。即使在用户评分数和标签数较少的情况下(评分数量少于5或标签数量少于10的用户组),训练集为90%,特征量f为20时,wudiff_rmf算法在4个数据集上的预测准确度比rmf算法分别提高了49.1%,45.6%,62.6%和51.8%。

通过实验分析,基于wudiff和rmf的混合协同推荐算法wudiff_rmf,在不同数据集的测试下,预测准确性均高于其余7种方法。无论在用户评分量和标签量少的情况或评分量和标签量多的情况下,wudiff_rmf算法均能有效地提高推荐的效果。该方法既能以全局视角处理数据,善于发现原始数据中的主要结构模式,具有简单迭代、快速收敛等优点,同时以三部图的视角理解数据,利用物质扩散的方法寻找用户、项目和标签之间的两两关系,弥补了降维带来信息损失的影响,以改进传统方法的不足,有效提高了预测的准确度及缓解数据稀疏性的问题。

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