基于内容和协同过滤相融合的推荐算法

2018-02-03 22:28沈华理
电脑知识与技术 2018年2期
关键词:协同过滤冷启动

沈华理

摘要:协同过濾算法有两个主要问题:新用户冷启动问题和相似用户的可靠性问题。为了解决上述问题,提出了基于内容和协同过滤相融合的推荐算法,主要解决新用户冷启动、相似用户可靠性问题。该算法的主要过程为,利用k-means聚类算法将数据集中的用户进行聚类,然后确定用户各个属性特征的适当权重,根据用户人口统计学特征的聚类方法,将新用户分配到恰当的类中,最后提取出新用户的最近邻,根据最近邻用户的项目评分,计算新用户对未评分项目的预评分,生成推荐列表。实验结果表明,在平均绝对误差(MAE)和均方根误差(RMAE)上有较明显的改善。

关键词:协同过滤;冷启动;人口统计学特征;k-means聚类;混合推荐

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

Recommendation Algorithm Based on the Combination of Content and Collaborative Filtering

SHEN Hua-li

(College of Computer Science and Engineering, Anhui University of Science and Technology, Huainan 232001, China)

Abstract: There are two main problems in collaborative filtering algorithm:the problem of new user cold start and the reliability of similar users. In order to solve the above problems, Recommendation Algorithm Based on the Combination of Content and Collaborative Filtering is proposed, which mainly solves the problem of cold start and similar user reliability. The main process of the algorithm is that the k-means clustering algorithm is used to cluster the users of the data set, then the appropriate weight of each attribute of the user is determined, and the new user is assigned to the appropriate class according to the clustering method of the user demographic characteristics, finally, the nearest neighbor of the new user is extracted. According to the project score of the nearest neighbor, Calculating the pre rating of a new user on a non rated project and generating a list of recommendations. The experimental results show that there is a significant improvement in the evaluation standard of MAE and RMSE.

Key words: collaborative filtering; cold start; demographic characteristics; k-means clustering; mixed recommended

推荐系统会在某些情况下被使用,像电影商店、图书馆、餐饮、旅游以及其他方面为用户提供有趣的选择和项目。特别在电子商务和网络在线电影系统中得到了广泛的应用。从过去到现在一直广受欢迎研究之一的推挤系统是电影推荐系统。在信息量巨大的情况下,在恰当的时间向用户提供最有吸引力的项目是个性化推荐领域[1]的相关内容之一。在电影推荐系统中,使得用户可以根据电影标题、导演、编剧和发布日期等特征寻找电影。总体来看,推荐系统被划分为两种主要的种类[2]:基于内容的推荐和协同过滤推荐。在基于内容的推荐算法[3]中,是根据用户分配给内容、新闻文本和链接的权重进行推荐,也就是把权重最高的项目向用户推荐。在基于协同过滤的推荐算法(CF)[4]中,根据相似用户的选择给出推荐。

在未来,CF算法中最重要的挑战之一是冷启动问题,这一问题引起了很多研究人员的思考。冷启动问题属于没有任何评价信息的新用户,对于那些有冷启动和没有任何评价信息的用户而言,可以采用基于内容的推荐方法向新用户进行项目的推荐。但是,当系统中存在用户评价的历史记录时,就可以采用CF算法进行推荐。通过将两种算法的混合,这样就可以有效的解决CF算法中存在的冷启动问题。以下是之后各个章节所要讲述内容的简洁概括。在第1节中,主要阐述跟推荐系统有关的相关内容。在第2节中,描述本文算法的推荐模型和利用用户人口统计学特征计算出新用户的相似近邻,并进行新用户对未打分项目的预打分过程。在第3节中,给出实验结果与分析。在第4节中,对全文进行总结和展望。

1 相关工作

在对电影进行推荐的研究中,为了解决冷起动问题,研究者们提出一些解决方法。陈丹儿等人[5],提出基于神经网络的CF算法,以此来消除新用户的冷启动问题,并在Movielens数据集上进行了验证。Hung 等人[6],指出了项目和新用户的冷启动问题,他们引入了一种改进的CF算法。该算法中,有两个相似矩阵,一个是用户项目相似矩阵,另一个是用户之间的相似矩阵。之后按照制定预测机制,向用户做出推荐。这个方案因为需要构建两个相似矩阵,所以需要使用大量的内存,也是这个方案的缺点之一。王巧等人[7],提出使用k-均值聚类算法向用户推荐电影,他是根据用户对电影的评价信息来实现的,并且在MovieLens数据集上进行了实验验证。B.Lika等人,引入了一种分类算法模型,如朴素贝叶斯、决策树和随机分类算法,使用相似矩阵向用户进行项目的推荐,并在MovieLens数据集上进行了实验验证。endprint

2 基于内容和协同过滤相融合的推荐算法

2.1 算法的体系结构

本文算法的体系结构如图1所示。接下来将依据体系结构图对算法的实现过程进行详细描述。

1) 首先需要对实验数据集进行预处理,预处理过程中包含利用数据挖掘软件(weka)中的k-means聚类算法对数据集中的用户进行聚类操作。

2) 通过利用用户人口统计学特征的相似度计算方法,确定新用户所在的类,已解决新用户的冷启动问题。本文选取的用户人口统计学特征为性别、年龄和职业。

3) 由新用户的相似用户,得到近邻用户-项目评分矩阵。

4) 利用近邻用户-项目评分矩阵计算出新用户对未打分项目的预评分,为新用户生成一个项目推荐列表。

2.2 人口统计学特征的聚类方法

由图1可知,在使用基于人口统计学信息方法对用户聚类之前,首先需要对数据进行预处理。为了得到合适的聚类中心个数k,本文使用数据挖掘软件(weka),对不同地k值进行评估,并且计算k取不同值时地误差平方和,从而选择一个适当地k值。实验结果表明,当 k=100时误差平方和最小。确定k地取值之后,此时再利用新用户地人口统计学特征,就可以确定新用户所在的类别。其次,通过k-means聚类算法可以将数据集中地用户进行聚类,得到一个聚类模型,而聚类模型本文采用weka软件产生。之后新用户作为该系统的测试数据,并且通过人口统计学特征地聚类方法被聚到某个类中。在新用户被确定所属的集群后,提取出该用户地相似近邻,进而得到相似近邻项目评分矩阵,利用该矩阵计算出新用户对项目的预打分,从而把预打分最高地项目推荐给该用户。假设系统的用户定义为集合U={u1,u2,u3,...,un},用户的人口统计学特征定义为集合D={d1,d2,...,dm},系统中项目的集合定义为I={i1,i2,...,ik}。用户地各个人口统计学特征对应地权值集合定义为W={w1,w2,...,wm},且权重wi的取值范围是[0,1],以及[imwi=1][imwi=1],利用公式(1)计算一个新用户(u)和其他用户(k)的相似度,计算公式如下:

[sim(u,k)=j=1mSFj*wjj=1mdj(u,k)] (1)

SFj是第j个特征地相似度值,wj是第j个用户特征地权重,函数dj(u,k)是计算用户u和用户k地第j个特征的相似度,m是用户特征的个数。

函数dj(u,k)有两个部分组成:

1) 当用户第j个特征的取值为数值型时,计算方法如下:

[dj(u,k)=(1-|Diff(dj,u,dj,k)||Diffmax(dj,u,neigu(dj))|)β]

SFj= dj(u,k) (2)

2) 当用户第j个特征的取值为字符串和布尔型时,计算方法如下:

[dj(u,k)=1 dj,u=dj,k0 dj,u≠dj,k]

SFj= dj(u,k) (3)

dj,u是用户u地第j个特征值,dj,k是用户k地第j个特征值。Diff(dj,u, dj,k)是两个特征值的差值,Diffmax(dj,u,neigu(dj))是新用户u第j个特征值与近邻用户中第j个特征值的最大差值,β是决定两个用户特征差异效应的一个参数,本文选取β的值为0.5。在计算出新用户u与用户k各个特征之间地相似度后,之后计算出两个用户之间总地相似度,根据总地相似度得到新用户地最近邻。依据最近邻用户按照公式(4)计算出新用户u未打分项目ib地预打分,将预打分最高地项目向新用户u进行推荐。

[Ruib=j=1psim(u,kj)*rkj,ibj=1psim(u,kj)] (4)

P是最近邻用户个数,sim(u,kj)是新用户u与最近邻用户kj地相似度,[rkj,ib] 是最近邻用户kj对项目ib地打分。

3 实验结果分析

3.1 实验数据集

在本文中,为了检查和评估结果,采用普遍使用的Movielens数据集。本文从该数据集中随机选取部分数据作为实验验证数据。本文的数据中包含有10000评分记录,分为训练数据和测试数据,用户的属性特征有性别,年龄和职业,其中职业的类型共有21种、总共有1682部电影,电影的种类共有19种。用户对电影的评分范围为:[1-5]整数,其中打分为1分地项目是用户最不偏爱地项目,打分为5分地项目是用户最偏爱地项目。为了确保实验数据地合理性,所选取地每个用户全部至少有20条项目打分记录。

3.2 评价指标

1) 平均实际误差[9]计算公式如下所示:

[MAE=1wiwPu,i-ru,i] (5)

W是测试集中目标用户u评价地项目个数,Pu,i是目标用户u对项目i地预评分,ru,i是目标用户u对项目i地实际评分。

2) 均方根误差计算公式如下所示:

[RMSE=1wiw(Pu,i-ru,i)2] (6)

3.3 结果分析

本文选取基于用户聚类的推薦算法(UCCF)作为实验的对比算法。该算法主要是在传统协同过滤算法的基础上,将用户兴趣变化模型和评分预测时间模型加入到推荐的过程中,最后向目标用户进行项目推荐。该算法可以增强实时性的推荐。

本文根据用户人口统计学特征中地年龄、性别和职业作为划分相似用户的依据。在这其中,不同特征所反映出用户为某个项目的偏爱程度是不一样的,所以需要为各个特征分配不同的权重。本文选取三组不同的分配方案进行实验验证,从而确定用户人口统计学中各个特征所占的适当权重。分配方案如表1所示:

从表1可以看出,当年龄、性别和职业所占的权重分别为0.5,0.4,0.1时,算法的平均实际误差值最底。在确定用户各个特征所占的权重后,就可以将本文提出的算法与User Based CF和UCCF算法进行比较实验了。本文分别进行2组对比实验,即将10000条用户打分记录随机分为2组。第1组为3000条评分记录;第2组为7000条评分记录。每组中都包含训练数据和测试数据,其中训练数据占80%,测试数据占20%,并且测试数据中的用户不在训练数据中。

以下为2组实验的实验结果图:

由图2的实验结果可以看出,本文算法在最近邻数取不同值时,MAE和RMSE的结果都比UCCF算法的值要低,并且相比较UCCF算法,本文算法在平均实际误差上面平均降低了接近8%,在均方根误差上平均降低了接近7.5%。

4 结束语

本文主要针对协同过滤算法中新用户的冷启动问题进行改进,并提出了基于内容和协同过滤相融合的推荐系统。在系统实现地过程中,首先需要对实验采用地数据集进行预处理,然后利用数据挖掘软件中的k-means算法对数据集进行聚类操作,之后利用用户人口统计学特征聚类方法对新用户进行聚类操作,从而提取出新用户的最近邻用户,再根据近邻用户对项目地打分,计算出新用户对未评分项目地预打分,最后把预打分最高地项目为新用户进行推荐。本文采用的数据集为MovieLens数据集,经过将本文算法与UCCF算法在平均实际误差和均方根误差上对比的实验结果表明,本文提出的改进算法在降低平均实际误差和均方根误差上更加有效。

参考文献:

[1] 王国霞, 刘贺平. 个性化推荐系统综述[J]. 计算机工程与应用, 2012, 48(07):66-76.

[2] Shardanand U,Maes P, Social Information Filtering: Algorithms for Automating, Word of Mouth[C].CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 1995: 210-217. (下转第282页)endprint

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