云计算环境中资源优化推荐技术研究

时间:2022-09-28 12:40:22

云计算环境中资源优化推荐技术研究

摘 要: 随着系统规模的不断扩大和数据获取量的指数级增长,在传统推荐系统的冷启动、精确性、扩展性等问题严峻化的同时,实时性问题亦成为面向海量数据推荐系统新的瓶颈点。基于传统推荐领域的主流算法,提出了一个扩展向量推荐模型。根据扩展模型对推荐算法中对象的向量进行合理扩展,通过相似度计算等过程动态选取推荐集,完成对目标对象更精确的推荐。实验结果表明,与传统推荐算法相比,基于新模型的推荐算法可以显著地提升推荐效果,成功克服冷启动问题。

关键词: 扩展向量推荐模型; 协同过滤; Slope One; ALS?WR; 分布式计算

中图分类号: TN911?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)21?0024?05

Research on resource optimization recommendation technology

in cloud computing environment

L? Xiaoqing

(Huihua College of Hebei Normal University, Shijiazhuang 050000, China)

Abstract: With the continuously extending of the system scale and exponential order increase of data acquisition quantity, the problems of cold start?up, accuracy and scalability of the traditional recommendation system are severe, and the real?time problem becomes a new bottleneck of the massive data recommendation system. On the basis of the mainstream algorithm in the traditional recommendation field, an expand?vector recommendation model is put forward. The object vector in recommendation algorithm is expanded reasonably according to the extended model. The recommendation set is selected by means of the similarity calculation and other dynamic processes to recommend the accurate target object. The experimental results show that, in comparison with the traditional collaborative recommendation algorithm, the recommendation algorithm based on this new model can promote the recommendation effect significantly, and overcome the cold start?up successfully.

Keywords: expand?vector recommendation model; collaborative filtering; Slope One; ALS?WR; distributed computing

0 引 言

由于推荐系统应用的普及,提高系统的用户体验一直是各个系统应用不断的追求。由于推荐系统中的推荐算法在运行过程中涉及大量的数据计算过程,而海量数据环境下,运算所需的时间越来越大,实时完成系统应用是面向海量数据推荐系统的瓶颈点。面对海量数据的存储,常用数据库早已超出负荷,系统的可扩展性问题也日益凸显。针对其瓶颈点,很多研究方案被提出,但将精度、实时性和可扩展性同时完美的融合在一个系统中是该领域一直以来面临的挑战。

针对传统推荐算法面向海量数据时的可扩展性和数据稀疏性问题,基于分布式环境下的数据挖掘和并行处理技术,本文除对推荐算法本身进行优化改进外,提出了一种基于Hadoop分布式平成推荐算法分布式实现的改进方案,即使用对海量稀疏数据具有良好支持的HDFS来存储用户交互矩阵并将其作为数据源,同时基于MapReduce分布式计算框架,将推荐算法的计算任务均衡地分配给Hadoop集群内的每台机器,从而有效地提高推荐算法的执行效率,同时在大规模分布式数据计算点,再次有效地将GPU引入进行辅助计算。

1 基于扩展向量的推荐模型

将新模型具体应用在基于项目的协同过滤推荐算法中,优化后的算法流程如下:

扩展向量:基于新模型对项目的特征向量进行扩展,即可得项目的扩展特征向量表示为:

[eitemj=p(1,j),p(2,j),…,p(m,j),aitemj,1,aitemj,2,…,aitemj,q] 式中:[eitemj]表示第[j]个项目对应的扩展特征向量,[1≤j≤M,][M]为站点中的项目集合[I]的总数;[p(i,j)]表示第[i]个用户对第[j]个项目的偏好值,[l≤i≤N,][N]为站点中的用户集合[U]的总数;[aitemj,k]表示第[j]个项目本身具有的第[k]个属性值,[l≤k≤Q,Q]为站点中项目的属性个数。所述偏好值可以代表系统中用户对项目的评分大小、评论长短、购买与否以及浏览次数等信息。所述项目属性值可以是项目本身具有的项目内容、类别、价格、年份、适用人群,产地等属性信息。同理,用户的扩展特征向量可以表示为:

[euseri=p(i,1),p(i,2),…,p(i,n),auser(i,1),auser(i,2),…,auser(i,r)]

式中:[euseri]表示[useri]的扩展特征向量,[l≤i≤N,][N]为站点中的用户总数,[p(i,j)]表示第[i]个用户对第[j]个项目的偏好值;[auser(i,k)]表示第[i]个用户本身具有的第[k]个属性值,[l≤k≤R,R]为站点中用户相关属性的个数。具体的,所述用户属性值可以包括年龄段、性别、专业类别等。

最近邻搜索:最近邻搜索意味着寻找目标项目的最相似邻居。所有的相似度计算基于扩展特征向量和相似性度量方法展开,优化后的相似性度量方法具体如下所示:

基于欧式距离的相似度,如下:[sim′(j,j)=11+(pij-pij)2+(aijk-aijk)2] (1)

基于谷本相关的相似度,如下:

[sim′(j,j)=Uj?Uj+Aj?AjUj?Uj+Aj?Aj] (2)

式中:[sim′(j,j)]表示对象[j]和对象[j]的扩展特征向量之间的相似度,其相似度计算方法基于扩展向量展开。其中,基于项目的协同过滤算法即为计算候选被推荐项目与其他项目的相似值,[itemj]和[itemj]代表两个不同的项目,[Uj]代表对[itemj]给出评分的用户集合,[Uj]代表对[itemj]给出评分的用户集合,[Aj]意味着itemj的属性信息集合,[Aj]意味着[itemj]的属性信息集合。由于项目的扩展特征向量考虑了项目本身具有的属性信息,使其参与相似度计算的向量更加精确,所以在理论上相似度是更加准确的。完成所有相关的计算后可以得到项目的相似矩阵。而且基于sim,项目的最近邻居也被获取到。

得到预期偏好矩阵:计算候选推荐项目的预测评分值,如下:

[R′(u,j)=1Iuj∈Iusim′(j,j)p(u,j)] (3)

式中:[R′(u,j)]用来评估用户[useru]对[itemj]的偏好值,其计算基于目标项目的最近邻的偏好值;[Iu]代表对用户[u]给出过偏好值的item集合。

做出推荐:对候选推荐对象的推荐值[R′(u,j)]按照从大到小的顺序进行排序。选取前[W]个项目推荐给用户[useru,][W]是人为设定的某一正整数。经过上述操作步骤,即可完成新模型在基于项目的协同过滤推荐模型的应用。

2 云计算环境下大数据的推荐系统设计

2.1 系统的体系结构

不同时期的推荐系统,面对的数据量也有质的不同,从几十条记录到现在的一千万条记录,单机的推荐系统已无法满足其处理需求。

面向海量数据的推荐系统的架构如图1所示,其构建于物理集群之上,基于本地数据库和推荐算法的使用,为用户提供注册、节目推荐和节目交互等功能,其中节目交互包括新节目的推荐榜单、热播节目的榜单、用户对节目评分,以及用户可以获取对其产生的推荐列表等功能。其中系统将服务工程中产生的数据存储在文件中,并部署在HDFS上,并运用Map?Reduce并行计算框架和CUDA并行计算框架处理系统运行过程面对的海量数据处理问题,最终高性能、高质量的完成系统的各个功能,提高用户的体验。所以,从下至上,系统的体系结构分为三成:物理资源层、数据处理层(存储和计算)和应用层。

2.2 系统的数据支撑平台的设计

系统的数据支撑平台的设计如图2所示。对于面向海量数据的推荐系统,在用户数量较多的情况下可以对其按照地域进行分区存储,将系统应用层涉及的目标用户的最终推送数据存储在目标用户对应的地域数据库中。本地数据库对应的数据库表增加分区partition即可。这些数据库可以部署在不同的地域。对于每一个用户,其对电影的评分信息存储在分布式文件系统中,分布在该地域的Hadoop集群上。因为大多数对数据库的访问操作都具有局部性,所以,通过地域进行划分,降低了数据传送的代价,而且当网络出现故障时,仍然允许对局部数据库的操作。

由于底层采用HDFS,所以可以存储海量数据、也便于扩充。利用地域进行数据分区,对用户推荐的同时间接考虑了地域文化,一方水土孕育一方文化,一方文化造就一方人的性格,利用人性格的地域同一性使得对用户的推荐更加准确。

2.3 系统的智能推荐模块设计

(1) 推荐算法的选择

系统采用提出的新混合算法,即基于项目的Slope One分布式推荐算法,对应于混合推荐算法文本框。此外,本系统还采用了基于双重相似的协同过滤推荐算法、ALS?WR多种推荐算法彼此并行运行。对于系统提供的功能,采用多种算法呈现结果,可以最大程度地消除冷启动问题,同时可以为用户提供更为丰富的推荐列表供其选择,最大程度地满足用户的需求。

(2) 数据预处理模块

数据预处理模块的功能分为两类:一种是对从系统功能层取得的数据进行优化整合并转化成算法需要的数据源格式存储在数据支撑平台的HDFS上;第二种是将推荐算法所需要的数据从数据支撑平台获取,进行相应的优化整合转化成算法所需要的二次数据源,供算法运行过程中使用。由于数据预处理过程中涉及的数据处理可以分为离线进行和在线进行两种,所以提高数据支撑平台利用率的同时也减小了系统的在线负载。其中可以离线进行处理的数据,比如对HDFS上的数据进行定时更新、选择性存储并更新算法运行过程中产生的临时文件以供下次使用,比如项目与项目之间的相似性文件等。

(3) 算法运行模块

算法运行模块功能为运行基于Hadoop的推荐算法。其中输入为数据库中经过数据预处理得到的数据源,比如,系统指定格式的用户对项目的评分数据。输出是系统各项功能中所需的数据,比如对目标用户的具体的推荐项目列表。

上一篇:流光溢彩的民族文字 下一篇:Qualcomm首款5G调制解调器芯片方案