一种改进的协同过滤推荐算法(2)
发布时间:2021-06-10
发布时间:2021-06-10
产生一个以相似度sim(越,口)递减排列的“邻居”集合N:={N。,N2,…,Ni},“∈M。该过程分两步完成:首先计算用户之间的相似度,可采用皮尔森相关系数、余弦相似性和修正的余弦相似性等度量方法[1|,本文采用皮尔森相关系数(式1),其次是根据如下方法选择“最近邻居”;(1)选择相似度大于设定阈值的用户;(2)选择相似度最大的前k个用户;(3)选择相似度大于预定阈值的壶个用户,本文采用第(2)种方法。
∑(^.f一^)(“,f一“)
8im瓴用户7麦嚣i艿芎专手孑
n’
’V
1∈f泖
1∈J即
式中,sim(u,口)表示目标用户乱与用户口的相似度,^,,表示
用户U对项目i的评分,‰表示用户口对项目i的评分,元和
瓦分别表示用户U和用户"/3对项目的平均评分,k表示用户“和用户口共同评价过的项目集合。
③产生推荐项目:设目标用户U已评价项目集合为I。,则目标用户U对任意项目i的预测评分P“可通过邻居用户口对项目i(iCL)的评分得到,计算方法如下:
Pu.i
Z+竺Li磊五r
∑sire(U,口)*(^.,一h)
(2)
诟K
通过上述方法预测出目标用户对未评价项目的评分,然后选择预测评分最高的TOP-N项推荐给目标用户。
3改进算法
3.1时间效应
传统协同过滤算法在寻找用户的最近邻居时,将用户不同时间的项目评分同等对待,没有考虑用户对各个项目的评分不是在同一时间段进行的实际情况。一般来说,用户近期访问过的项目对推荐该用户未来可能感兴趣的项目起比较重要的作用,而早期的访问记录对生成推荐结果影响相对较小,这是因为用户的兴趣偏好随时间发生改变,而在较短的一段时间间隔内用户的兴趣相对稳定。因此一个用户感兴趣的项目最可能和他近期访问过的项目相似。也就是说,虽然所有评价都对推荐结果有影响,但最新评价贡献更大,旧数据反映用户以前的喜好,它在推荐的预测上应占较小的权值。
心理学家对遗忘现象的研究表明:人类的遗忘过程是逐步的、非线性的[11]。借鉴人类的遗忘规律,本文引入非线性逐步遗忘策略一遗忘函数。按时间t对项目评分进行衰减,改变不同时间内评分对推荐结果的贡献。
遗忘函数h(u,f)用来描述用户U随时间的遗忘过程。h(“,f)是一个单调递减函数,以反映用户U近期访问过的项目的重要性,其函数值在(o,1]范围内。目前用于描述人类遗忘过程的遗忘函数主要有线性衰减函数‘41和指数函数[3|。
如图1所示,一般指数函数衰减速度过快,函数值迅速趋于0,而线性衰减函数衰减速度太慢。基于上述分析,论文定义遗忘函数为:
.Il(“,f)=eEab一(f+n)6]
(3)
n,b为常数。设五.,表示用户U访问项目i的时间与该用户最晚访问项目的时间间隔,T为一时间间隔基本单位,f=
[争]。
万方数据
图l不同函数衰减速度比较
3.2用户偏好度
传统的协同过滤算法仅考虑了用户或者项目单方面的相似性,忽视了用户和项目两者间的联系。本文引入用户U对项目i的黏度函数Y(“,i)来表示用户U对项目i的偏好度。
设用户甜已访问过的项目集合为L,对于项目i∈L,如果i和L中项目相似度较高,说明项目i和用户“的当前兴趣较相近,则在未来一段时间内,用户U感兴趣的项目很可能也和项目i相似,即项目i对生成用户“的推荐起比较重要的作用。基于此我们定义黏度函数y(u,i)来衡量项目i和用户U当前兴趣的相关程度,它用i和f。的平均总体相似度sim
(i,Iu)来表示,而i和J。平均总体相似度可以通过计算i和f。中每个项目的平均相似度获得:
y(“,i)=sim(i,L)一=兰Tr广
∑sim(i,J)
tC--,
(4)
l』“|
式中,ILI表示L中的项目数。为计算y(u,i),需要计算i和,。中每个项目的相似度,若集合L中项目数为玎,则计算y(u,i)的时间复杂度为0(行2),一个用户访问过的项目数通常比较小,因此不会对算法的实时性有太大影响。3.3用户特征向量
不同特征的人拥有的兴趣爱好可能不同,而同一类别的人兴趣爱好则具有一定的相似性。所以,在寻找目标用户的最近邻居时,用户特征也是一个不容忽视的因素。通过构建用户特征向量,有助于寻找与目标用户更相似的邻居。
年龄层次不同的人,因为其阅历不同,对生活的领悟程度也不同,所以喜欢的物体层次、类别会有些差异。女性多喜欢情感剧,而男性多喜欢警匪片,说明性别差异也会对用户的兴趣取向产生影响。此外,具有相同职业的人对事物更可能有相同的理解角度,往往会喜欢同一类型的东西。因此本文选择年龄、职业和性别3个因素作为表征用户特征的特征因素。
将职业空间中所有职业按其类别描述成一棵倒立的树,称为职业树[1],如图2所示。
图2职业树
职业树的总层数称为职业树高度,记为H。。职业a,b在职业树中最近的共同父类称为口,b的最近父类,其位于职业
树上的层次称为其高度,记为总加当n,b的最近父类为职业
树的根节点时,Ho.一=0。设用户U职业为口,用户u职业为b,定义用户“,到在特征向量空间职业维的相似性()(“,口)为
227
下一篇:浅谈模板工程的质量控制