基于遗忘曲线的协同过滤研究

2014-07-03 18:59张磊
电脑知识与技术 2014年12期
关键词:遗忘曲线协同过滤推荐系统

张磊

摘要:随着信息技术和互联网技术的发展,推荐系统成为解决信息过载的重要方式。而协同过滤因为其算法简单,又能够处理复杂的问题并产生比较良好的效果而被人们广泛应用,也成为了推荐系统中最成功的技术。然而用户的兴趣是时刻变化的,且对于新用户系统无法预测用户的偏好。因此为了解决这一问题,对艾宾浩斯遗忘曲线和推荐算法进行了研究,发现由于人的兴趣是不断变化的,而这种变化是自然遗忘的过程,也就符合遗忘曲线,所以用遗忘函数模拟人的兴趣变化。由于时间对评分的起着很重要的作用,在使用相似度算法时加入了时间因子,对用户的原始评分进行衰减,以此来反应用户的兴趣变化。 然后为此算法设计了两组实验来验证算法的有效性。通过两组实验的结果证明,总体上来讲,基于遗忘曲线的相似度的计算方法比传统的算法要好一些。

关键词:推荐系统;协同过滤;遗忘曲线;兴趣变化

中图分类号:TP391.4 文献标识码:A 文章编号:1009-3044(2014)12-2757-05

Research on Collaborative Filtering Based on Forgetting Curve

ZHANG Lei

(Dept. of Computer Science and Technology, Anhui University of Science and Technology, Huainan 232001, China)

Abstract:Exploitation With the rapid development of information technology and Internet technology, recommender system has become the important way to solve Information overload. Collaborative filtering because its algorithm is simply, can deal with complex issues and has good effect is widely used by people, also became the most successful recommender system technology. However, the user's interest is always changing, and for new users system cannot predict the user's preference, so to solve this problem, researched on the Ebbinghaus forgetting curve and recommendation algorithm, found that peoples interest are constantly changing, and this kind of change is the process of natural forgetting ,that is to say, it is keeping with the curve, so applied the forgetting function to simulate the change of users interest. Taking into account the time playing an important role to score, when using similarity algorithm introduced time factor in it, made a attenuation for the original score of the users. Then designed two groups of experiments to verify the effectiveness of the algorithm. Through two groups of experimental results demonstrated that, generally speaking, the proposed similarity computing method based on the forgetting curve was better than the traditional algorithm.

Key words:recommender system; collaborative filtering; forgetting curve

在推荐系统中,协同过滤技术作为最成功的技术也同样是最常用的技术,它的基本思想为:根据用户兴趣偏好的相似性来推荐项目,将和目标用户的兴趣偏好相似的其他用户的意见分享给用户。心理学领域中的遗忘曲线描述了大脑保留信息的能力是随着时间而减少的。德国心理学家赫尔曼.艾宾浩斯是第一个用科学实验的方法来研究遗忘曲线的人。

受到艾氏曲线的启发,将这种记忆与遗忘的规律应用到推荐系统中。同记忆一样,用户对于资源的兴趣也是随着时间不断变化的,而这种改变是人的自然遗忘的过程,也就会符合艾氏遗忘曲线的规律,因而用户评分的重要性也会随着时间衰减。

1 艾宾浩斯遗忘曲线描述

德国心理学家赫尔曼.艾宾浩斯是第一个用科学实验的方法来研究遗忘曲线的人,他用自己做关于记忆遗忘的实验,用三个无意义的字母组成比如kaf、wid这样的单词(有意义的或者容易产生联想的单词被排除在外)。他在不同的时段进行了一系列的测试,然后分析所有的实验数据来寻找遗忘曲线的确切形状,后来他发现遗忘具有指数的性质,然后,艾宾浩斯又根据这些实验结果的数据描绘出了一条曲线,这就是非常有名的揭示人类自然遗忘规律的曲线——艾宾浩斯遗忘曲线,在图1中竖轴表示记住的多少,用来表示机械记忆的保持程度,横轴表示时间(天数),曲线表示机械学习实验的结果。endprint

这是一个典型的遗忘曲线图,最开始当你真正的记住了一段信息时记忆保持量是100%,随着时间的推移在最初的几天记忆会急剧下降到40%左右。遗忘曲线是指数的形式。这意味着,在第一天记忆丧失的最多,接下来的时间(可以看到在遗忘曲线右侧)虽然还在忘记但速度已经变的非常非常慢了。

2 遗忘函数

如曲线里所体现出来的,通过学习而获得的记忆,经过一段时间后,一部分被遗忘,而一部分则被保留在了脑海里,那么被记住的这部分记忆,就叫做记忆保持量。后来的学者根据曲线提出了保持量函数[1] :

J(t) = [20?eb(t+t0)c] c>0,b>0,[t0]>0 (1)

其中t为自变量,e为自然对数底,b,c为待定常数,经推算,b=0.42,c=0.0225,[t0]=0.00255比较符合人的遗忘规律。遗忘函数的研究意义在于对模拟人类思维方式和人工智能的领域中进行有意义的探讨。

受到艾氏曲线的启发,将这种记忆与遗忘的规律应用到推荐系统中。同记忆一样,用户对于资源的兴趣也是随着时间不断变化的,而这种改变是人的自然遗忘的过程,也就会符合艾氏遗忘曲线的规律,因而用户评分的重要性也会随着时间衰减。根据公式(1),我们在原始的公式上做了小小的改进以适应推荐系统的特点。然后在实验中使用改进的函数以验证此种改进是否能够提高系统的推荐质量。

改进后的遗忘函数为:

f(t,i) = [eb(t+t0)c] c>0,b>0,[t0]>0 (2)

f(t,i)的含义是,随着时间t的不断变化,对资源的评分i不断衰减。其中b,c为常量,同公式(13)一样,约为b=0.42,c=0.0225,[t0]为时间常量,e为自然对数底。

使用改进后的遗忘函数来改变用户的对资源的评分,实际的评分权值就会随着时间的改变而改变,即模拟了人的遗忘过程,也就是说,一段时间过后,用户对某资源的评分会衰减到一定程度就趋于不变,而此时,该用户的评分就从渐渐遗忘到最后的处于遗忘状态。

基于得到的新的遗忘函数,提出了新的相似度计算的方法。在计算相似度的时候,将时间因子加入进去,也就是遗忘函数,使用的是改进的评分权值来计算。例如,对于资源的评分i,由于时间的推进,[Rui]是通过遗忘函数f(t,i)对用户原始评分[rui]衰减得到的。公式为:

[Rui] = [rui×f(t,i)] (3)

这样一来,每个用户的评分均值均被衰减,这样就可以得到改进后的皮尔森相似度计算公式:

[sjp](u,v) = [i∈PuvRui-Ru(Rvi-Rv)i∈PuvRui-Ru2i∈PuvRvi-Rv2] (4)

改进后的余弦相似度计算公式:

[sjc] (u,v) = [cos( u ,v)] = [ u ?v| u |*| v |] (5)

获得用户之间的相似度之后,就可以对资源的评分进行预测。在第二章中我们已经介绍过预测评分的两种方式:偏移加权平均法和Top-N推荐。在这里将不再赘述。

3 算法流程

首先要建立用户-评分矩阵,利用遗忘函数对用户的初始评分进行衰减,然后计算目标用户与其他用户之间的评分的相似性,根据从高分到低分的顺序,以评分的相似程度排名,选择排在前面的若干用户作为目标用户的最近邻居。最后结合预测评分公式,根据邻居的评分信息计算出目标用户对没有评分项目的评分预测值,然后选择预测值排名靠前的N个项目推荐给用户。

4 实验设计及结果分析

系统本实验采用对比法,通过与其他几种推荐算法的对比,来验证我所提出的改进算法的有效性。

本实验的实验数据是在MovieLens网站收集到了100K的数据集,其中包括1682部电影和943个用户以及这些用户对这些电影所进行的100000条评分数据,用户所打的分又分为1、2、3、4、5这么5个等级,每个用户至少对20部电影评过分。在数据集中,有m个用户U={[u1],[ u2],[ u3],……[um]},n部电影M={[m1],[ m2],[ m3],……[mn]},那么用一个m[×]n的矩阵R就可以表示为用户对电影的评分。[rui]为用户u对电影i的评分,若没有评分,则[rui]=0。

首先评价用户之间的相似度,我们用皮尔森相关、矢量余弦和修正矢量余弦来计算。再用本文提出的改进后的算法来计算用户间的相似度。根据训练集中的数据计算相似度,然后预测用户的评分是根据预测集中的数据。该文做了两种实验,第一种,在计算目标用户的邻居的时候,我选用了Top-N推荐。实验中,为了验证本文提出的算法的可行性和有效性,我们选用了不同数量的邻居数。第二种,逐一更改相似度阈值,每次加0.1的阈值,然后验证预测的精准程度,将阈值从0.1到0.9逐渐递增。

4.1 推荐系统性能评测标准

平均绝对误差(Mean Abslute Error,MAE) 是用来衡量在推荐系统的预测结果的准确度的。通过比较预测的用户评分和实际评分之间的偏差来度量预测的准确性。MAE越小,说明推荐算法的推荐质量越高。设用户的预测评分集合为{[t1],[ t2],……[tn]},对应的实际评分集合为{[p1],[ p2],……[pn]},则MAE为:

MAE = [1ni=1n|ti-pi|] (6)

4.2 实验数据准备与设计

本实验的实验数据是在MovieLens网站收集到的,大小为1000,000的数据集,其中包括943个用户和这些用户对1682部电影所进行的100000条评分数据,用户所打的分分为1、2、3、4、5这样5个等级,而每个用户至少对20部电影评过分。实验选取所收集到的数据集的80%作为训练集(base集),剩下的20%作为预测集(test集)。endprint

4.2.1 数据准备

本次实验的数据集部分截图如下:

其中,用户-评分表包括4个字段,分别是用户ID(user id),项目ID(item id),评分(rating),时间戳(timestamp)。时间是unix系统中UTC时间1970年1月1日开始计算的。

4.2.2 实验设计

本章中一共做了两组实验,第一组实验中,用皮尔森和矢量余弦、修正的矢量余弦相似度计算方法与我们的基于遗忘曲线的相似度计算方法做对比,通过改变邻居数量来验证我们提出的算法的有效性,根据MAE来衡量最后的实验结果;第二组实验中,用皮尔森相似和基于遗忘曲线的相似度计算,通过改变相似度阈值来验证本文提出的算法的有效性。如前所述,通过计算预测的用户评分和实际评分的偏差来衡量预测评分的准确性,MAE值越低,说明推荐质量越好。

1). 实验一:

算法实现:

输入:选择一个训练集[Ubase1],它是一个m[×]n的用户评分矩阵,其中有m个用户U={[u1],[ u2],[ u3],……[um]},n部电影M={[m1],[ m2],[ m3],……[mn]},[ rui]为用户u对电影i的评分。

输出:MAE值

Step1: 利用公式3对原始矩阵的评分[rui]进行衰减(在比对实验中没有此步)。

Step2:分别利用传统公式计算m[×]n矩阵中用户间的相似性,分别得到COS相似度、ACOS相似度和PCC相似度,并获取目标用户[uti]的最近邻居集合。

Step3:利用传统公式对[uti]进行评分预测产生预测集{[t1],[ t2],……[tn]},比对test集中[uti]的评分,计算MAE值。

2) . 实验二:

输入:选择一个训练集[Ubase1],它是一个m[×]n的用户评分矩阵,其中有m个用户U={[u1],[ u2],[ u3],……[um]},n部电影M={[m1],[ m2],[ m3],……[mn]},[ rui]为用户u对电影i的评分。

输出:MAE值

Step1: 利用公式3对原始矩阵的评分[rui]进行衰减(在比对实验中跳过此步)。

Step2:利用传统公式计算用户间的相似性。

Step3:将Step2中的结果与相似度阈值进行比较,将大于这一阈值的放入目标用户[uti]的最近邻居集合。

Step4:利用传统公式对[uti]进行评分预测产生预测集{[t1],[ t2],……[tn]},比对test集中[uti]的评分,计算MAE值。

4.3 实验结果分析

4.3.1 实验一

在这一组实验中,通过修改最近邻居数量进行对比。预测的邻居是从10到100递增,增量为10,结果如图6,传统的皮尔森相似与改进后的相似性算法的实验结果(其中红丝实线为传统算法,蓝色虚线为改进的算法,以下皆同)。从图6可以看出,在邻居数等于30的时候,两算法的MAE值大致相等,但是当邻居数继续增加到100的时候,改进的相似性算法MAE值更小,说明其效果更好一些。

图7是传统的矢量余弦和基于遗忘曲线的矢量余弦相似性算法的实验结果。由图不难看出,伴随着邻居数量的不断递增,改进后的算法MAE值比传统的矢量余弦更小,说明预测是也更接近准确。

由以上三个实验皆验证了本文提出的算法的有效性,在计算用户之间的相似度时,应该考虑要由于自然的遗忘而造成的用户对资源评分的改变,用户兴趣是会随着时间的推移而改变的。通过模拟人的遗忘过程,来使预测的准确性有所提高。

4.3.2 实验二

用皮尔森相似和基于遗忘曲线的相似度计算,通过改变相似度阈值来验证本文提出的算法的有效性。如前所述,计算预测的用户评分和实际评分的偏差来衡量预测评分的准确性,MAE值越低,说明推荐质量越好。阈值范围从0.1到0.9依次递增,增量为0.1,通过设置好的阈值,使用的邻居用户都是相似度大于这一阈值的,然后分别进行实验。结果如图9,由图得知,当阈值大于0.4的时候,传统的皮尔森相关系数的MAE的值要明显高于基于遗忘曲线而改进的算法的MAE的值,而小于0.4时,传统的方法要好一些。也就是说,当阈值大于0.4时,改进的算法预测的更准确一些。

综上所述,通过两组实验的结果来看,总体上来讲,该文提出的基于遗忘曲线的相似度的计算方法比传统的算法要好一些。那么在推荐系统中,结合自然规律,通过运用艾氏遗忘曲线所表述的遗忘的规律,对用户评分进行衰减,可以明显的提高系统预测的准确度。这也表明,在推荐系统中,人的认知规律可以发挥很重要的作用。

5 结论

艾氏曲线告诉人们在记忆中的遗忘有规律可循,其具有指数性质,在记忆的开始阶段遗忘的速度很快,到后来遗忘速度就变得非常慢,到了相当长的时间后几乎就不再遗忘,这就是遗忘的自然规律。根据遗忘曲线本文提出了遗忘函数,将艾氏思想应用到推荐系统中。人的自然认知与记忆符合遗忘规律,在时间的不断推进过程中,用户的偏好也在不断的变化,所以在推荐系统中使用遗忘函数对用户的评分进行时间上的衰减,改变原来的权重,这样更符合自然发展规律。在本文的实验部分,通过用户对电影的评分来体现用户的偏好,分别通过改变邻居数量和相似度阈值来对比本文提出算法的准确性。而评价算法的好坏,该文用的是平均绝对误差MAE来衡量。实验结果证明,基于遗忘曲线的算法在个性化推荐上具有一定的效果,从总体上讲是优于传统的相似度算法的。所以,该文提出的改进后的相似度算法,在一定程度上提高了系统的推荐的性能。这种认知的规律应用的推荐系统中,可以取得不错的效果,这种采用类似人的自然认识规则的方法为今后人们在设计个性化推荐系统时奠定了基础,以便能更有效的提供个性化的推荐服务给系统用户。endprint

参考文献:

[1] 江志恒.论遗忘函数—关于记忆心理学的数学讨论[J].心理动态学,1988(3).

[2] 邢春晓,高凤荣,战思南,等.适应用户兴趣变化的协同过滤推荐算法[J].计算机研究与发展,2007,44(2).

[3] Goldberg D.Nichols D.Oki B M Using collaborative filtering to weave an information tapestry[J].1992(12).

[4] 马宏伟,张光卫,李鹏.协同过滤推荐算法综述[J].微小型计算机系统,2009(7).

[5] 吴婷,熊前兴.基于用户特征和用户兴趣变化的协同过滤推荐[J].电脑知识与技术,2008,7(14).

[6] 高建煌.个性化推荐系统技术与应用[D].合肥:中国科学技术大学,2010.

[7] 乐国安.心理学教授谈记忆魔法—艾宾浩斯遗忘曲线[EB/OL].http://edu.sina.com.cn/l/2002-11-21/34414.html.

[8] Ahn H J.A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem[J].Information Sciences,2008,178:37-51.

[9] Balabanovic M,Shoham Y..Fab: content-based, collaborative recommendation[J].Communications of the ACM, 1997,40(3): 66-72.

[10] Lam X N,Vu T.Addressing Cold-Start Problem in Recommendation Systems[C].Proceedings of the 2nd International Conference on Ubiquitous Information Management and Communication(ICUIMC08), NewYork, USA, 2008: 208-211.

[11] Chu W,Park S T.Personalized recommendation on dynamic contents using probabilistic bilinear models[C].Proceedings of the 18th international conference on World wide web,2009: 691-700.

[12] Park S T, Pennock D M.Na?ve filterbots for robust cold-start recommendations[C].KDD,2006:699-705.

[13] Basilico J,Hofmann T.A joint framework for collaborative and content filtering[C].ACM SIGIR04,2004:550-551.endprint

参考文献:

[1] 江志恒.论遗忘函数—关于记忆心理学的数学讨论[J].心理动态学,1988(3).

[2] 邢春晓,高凤荣,战思南,等.适应用户兴趣变化的协同过滤推荐算法[J].计算机研究与发展,2007,44(2).

[3] Goldberg D.Nichols D.Oki B M Using collaborative filtering to weave an information tapestry[J].1992(12).

[4] 马宏伟,张光卫,李鹏.协同过滤推荐算法综述[J].微小型计算机系统,2009(7).

[5] 吴婷,熊前兴.基于用户特征和用户兴趣变化的协同过滤推荐[J].电脑知识与技术,2008,7(14).

[6] 高建煌.个性化推荐系统技术与应用[D].合肥:中国科学技术大学,2010.

[7] 乐国安.心理学教授谈记忆魔法—艾宾浩斯遗忘曲线[EB/OL].http://edu.sina.com.cn/l/2002-11-21/34414.html.

[8] Ahn H J.A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem[J].Information Sciences,2008,178:37-51.

[9] Balabanovic M,Shoham Y..Fab: content-based, collaborative recommendation[J].Communications of the ACM, 1997,40(3): 66-72.

[10] Lam X N,Vu T.Addressing Cold-Start Problem in Recommendation Systems[C].Proceedings of the 2nd International Conference on Ubiquitous Information Management and Communication(ICUIMC08), NewYork, USA, 2008: 208-211.

[11] Chu W,Park S T.Personalized recommendation on dynamic contents using probabilistic bilinear models[C].Proceedings of the 18th international conference on World wide web,2009: 691-700.

[12] Park S T, Pennock D M.Na?ve filterbots for robust cold-start recommendations[C].KDD,2006:699-705.

[13] Basilico J,Hofmann T.A joint framework for collaborative and content filtering[C].ACM SIGIR04,2004:550-551.endprint

参考文献:

[1] 江志恒.论遗忘函数—关于记忆心理学的数学讨论[J].心理动态学,1988(3).

[2] 邢春晓,高凤荣,战思南,等.适应用户兴趣变化的协同过滤推荐算法[J].计算机研究与发展,2007,44(2).

[3] Goldberg D.Nichols D.Oki B M Using collaborative filtering to weave an information tapestry[J].1992(12).

[4] 马宏伟,张光卫,李鹏.协同过滤推荐算法综述[J].微小型计算机系统,2009(7).

[5] 吴婷,熊前兴.基于用户特征和用户兴趣变化的协同过滤推荐[J].电脑知识与技术,2008,7(14).

[6] 高建煌.个性化推荐系统技术与应用[D].合肥:中国科学技术大学,2010.

[7] 乐国安.心理学教授谈记忆魔法—艾宾浩斯遗忘曲线[EB/OL].http://edu.sina.com.cn/l/2002-11-21/34414.html.

[8] Ahn H J.A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem[J].Information Sciences,2008,178:37-51.

[9] Balabanovic M,Shoham Y..Fab: content-based, collaborative recommendation[J].Communications of the ACM, 1997,40(3): 66-72.

[10] Lam X N,Vu T.Addressing Cold-Start Problem in Recommendation Systems[C].Proceedings of the 2nd International Conference on Ubiquitous Information Management and Communication(ICUIMC08), NewYork, USA, 2008: 208-211.

[11] Chu W,Park S T.Personalized recommendation on dynamic contents using probabilistic bilinear models[C].Proceedings of the 18th international conference on World wide web,2009: 691-700.

[12] Park S T, Pennock D M.Na?ve filterbots for robust cold-start recommendations[C].KDD,2006:699-705.

[13] Basilico J,Hofmann T.A joint framework for collaborative and content filtering[C].ACM SIGIR04,2004:550-551.endprint

猜你喜欢
遗忘曲线协同过滤推荐系统
中学课堂启发式教学之思考
基于用户偏好的信任网络随机游走推荐模型
遗忘曲线在高职英语词汇教学中的应用