基于非对称属性的SVD推荐算法的研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:changaty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文在传统的基于奇异值矩阵分解模型(SVD)的基础上提出一种非对称的协同过滤算法,对电影的评分进行预测。并在Movielens数据集上实验验证,该算法在平均误差方根(RMSE)上比SVD、SVD 的算法更优。
  关键词:电影评分预测;SVD;RMSE;矩阵分解
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)03-0079-02
  1 研究背景
  推荐系统现已广泛应用于很多领域,其中最典型并具有良好的发展和应用前景的领域就是电子商务领域,比如亚马逊(Amazon)、谷歌新闻(Google News)以及国内的淘宝网等知名互联网巨头。一般来说,个性化推荐是根据用户的特点或购买行为,向用户推荐其感兴趣的信息。但同时,随着电子商务规模的不断扩大,商品个数和种类快速增长,用户需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。为了解决所谓的“信息过载”问题,针对特定每一个用户的个性化推荐系统应景而生。特别是近几年来,随着学术界对推荐系统的研究热度不断攀升,已经形成了一门相对独立的学科。
  1.1 基于电影评分预测的推荐算法
  当今社会,人们把欣赏电影当成日常娱乐中一种不可或缺的方式。有很多电影的评分网站允许用户根据其喜好程度对电影进行评分,比如IMDB,豆瓣以及一些提供在線观看的网站。然而,对于某个用户而言,并不是所有的电影都观看并且评分了。对这些缺失的评分有很多算法对其进行预测,其中典型的有基于内容的评分预测和协同过滤算法。
  2 实验数据集和评价指标
  2.1 Movielens数据集
  实验使用Grouplens网站开放给用户的电影评分数据集,其中Movielens 100K数据集包含943个用户对1682部电影的10万条评分记录(评分范围1-5分,每个用户至少对20部电影进行了评分),此数据集的稀疏度为93.7%。本文采用其中ua.base和ua.test作为训练集和测试集,即80%的数据作为训练集,余下的20%的数据作为测试集,并以此对本文提出的推荐算法进行实验。
  2.2 评价指标
  实际上,针对推荐算法性能优劣的衡量方法有很多,如平均绝对误差(MAE)、平均方根偏差(RMSE)、覆盖率(COV)等。本文主要采用RMSE值作为算法优劣的评价标准,即通过计算预测值与真实值的平均绝对误差来判断推荐算法的好坏,推荐精度的高低与RMSE值的大小成反比。其公式如下:
  [RMSE=1Stest(u,i)∈Stest(rui-rui)2]
  其中,Stest为测试集中有评分记录的集合内元素的计数, [rui]为用户u对电影i的预测评分,[rui]为测试集中用户u对电影i的真实评分。
  3 算法
  3.1 基线预测算法
  多数情况下,人们早已发现用户对电影的评分往往具有很多与电影无关的因素,用户有一些属性和电影无关,电影也有一些属性和用户无关。因此,一种将偏置项加入到推荐算法当中,并将其称为基线预测算法。定义对一部电影评分的预测值为[rui],那么其公式为:
  [rui=μ bi bu]
  其中,[μ]表示所有评分的平均值;[bi]表示电影的偏移量,代表电影在接受评分时与用户无关的因素;[bu]表示用户的偏移量,代表用户在评分中与电影无关的因素。
  3.2 SVD算法
  但基线预测无法针对用户的潜在偏好进行评分预测,因人们对电影进行评分的时候极可能有一些偏好,如A用户对科幻片比较感兴趣,那么该用户在对其他具有科幻特征的电影评分很可能偏高,而对非科幻片的潜在评分就很可能偏低。因此我们引入2个特征向量:[pu]和[qi]。其中[pu]表示用户对不同风格的电影的偏好,[qi]表示不同风格的用户对电影的偏好。那么,在基线预测的基础上加入上述向量,对电影评分的预测值公式为:
  [rui=μ bi bu qTipu]
  为了得到更为准确的特征向量值,通常采用随机梯度下降法来训练上述各参量,以防止过拟合。其更新公式分别为:
  [bu←bu α1?(eui-β1?bu)]
  [bi←bi α1?(eui-β1?bi)]
  [qi←qi α2?(euipu-β2?qi)]
  [pu←pu α2?(euiqi-β2?pu)]
  其中,定义[eui]为每次迭代训练中用户u对电影i的预测评分与真实评分之差。
  3.3 SVD 算法
  在SVD算法的基础上,Keron等人提出把隐式反馈信息融入到SVD算法中,形成了SVD 算法。算法使用R(u)表示被用户评分的电影的集合, [yj]为隐主题的维度向量,其向量值与[pu]、[qi]的向量值一致,表示隐式反馈信息的聚类。那么,对用户偏好建模的同时加入了用户已评分电影的反馈来修正用户在隐主题上的偏好。当然,此处的隐性反馈并没有直观地反映出来用户对该电影的喜欢或厌恶程度, 而是仅仅表明该用户隐性地对该电影进行了评分,表明用户隐性的反馈不是随机的,而是有一定目的的。使用该信息就能够很大程度上提升系统的效果。那么,其对电影评分的预测值公式为:
  [rui=μ bi bu qTi(pu R(u)-12j∈R(u)yj)]
  其他参量的更新式保持不变,[yj]的更新式如下:
  [yj←yj α2?(eui?R(u)-12?qi-β2?qi)]
  3.4 非对称SVD算法
  最后本文提出把用户已看过或已浏览过(但未评分)的电影作为反馈信息融入到SVD 算法中,用[xj]表示。其对电影评分的预测值公式为:   [rui=μ bi bu qTi?R(u)-12?j∈R(u)(ruj-buj)xj yj]
  [xj]的更新式为:
  [xj←xj α2?i,j∈R(u)eui?R(u)-12?qi(ruj-μ-buj)-β2?xj]
  在公式中无[pu]参量,因此[pu]不用更新,其它参量的更新式保持不变。
  4 实验结果和分析
  4.1 实验结果
  在Movielens数据集上进行实验,我们选取不同的向量维度(用K表示),测试SVD、SVD 和非对称SVD算法的RMSE值。结果如图1所示。
  
  实验中,不同算法采用的常量分别设置如下:
  [算法\
其他文献
随着云计算、物联网等技术的兴起,流数据作为一种新型的大数据形态广泛存在于各个邻域。该文提出面向大数据的基于分布式计算平台Storm的流分类挖掘算法及系统,采用并行化窗口和CVFDT算法,利用分布式平台来检测数据流中是否发生概念漂移,从而自适应的改变建模样本数据的流入,提高流数据模型的准确率和效率。
小麦是我国的的优势粮食作物。解放前夕,我国小麦的单产常年在低水平俳徊不前。新中国成立后,农业科学家经过不懈的艰苦奋斗,运用传统和新的育种途径,使小麦的单产有了大幅度的提
<正> 壮族医药学是祖国传统医学的重要组成部分,是几千年来壮族人民从生活实践和医疗实践中积累起来的经验总结,在壮族人民防病治病的过程中发挥着不可忽视的作用。建国后几
转基因抗虫棉的迅速推广普及,有效地控制了棉铃虫的危害.但是,由于抗虫棉投放生产年限短,广大棉农对它的生长发育特点缺乏足够的认识,管理上沿用常规棉栽培技术,良种良法不配
<正> 大小承气汤均为张仲景治疗阳明腑实证的主要方剂,现代应用仍然相当广泛,其煎法也极为讲究。一般认为大承气汤中大黄后下,小承气汤中三味同煎。笔者最近用紫外光谱法从分
<正> 股外侧皮神经炎又名“感觉异常性股痛”,至今病因不明。有人认为是股外侧皮神经通过腹股沟韧带或穿过大腿的阔筋膜时受压所致,并可与感染、受寒、盆腔病变有关。主要症
丰优128是广东省农科院选育的优质高产中籼迟熟组合。1999年由汉中市农科所引入我省,2001~2003年参加陕西省水稻区域试验和生产试验,表现出米质优、生育期适宜、高产稳产、抗病
<正> 腹泻是婴幼儿的多发病和常见病,且易导致很多并发症,对小儿的健康危害极大。绝大多数婴幼儿腹泻由肠道感染引起的。近年来,肠道致病菌对抗生素的耐药菌株不断增加,且使
<正> 1976年以来,我们对经多次住院、长期使用激素与中药治疗且病情不能控制,每因感冒后或疲劳后反复发作的60例肾小球疾病,在辨病与辨证论治的基础上,采用整体调整与重点治
<正> 李培生教授业医50余载,尤精于《伤寒论》之学,善用经方随证加减以疗疾病,创制急症系列剂颇具特色。笔者随师实践,用于临床,疗效颇著,现简述之。一、喘肿者,首选麻黄制剂