APP下载

针对协同过滤系统冷启动问题的混合优化算法

2019-10-29席园园胡文洁王进强周书冉

数码设计 2019年5期
关键词:冷启动粒子标签

席园园 胡文洁 王进强 周书冉 吴 限 徐 露

(河南师范大学 河南 新乡 453007)

引言

在数据时代到来之际,海量的信息为我们带来了很多的便利,但是与此同时,也为我们带来了很大的麻烦与负担。如何在海量的信息中提取我们有用的信息成为了一个新的难题。此时推荐系统的孕育而生,为我们在这一难题上贡献一份力量。但是在推荐系统发展至今冷启动问题有成为一热门研究话题。

1 协同过滤推荐系统冷启动问题

传统的协同过滤算法可分为3步骤:

1.1 建立用户个人档案。通过收录用户的信息,包括对某一特定事物的评价,和行为等,来形成用户的个人“信息档案”。如表1所示。

1.2 寻找相似度最近的用户。通过相似度的计算。来找相似度最为接近的两个用户,形成最近邻居

1.3 推荐阶段。在第二步的基础上利用相似度最近的两个用户的用户集,来进行推预测荐。

经典的推荐算法一般如下:

其中,a,pi代表待被推荐用户和对项目的预测值大小;uyr代表被推荐用户a的相似度最近的用户的用户集中的用户a对项目λ的评价。这里的目标用户a的最近邻居邻居集用NN(nearest neighbour)表示,因此,u∈NN。通过对用户集中用户的评价这里可以返回用户的相似集U{U1,U2,…,Ui,…}(U1表示第1个用户,U2表示第2个用户,Ui表示第i个用户,下同)。本文计算相似度使用了余弦相似度计算公式,它通过计算两个向量的余弦夹角,来得出余弦相似度。那么,对于m*n的用户 -标签矩阵,用户U1,U2的相似度计算公式如(2)所示:

根据上述步骤可以得到相似用户集合,从而可以对待被推荐的用户的行为进行计算、预测,得出其推荐结果。目标用户a与其相似度最为相近的用户,此时的用户组成一个用户集用NN表示,因此,u∈NN。协同过滤是推荐系统中一个经典的算法,但是该算法未能解决冷启动问题,致使一些刚进入网络,没有行为的用户,无法进行相似度计算,从而进行推荐。所以鉴于就引入了信任网络和用户标签,来解决冷启动问题。

2 信任网络解决冷启动问题

信任网络是依据一个常用的人际交往定律而成的,一个人能通过六个人找到世界上任何一个人。基于此,在推荐系统构建信任网络,寻找最短路径。依据新用户信任的用户的推荐来预测新用户的爱好和行为,从而进行推荐[1]。

信任网络的构建采用Dijkstra算法,构建最短路径图。从而寻找出最信任的用户,构建出信任网络。这样就极其方便的解决了冷启动问题,方便了新用户的使用。

但是信任网络依据用户的个人信息太少,而且用来求取的最短路径算法过于简单,不能智能应对推荐系统的复杂程度。这也是信任网络在解决冷启动问题的存在的不足之处。

3 用户标签解决冷启动问题

在新用户进入一个环境中时,系统并没有可靠的参考资料来进行参考推荐,这也是冷启动问题的根源。但是如果用户在进入系统时已知了一些属性,我们就可以根据这些属性即对用户下的标签来进行推荐。

以下以微博推荐为主解释标签获取和计算[2]:

(1)标签获取算法如下:

①收集标签,通过对用户关注的人和关注自己的人的标签的收集来获取最原始的用户标签。其中将自己关注的和关注自己的标签进行比重的划分。

②筛选排序,对收集到的所有标签进行排序,按标签的权重值和出现次数排序,根据自己的预测精度来确定需要保留多少个。通过保留的标签进行处理。

③根据返回用户最爱标签列表(出现次数最多的),组成的一个标签矩阵,该标签矩阵可以对其进行标签相似度的计算,根据自己预测精度来确定自己相似度需要取,可以从矩阵选出推荐用户。

(2)标签获取算法计算步骤:

①遍历用户关注和粉丝两种好友,返回最感兴趣标签表。对多个用户进行最感兴趣标签表整理后,得到用户 -标签矩阵表。

②计算相似度。相似度计算算法可以用于计算用户或项目相似度。

4 信任网络和用户标签混合解决冷启动问题

原有信任网络在构建时存在着严重的缺陷,实施的可行性较低。并且假设网络已经构建起来后在其中寻找最短路径时一般使用的是广度优先或者深度优先遍历之类的算法,如果在信任网络变化时对应的数据结构也得发生变化,软件耗时较大。所以基于此本文建立动态信任网络模型,并通过粒子群优化算法优化信任网络的最短路径。

动态信任网络对的协同过滤算法采用的推荐过程共有6个部分组成,分别是评分矩阵,信任矩阵、信任网络搜索、推荐系统列表、信任动态更新、评分预测这六部分。

通过评分矩阵和信任矩阵的输入,在信任网络中进行搜索,根据评分情况进行分类。导出推荐系统列表,在推荐系统列表的基础上再进行评分预测,以最新评分预测进行信任动态更新得出新的信任矩阵,以此构成循环,进行动态信任网络模型。利用粒子群优化算法来优化最短路径。

粒子群算法解释如下:

粒子群算法受飞鸟集群活动的规律启发。以鸟飞行觅食为例,将鸟当成粒子,拥有两个属性,速度和位置(包括自己的位置和食物的位置),大概知道距离食物有多远,但不知道具体的位置。但是粒子可以根据自己的属性计算出距离食物的路线,通过在粒子群中的搜索目前离食物最近的鸟的周围区域,继而鸟群会根据最短距离进行调整。以下是粒子群算法解析:

假设在任意空间中随机对粒子进行初始化,采用粒子的位置表示可能的方案的解,在其每次迫近最佳位置的迭代过程中,粒子会根据两个极值来完成自我更新,分别是个体极值,单粒子找到最佳解。另外则是全局极值,全部粒子群体找到的最佳解。

更新自己的速度和位置公式:

基于标签的推荐协同过滤推荐系统在相似度计算时采用余弦相似度的做法,但是依然存在很多

缺陷。基于此本文提出一种新的算法与标签化的协同过滤系统融合从而更加精准的计算出在标签化的前提下的用户相似度情况[3]。

本文相关相似性又称为Pearson相关性,其方法表示为:

信任网络和用户标签化的配合使用使得协同过滤冷启动问题得到较好的解决,适用于大多数场景,具有较强的普遍适用性。并且该混合算法对信任网络和用户标签化算法进行了逐一的优化,算法的整体效率较好。

5 结语

协同过滤推荐系统在生活中有着较为广泛的应用。本文针对协同过滤推荐系统冷启动问题进一步研究,优化信任网络和标签化算法并将二者进行有机结合提出一种新的算法来解决协同过滤冷启动问题。

信任网络和标签化推荐算法在协同过滤推荐系统中都有着较为优异的表现,但是存在着问题,经过对这些问题进行算法优化,使二者更具有实用性和可行性。

猜你喜欢

冷启动粒子标签
轻型汽油车实际行驶排放试验中冷启动排放的评估
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于PEMS试验的重型柴油车冷启动 排放特征研究
基于学习兴趣的冷启动推荐模型
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
让衣柜摆脱“杂乱无章”的标签