基于矩阵分解的兴趣点推荐算法研究

2016-11-07 17:56孙海威钟绍波曹曦文高云云
软件导刊 2016年9期

孙海威++钟绍波++曹曦文++高云云++李思培++常泉

摘要:单类协同过滤面临的主要问题是:仅仅正例数据能够被观察到,类高度不平衡,大量数据点丢失。为解决该问题,基于迭代最小二乘法,采用一种加权的带正则化项的单类协同过滤算法,即wALS算法。通过在真实的Foursquare、Movie Lens数据集上进行验证,证明了这种算法性能优于其它几个经典的单类协同过滤算法。

关键词:推荐技术;矩阵分解;wALS算法

DOIDOI:10.11907/rjdk.161572

中图分类号:TP312

文献标识码:A文章编号文章编号:16727800(2016)009003603

基金项目基金项目:

作者简介作者简介:孙海威(1993-),男,江苏南京人,硕士,江苏大学计算机科学与通信工程学院硕士研究生,研究方向为数字信号处理、云计算;钟绍波(1993-),男,福建龙岩人,江苏大学计算机科学与通信工程学院学生,研究方向为通信工程。

0引言

电子商务推荐系统具有良好的发展和应用前景,推荐引擎已经在电子商务(Ecommerce:例如Amazon、当当网)和一些基于Social的社会化站点(包括音乐、电影和图书分享:例如豆瓣、Mtime等)上取得了成功。推荐系统在电子商务平台扮演着销售人员的角色,向用户推荐商品,帮助用户找到所需商品,从而顺利完成购买过程。协同过滤技术(Collaborative Filtering,简称CF)[1] 是目前推荐系统中应用最早和最为成功的技术之一,它的基本思想是:用户可以按照兴趣分类,具有相似兴趣的用户会购买相同的商品。尽管协同过滤技术在电子商务推荐系统中的应用获得了较大成功,但是随着商务网站结构的复杂化,商品信息量和用户量与日俱增,协同过滤推荐系统面临一些发展问题。例如,一些推荐系统往往只记录了用户的访问记录,如点击网页或者广告次数,缺乏显示的评分信息,这种情况称作“单类协同过滤”。

单类协同过滤问题研究还很少。C.Wang等[2]把概率矩阵分解(PMF)技术运用到单类协同过滤问题,把观察到的点击数据作为正例数据,其余的混合数据均作为负例数据;Paterek等[3]提出运用奇异值分解(SVD)技术来解决该类问题;Rendle S等[4]提出运用基于KNN的协同过滤算法、Pan等[5]提出运用加权的低秩逼近算法来解决该类问题。本文在真实的数据集(Foursquare、Movie Lens)上验证,证明了加权的低秩逼近算法性能优于其它几个经典的单类协同过滤算法。

1矩阵分解算法

1.1协同过滤技术

协同过滤推荐算法(Collaborative Filtering,CF)是推荐系统中最为成功的推荐算法之一。经过多年演变,协同过滤推荐算法从尽量考虑用户的偏好转而成为追求高效率的商业推荐。在常见的电子商务网站中,协同过滤算法是通过参考用户对商品的喜欢程度和评分来实现推荐的,具体实现流程:首先,依据用户兴趣信息的相似度,将用户分类为不同等级,有共同兴趣爱好的用户分为同一个等级,然后将用户推荐给同一等级用户。其次,依据用户对该商品的评分,向用户推荐(用户的反馈、评分可以表现出对商品的重视程度)与其评分最高的类似商品。协同过滤算法的核心思想就是在用户、商品和评价三者之间建立联系。

1.2基于wALS的单类协同过滤算法

在单类协同过滤问题中,我们常将加权低秩逼近(wLRA)[6-7]方法应用于CF问题中,即用“1”表示有记录的样本,“0”表示没有记录的缺失数据。因为缺失项中可能有隐含的正样本,这样的处理方式会有遗漏。因此,可以通过赋予丢失项以低权重来处理这个问题。这是从数据集中挖掘隐含信息来优化单类协同过滤问题的思想,由此导出基于加权矩阵分解的单类协同过滤算法(wALS,即weight ALS) [8-10]。