1 解决的问题及其结论
问题:
① 当显式信息不足时,隐式信息是否可以改进推荐质量?
② 隐式信息能否改进推荐系统的整体性能?
③ 如果有足够的显式信息,使用隐式信息与显式信息相比,那个更好?
结论:
① 使用隐式信息,包括相似用户的信息,可以有效改进推荐系统的推荐质量。此外,其还可以改善推荐系统的性能。
② 一个有趣的发现是,使用不同用户的隐式信息同样可以改善系统,这可以为提取数据对象提供新思路。
③ 在显式信息充足的情况下,显示信息比隐式信息改进推荐系统的能力略强。
2 模型优势
在本论文之前,已有许多研究推荐系统的信息提取与学习方法,其中大多数为显示信息的提取。可是很少有社交网站可以做到提供完整的显示信息体系,所以经常会出现因显式数据不足导致推荐系统推荐质量与性能下降的情况。在近期,不少学者发现可以利用隐式信息对推荐系统训练,但由于研究时间不长,利用隐式信息的方法还尚待完善,且至今还没有使用该方法的具体论据。
隐式信息可理解为不可直接见到的用户评价信息,通常具体表现在与其关系密切与无关的其他用户上,利用他们自身的评级信息和两者间交互信息,可以认为间接的获取其评级信息。具体关系表示可见图1,代表第
个用户,其被蓝圈包裹,表示其显式信息,而紫色圈表示隐式信息,最外层矩形表示整体用户空间。
本论文重点关注社交推荐体统,在总结大多流行的显示与隐式信息提取与训练方法同时,通过全面的实验,论证使用隐式信息改善推荐系统的可行性,并利用数据论证提取隐式信息的相关方法于未来改进推荐系统的重要性。
3 模型实现步骤
3.1 模型建立
3.1.1 整合数据的基本方法
因为信息数据矩阵一般为庞大的稀疏矩阵,所以有必要先整合数据。整合数据流行的方法是矩阵分解,矩阵分解发展成熟,在运算性能和质量都有优势。传统的矩阵分解方法主要是奇异值分解<1>,本文将使用正则奇异值分解获得整合数据,可定义为下式:
其中表示用户是否评价,
和
表示列关系矩阵,
和
表示正则化参数。学习更新
和
的方法如下:
,
其中:,
表示学习率。
本论文基于该矩阵分解方法,整合并求得多种数据集合。
3.1.2 社会正则化模型建立
本文通过社会正则化(SR)方法为社会推荐做准确建模,其可表示为:
公式由矩阵分解公式改进得到,新增部分中表示正则系数,
表示用户外联信息,
表示用户
和
的关系相似度。同样的,学习更新方法如下:
其中为内联信息,更新中加入链式关系用户间信息相关程度的影响,三个字母
的关系为:用户
的相似用户为用户
,而用户
的相似用户为用户
。当学习收敛后,模型整体仍会进入和谐的状态。
3.1.3 隐式用户关系模型建立
隐式用户的关系可理解为该用户与其他用户交互信息时的关系情况,为满足实验需求,本文将计算两者间的相关程度并排序,取前名关系密切和后
名关系不同的用户作为作为最终隐式信息使用。本文采用皮尔逊相关系数(PCC)<2>量化用户间的关系,表达式如下:
其中是用户
的评级集合,
为其评级平均值。利用该式,我们可以将
规范到
间,之后再利用公式
将范围规范到
。将最终结果导入至矩阵分解的式子中求解。
对于不同用户,为了突出于相似用户的不同,我们采取文献[19]<3>的方法扩大不同用户的关系距离。其中主要工作是将取负,并将正则化公式中的
变大。
3.1.4 社交项关系模型建立
本文已经选择采用隐式社交信息作为更新系统的载体,得到的整合信息包括相关用户与不同用户的隐式信息。在处理信息后,自然也可以利用其社交项(这里不明白有什么关联,什么是社交项?)<4>获取更多隐式信息。社交项的相关定义与社会正则化及其相似,只是处理的对象不同。其表达式如下:
学习更新为:
公式参数变为
,变为表示社会项的正则化参数。项
的角标变为
和
,表示的对象关系改为社会项,其余与
的关系类似。(这里针对
的更新公式,论文采用的参数为
,我认为这里有问题,应当使用
并已在论文改正,不知老师怎么看?)<5>
3.1.5 整合模型
综合以上的隐式社交模型和社交项模型,我们可以得到统一的隐式信息的数据整合模型,表达式如下:
学习更新模型整合如下:
至此模型建立完成,利用整合模型和用户关系模型,可以通过整合数据、更新学习两个步骤改进推荐系统。
3.2 模型求解
3.2.1 数据准备
⑴ 隐式信息数据
本文将采用网上开源的两个数据集:① Dataset MovieLens ② Dataset EachMovie。他们是原始就用于推荐系统的测试和训练而建立,②的数据量相对①更大,分别用10维和50维的矩阵表示。具体的信息可见表1和表2。本文随机抽取每个数据集80%数据用于训练,20%用于测试,通过此计算求解查看最终的性能测试结果。
⑵ 显式信息数据
本文将采用豆瓣网数据作为显式数据。其作为中国的社交评论平台,有着较完整的显示信息生态,可以很好地获取显式信息。数据集基本信息如表5和表6。(心得顺序与论文顺序不同)
3.2.2 求解数据介绍
本论文省略了求解步骤,而对最终的数据有详细分析,现做如下数据项解释:
:利用基线用户的平均值代替丢失值。
:利用每一项的基线平均预测值表示丢失值。
: 假设分布为高斯分布,利用之前方法计算的矩阵分解的值。
: SR表示正则值,角标表示不同的类型。其中
表示获取的是隐式信息,
表示获取社会项信息,
表示相似用户的信息,
表示不同用户的信息。选项可以组合使用。
: SR表示正则值,
为选项,例如
表示前十名的用户。
表示信息选项,其中会有
表示显式信息,
表示隐式信息。
为了使最终评估结果更公平直观,本文采用平均绝对误差(MAE)和均方根误差(RMSE)两个估量进行比较,两者定义如下:
,
其中表示评分预测值,
表示评分总项数。有了需要求解的基本数据目标,就可以求解模型得到数据,并进行结果分析。
4 模型结果评估与进一步分析
模型求解根据开始的问题分为两个部分进行试验,一个是当显示信息不足,仅使用隐式信息时,一个是有充足的显示信息时,与隐式信息的性能比较。对于公式参数,设置,
。
4.1 仅使用隐式信息的实验
4.1.1 性能分析
实验结果数据如表3表4所示:
从表中,我们可以看到4个现象:
① 表中方法的误差小于RSVD,比其结果更好,所以可以得出在没有显示信息时,隐式信息确实可以提高推系统的推荐质量。
② 表中方法优于
方法,说明基于社交项的数据比纯隐式数据的改进效果更好。
③ 表中与
方法要分别优于
和
。这说明加入不同用户的信息也能有效的改善推荐系统的推荐质量。
④ 表中方法展现了最佳的性能。总的说明了基于社交信息的改进推荐系统框架的有效性和灵活性。
4.1.2 准确度分析
我们让用户在训练集中评分评估结果误差,图2图3为与rsvd算法比较的结果图:
图(c)是总体评级的分布情况,是训练集对每个用户的评级情况。从由此分布得到的图(a)和(b)看出,整体上SR方法的结果比RSVD方法好,且随着评级样本数的增多,SR方法比RSVD方法好的程度也会越来越大。
4.2 显式信息充足时的实验
显示信息与隐式信息训练后的误差结果如表7:
从表7中可以看出,隐式信息的两种方法(尤其是对比前十名的SR方法结果)都比显式信息得到的结果略差一些,其中分别采用了不同的训练数据比例,分别是40%和60%,我们很想知道为何显式信息有如此可观的训练效果。针对这种情况,本论文提出一个问题:每个用户与其好友用户的相似性如何?是否他们之间有很大不同?针对该问题,我们对三种方法做一致性检验(consistence analysis)。为了检测一致性,我们采用均方根距离(RMSD)方法,其表达式如下:
式子表示用户的均方根距离,其中
表示当前用户的好友列表,
与之前的定义类似。利用该方法得到计算结果如图4:
从图4中可以看到,和
方法的距离及其相似。在一定范围内,
方法比前两者的均方根距离更大。均方根距离在一定程度表示信息的相似度,而
方法明显内容种类比前两者多。所以可以知道,显示信息更加优秀的根本原因是其用户信息多样性大,其可以对推荐系统性能的提高有很大帮助。