一种优化组合相似度的协同过滤推荐算法

陈曦, 成韵姿. 一种优化组合相似度的协同过滤推荐算法[J]. 计算机工程与科学, 2017, 39(1):180-187.

(1)建立用户一项目评分时间矩阵,根据用户对共同评分项目的评分时间先后顺序,计算用户之问的影响力;
构建用户一项目评分矩阵R和用户一项目评分时间矩阵Rtime。
时序行为影响力的公式:
《一种优化组合相似度的协同过滤推荐算法》
对于用户i与用户J共同消费过的商品,Wij表示用户i比用户j先消费的商品数,unionij为用户i和用户J所消费商品的并集。
根据计算出的影响力大小,可以找出影响力最大的k个邻居用户。

(2)根据用户对共同评分项目的评分差异,计算评分差异的加权信息熵;
信息越集中,信息熵就越小;信息越分散,信息熵就越大。衡量用户之间对共同评分项目评分差异的分散程度,两个用户评分差异的熵越小,表明这两个用户的差异程度越小,则相似性程度越高。
基于加权信息熵的相似度计算公式如式(2)所示:
《一种优化组合相似度的协同过滤推荐算法》
p(dk)表示在用户评分差异向量D中元素dk的概率。用户评分差dk越大,表示用户差异性越高,因此引入权重ldk|;另外,n为两用户共同评分项目的个数,n越大表示用户的相似性越高,对应的评分差异熵越小,因此引入象征两用户共同评分项目个数的权重1/n。
需要归一化:
《一种优化组合相似度的协同过滤推荐算法》
其中,Max(H(i,:))表示向量H(i,:)中元素的最大值,Min(H(i,:))表示向量H(i,:)中元素的最小值,entropy(i,j)表示归一化后的用户相似度,取值为[0,1],其值越大,表示用户之间的相似性越高。

(3)将时序行为影响力融入到基于加权信息熵的相似度中,其中融合参数口由随机粒子羣优化算法选择。
改进后的相似度如公式(4)所示:
《一种优化组合相似度的协同过滤推荐算法》
参数α如何选择势必会对推荐质量产生影响,所以需要通过实验寻找参数α的最优解。本文引入随机粒子羣优化算法寻找最优的融合参数α值。(随机粒子羣优化算法:http://www.cnblogs.com/LonelyEnvoy/p/5981449.html

点赞