APP下载

最大熵模型在协同过滤推荐中的应用研究

2018-02-03王昕智吴产乐

电脑知识与技术 2018年2期
关键词:协同过滤冷启动

王昕智 吴产乐

摘要:对当今推荐系统冷启动方法中存在的新用户类型选择以及流行度趋势描述不精确的问题,提出了一种基于最大熵预测模型的协同过滤推荐算法.在类型选择时,通过构建最大熵预测模型,预测用户最喜欢的项目类型. 实验表明:该方法对冷启动问题的解决有效,提升了推荐系统准确率。

关键词:最大熵;协同过滤;冷启动

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)02-0268-03

Maximum Entropy Model for An Application Research of Collaborative Filtering Recommendation

WANG Xin-zhi1 , WU Chan-le2

(1.Class 16 of Grade 12 of No.1 Middle School Affiliated to Central China Normal University, Wuhan 430074, China; 2. Computer School Wuhan University, Wuhan 430070, China)

Abstract: Aiming to solve the problems of type selection and imprecise project popularity trend description of new users in the existing methods to solve the cold start problem in a recommendation system, this paper proposes a collaborative filtering recommendation algorithm Based on maximum entropy prediction model. In type selection stage, this method establishes a maximum entropy prediction model to predict the users favorite type of project. The experimental results show that this method can effectively solve the cold start problem and improve the accuracy of recommendation system.

Key words: Maximum Entropy ;Collaborative Filtering; Cold Start

当今以用户为中心的信息生产模式造成了互联网信息的爆炸式增长[1],为了帮助用户快速准确地获取自身需要的信息,推荐系统应运而生[2,3].目前的推荐系统主要分为基于规则、内容和协同过滤三种方式[4],其中协同过滤作为一种高效实用的方法,在推荐系统中应用最为广泛[5]。

协同过滤推荐算法在推荐系统中应用较广,但仍存在冷启动、稀疏性等问题.其中,冷启动问题是这几个问题中的重点。

冷启动问题是指新用户和新项目加入系统中时,由于不存在历史浏览、消费等数据,系统无法对其进行个性化推荐[6,7]。目前对冷启动问题的研究主要分为两种:1)类型-项目形式[8];2)将传统协同过滤算法的评分数据与特定的方法相结合[9,10]。

虽然上述研究取得了一定的效果,但新用户冷启动问题仍然面临以下问题:1)在建立分类模型时,文献[6-8]都将用户的不同属性对推荐结果的影响权重看作是相同的;2)在进行项目推荐时,文献[5,9]直接将所有项目的流行度随时间变化的趋势假定为指数衰减函数,没有考虑每个项目的流行度变化趋势的不同.针对这两个问题,本文提出了基于最大熵预测模型的协同过滤推荐算法。

1 算法模型

1.1 算法描述

首先,在类型选择方面,提出了基于最大熵预测模型的项目类型选择算法,主要考虑用户属性权重对分类结果的影响,从统计学角度探究用户不同属性与项目之间的关系,进而构建最大熵预测模型,当新用户进入系统时,根据新用户的属性即可预测出用户最喜欢的项目类型;其次,在项目选择上,提出基于曲线拟合的流行度计算方法,首先统计数据集中项目的频次-时间矩阵,然后通过多项式拟合方法,拟合出流行度变化趋势曲线。

本文提出的改进算法流程图如图1所示:

1.2 基于最大熵预测模型的类型选择算法

本文利用最大熵预测模型预测给定用户属性的情况下,用户喜欢某种项目类型的概率,即寻找用户属性与项目类型之间的对应关系模型.模型中用到的符号表示如表1所示。

由于推荐系统中存在某个项目属于多个项目类型的情况,例如,在电影推荐系统中,某些电影既属于动作类又屬于爱情类,而某些电影仅仅属于动作或爱情类,因此用 [itemi(num)]表示项目[i]具有的项目类型个数,[Rpi]表示用户[userp]对项目[i]是否有评分,有评分记为1,没有评分记为0,[Rpi]的表达式如下:

[Rpi= 1, 用户 p 对项目 i 有评分 0, 用户 p 对项目 i 没有评分 ] (1)

经过统计分析后可以构建类似如表2的样本集。

从表2可以看出,若要知道某个具有属性[X]的用户[userp]最喜欢的项目类型,需要分别计算该用户喜欢所有项目类型中任意项目类型[j]的概率.若用[p(Ypj)]表示具有属性[X]的用户[userp]喜欢项目类型[j]的概率,[p(Ypj)]的计算公式表示如下:

[pYpj=i=1N1iteminumRpi] [如果 yj∈itemi] (2)endprint

通过上式计算出概率[p(Ypj)]的大小之后,用户[userp]最喜欢的项目类型[yj]可以通过下式求得:

[yj=maxpYpj] (3)

在得出用户[userp]最喜欢的项目类型[yj]后,需要进一步求出具有属性[X]的各个用户最喜欢的项目类型表,那么我们需要预测用户[p]的各个属性值[xi]对其最喜欢项目类型[yj]的影响。

首先利用概率统计的知识,任意选择[X]中某个属性值[xi],循环计算项目类型分别为:[yj(j=1,2......m)]时的各个条件概率[p(Y=yj|X=xi)],其计算公式如下:

[pY=yj|X=xi=countX=xi,Y=yjcountX=xi], (4)

其中,[count(X=xi,Y=yj)]表示训练集中某个属性值[xi]与项目类型[yj]同时出现时的用户个数,[count(X=xi)]表示训练集中某个属性值[xi]出现时的用户个数.属性值[xi]下用户最喜欢的项目类型可以通过下式求得:

[yp|xi=maxpY=yj|X=xi]. (5)

1.3 基于流行度趋势拟合的项目推荐算法

在1.2节中已经利用最大熵预测模型判断出用户[userp]喜欢的项目类型为[yj],且项目类型为[yj]的项目列表为[F],对于[F]中每一个项目[fi(i=1,2......m)],分别将其最早被评分时间[tb],与最晚被评分时间[te]之间的时间区间,按照某个时间间隔(年、月、日、星期)分成[k]个小区间,这些小区间表示为[tj(j=1,2......k)].对每个小区间分别统计该项目在该段时间区间的被评分次数,其中用[freij]表示某项目[fi]在时间[tj]内的流行度。虽然统计结果只是统计了最近[k]个时间区间的评价频次信息,但是它也包含流行度随时间变化的趋势信息.我们可以根据上述中的项目-流行度-时间统计结果,拟合出每个项目的流行度随时间变化的曲线,其中拟合曲线的方法有很多种,例如多项式拟合、指数衰减函数拟合、线性回归等方法。

2 实验结果与分析

2.1 实验数据

本实验所使用的硬件环境为:Intel(R) Core(TM) i5-3210M CPU @2.50Ghz,内存4G;硬盘500G.软件:数据库mysql5.7.16,开发工具:Pycharm。

本文用到的数据集是Minnesota大学的GroupLens实验室于2015年8月份最新公布的MovieLens数据集,该数据集包括从1995年2月到2015年8月234934位用户对30106部电影的评分数据,共有21622187 条评分记录。为保证实验的稳定性,最终选取了评分时间跨度一年以上的371位用户对9157部電影的86132条评分作为实验数据.为保证实验结果的准确性,本文将选取实验数据的80%作为训练数据,另外的20%作为测试数据。

在MovieLens数据集中,本文主要关注用户属性信息和项目类型信息以及用户对电影的评分信息,其中用户的属性信息结构如表3所示。

在MoviesLens数据集中,用户从属的职业有21种,在实验中,为了便于建立用户属性与项目类型之间的特征关系,将用户职业划分为5大类:管理类、技术类、文艺类、服务类和其他;年龄划分为儿童(0-18)、青年(19-34)、中年(35-55)和老年(56-100)。

2.2 评价标准

对用户来说,推荐系统能否推荐用户感兴趣的东西是衡量这个系统优劣的标准,所以,需要对推荐系统的准确度进行评估,以此来判断推荐系统算法能否推荐合适的资源给用户.为此,在类型判断中,需要对分类准确率进行计算,[right]表示分类准确率,[number]表示测试的用户数,[count(right)]表示分类准确的用户数.则分类准确率的公式如下:

[right=countrightnumber] (6)

2.3 实验结果及分析

实验部分将本文提出的算法与当前具有代表性的4种算法:结合项目类别相似性和动态时间加权的协同过滤推荐算法(CTCF)、基于项目内容和评分的时间加权协作过滤算法(CRTCF)、基于用户的协同过滤算法(UBCF)和基于项目的协同过滤算法(IBCF)进行比较,属性数目设置为1~10,步长为1,拟合阶数设置为9阶,比较结果分别如图2~3所示。

图2描述了不同分类算法对分类准确率的影响.从图2可以看出,随着属性个数的增加,分类准确率不断上升,其中UBCF和IBCF算法与本文算法性能较为接近,因为这三个算法都是从用户和项目方面进行的改进算法,而CTCF和CRTCF是基于内容的改进算法.当属性个数达到10个时,本文算法分类准确率达到98.0%,比当前最好的算法IBCF提高1.0%,而比CTCF算法提高7.7%;当属性个数较少时(属性个数=1),本文算法分类准确率仍然能够达到77.0%.图2说明本文提出的基于最大熵预测模型的项目分类算法是有效的。

图3描述了不同算法中流行度计算方法对项目推荐准确率的影响。从图3中可以看出,随着流行度统计年份的增加,本文及对比算法的项目推荐准确率均有所提高。在统计年份较少时,本文算法表现较好,这是因为统计年份较少时,统计数据是稀疏的离散点,而本文基于拟合的方法相比其它算法,更能准确的描述稀疏离散点之间缺失的数据。

3 结论

本文针对现有冷启动方法中存在的类型选择以及流行度变化趋势描述不精确的问题,提出了一种基于最大熵预测模型的协同过滤推荐算法.实验结果表明,本文提出的算法适用于属性值较少的新用户项目推荐情形,对解决推荐系统中冷启动问题有一定效果。

参考文献:endprint

[1] Jin R, Si L, Zhai C. A study of mixture models for collaborative filtering[J]. Information Retrieval Journal, 2006, 9(3):357-382.

[2] Claypool M. Combining content-based and collaborative filters in an online newspaper[C]//ACM. Proceedings Of The Recommender Systems Workshop At ACM SIGIR (1999). New York: ACM, 1999: 1995-1999.

[3] Park S T, Pennock D, Madani O, et al. Na?ve filterbots for robust cold-start recommendations[C]//ACM. ACM International Conference On Knowledge Discovery And Data Mining. Philadelphia: ACM, 2006: 699-705.

[4] 孫冬婷, 何涛, 张福海, 等. 推荐系统中的冷启动问题研究综述[J]. 计算机与现代化, 2012, 4(5):59-63.

[5] 姚娟. 融合项目流行度的协同过滤推荐算法[D]. 西安: 西安建筑科技大学, 2015.

[6] Golbandi N, Koren Y, Lempel R. Adaptive bootstrapping of recommender systems using decision trees[C]//ACM. Forth International Bootstrapping Of Recommender Systems Using Mining. Hong Kong: ACM, 2011: 595-604.

[7] 赵广杰, 尹四清. 基于支持向量机回归多属性智能电视电影推荐[J]. 电视技术, 2015, 39(6):32-35.

[8] 张东, 蔡国永, 夏彬彬. 一种提高推荐多样性的概率选择模型[J].计算机科学, 2016, 43(2):72-77.

[9] 韦素云, 业宁, 杨旭兵, 等. 结合项目类别和动态时间加权的协同过滤算法[J]. 计算机工程, 2014, 40(6):206-210.

[10] 冯雨晴. 基于流行度预测的个性化媒体推荐算法研究[D]. 青岛: 中国海洋大学, 2013.endprint

猜你喜欢

协同过滤冷启动
轻型汽油车实际行驶排放试验中冷启动排放的评估
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于PEMS试验的重型柴油车冷启动 排放特征研究
基于学习兴趣的冷启动推荐模型
质子交换膜燃料电池冷启动研究综述①
改进的协同过滤推荐算法
军事技能“冷启动”式训练理念初探