基于循环神经网络和全局化领域的推荐算法*

2022-09-28 01:40李利杰张君华
计算机与数字工程 2022年8期
关键词:全局全域神经网络

李利杰 张君华

(1.宁波城市职业技术学院 宁波 315100)(2.宁波大学科技学院 慈溪 315300)

1 引言

互联网行业的飞速发展,信息爆炸是互联网时代赋予的显著特征,各应用平台收集的数据呈几何级数增长,到2020 年中国大数据规模将占到世界的1/5。享受数据红利的同时也带来了信息过载的问题,如何充分利用这些过载的信息,准确高效地向用户推送感兴趣的优质资源,提供用户黏性,实现网络价值最大化成为亟需解决的难题。为应对信息爆炸,推荐系统应运而生。推荐系统根据用户的历史行为数据和物品内容特征数据进行挖掘分析,同时利用多种上下文信息,对用户的未来选择行为做出预测,继而实现对特定用户的推荐列表。根据使用数据源方式和技术不同,可划分为基于内容的推荐算法、基于协同过滤的推荐算法、基于知识的推荐算法三种类型[1~2]。

基于内容的推荐算法是一种直接的推荐策略,从物品内容是否与用户偏好匹配的角度对用户作出推荐,构建用户画像和物品的内容特征来实现推荐行为[3~4]。基于内容的推荐算法广为使用的是基于机器学习的推荐算法。基于内容的推荐方法是通过计算物品画像与目标用户画像相似度进行推荐,不需要其他用户数据,不存在冷启动问题,但存在三个主要的局限。一是基于内容的推荐算法要求内容必须能够抽取出有意义的特征,且要求这些特征内容有良好的结构性,而使用标签对物品进行标注的方法工作量大效用低;二是需要足够的数据来构造决策分类器,用户画像的简历需要大量的用户浏览记录;三是难以为用户发现新的潜在兴趣信息。

基于协同过滤的推荐算法基于用户对物品的评价以及其他行为模式为用户提供个性化的推荐,无需了解用户或者物品的大量信息。基于用户的协同过滤推荐算法,通过相似用户进行推荐比较计算用户的相似性,越相似两者兴趣越相近。基于物品的协同过滤算法,通过相似物品推荐,比较计算项与项之间的相似性,为用户推荐与其打过分的项相似的项。基于协同过滤的推荐算法共享用户经验,有效使用其他用户的反馈信息,能够提高推荐的正确度,增加推荐的多样性。由于新用户没有历史行为数据,存在冷启动问题;没有对物品内容做分析,无法依据深层特征和属性来推荐比较复杂的物品,受到用户评价稀疏矩阵的约束[5~7]。

协同过滤和基于内容的推荐算法本质是在分析已知数据的基础上推送用户的选择行为。基于知识的推荐算法首先通过交互会话等途径直接了解用户需求,进行物品匹配。基于知识的推荐算法适合于协同过滤和基于内容的推荐算法所不擅长的推荐领域,但前提是需要对知识进行形式化定义和表示,较为流行的有基于约束的推荐算法和基于实例的推荐算法。基于约束的推荐算法依赖用户需求的形式化条件开展搜索,基于实例的推荐算法是在已有实例的基础上进行匹配与推荐[8~10]。基于知识的推荐算法存在知识获取比较困难、用户必须清晰表达需求才能作出推荐等限制。

与传统的机器学习相比,深度学习因表征能力强,抗噪能力强,使用循环神经网络对动态数据易于建模等优势,在新闻和商品个性化推荐系统中得到了广泛的应用。但现有的深度学习模型虽然一定程度上缓解了数据稀疏性,但是只使用了用户和物品的编号信息,没有对用户评分和物品得分等其他信息的特征提取,导致推荐效果不佳。因此本文融合循环神经网络与全局化领域技术,提出了基于循环神经网络和全局化领域的推荐算法,与其他算法相比,能有效提取用户与物品隐藏的潜在特征,提高推荐有效性。

2 基于循环网络的全域领域模型

2.1 矩阵分解

矩阵分解模型把用户和物品两方面的信息隐射到隐语义空间,用户与物品的交互可通过该空间的内积来建模而成。隐语义空间通过描述物品和用户在各自因子上的特征来解释评分制[11]。每一个物品i都与某个f维向量qi关联,每一个用户u都与一个f维向量pu相关联。给定一个物品i,qi向量每个维度的值表示该物品具备这些因子的程度。给定一个用户u,pu表示用户对这些因子的偏好程度。点积表示用户对物品的总体兴趣度,根据式(1)得到评分规则。

通过最小化如下正则化的平方误差(见式(2))来实现式(1)中参数最优化。

通过交叉验证控制正则化参数λ,使用随机梯度下降优化算法实现参数最优化。

隐式反馈信息提供了用户偏好的额外信息,利用隐式反馈信息可增加预测正确度。为达到这个目的,增加第二个物品因子集合,为每个物品i关联一个因子向量yi,通过用户评分物品集合实现描述用户特征。模型如式(3)所示:

2.2 全局领域模型

本节借鉴基于领域的方法和矩阵分解模型两方面原理构建全局化的领域模型。常规的领域模型以特定用户的插值权重为中心,也就是在一个用户特定的领域Sk(i,u)中与物品i相关的物品集。为实现全局最优化,使用与特定用户无关的、从数据中通过最优化学习得到的基于物品的权重。全局化领域模型如式(4)所示。

这里把权重视作调整或者补偿的一部分,权重wij表示通过观察到的ruj来提高ruj的预测值。为降低模型复杂度,删除与基于物品关联相对应的参数,将Sk(i)定义为与物品i最相似的k个物品的集合。此外,定义Rk(i,u)=R(u)∩Sk(i),则全局化领域模型演变为式(5)。

模型参数优化使用Adam优化算法(见算法1[12~13])计算此模型的正则化问题(见式(6))。

算法1:Adam算法

2.3 基于循环网络的全域领域模型

全局化领域模型假定用户偏好和物品属性是静态的,但本质上,用户偏好和物品属性都是随着时间的推移而缓慢变化。本文基于循环网络对用户和物品的时效性进行建模,根据历史的评分数据预测将来的用户偏好。通过两个循环神经网络分别对用户和物品的时序性建模,用户的隐藏状态依赖于用户在当前时刻对物品的评分和前一时刻用户的状态,物品的隐藏状态依赖于当前时刻其他用户对这一物品的评分以及前一时刻物品的状态。

图1 循环神经网络结构

假定uit和mjt分别代表用户i、物品j在第t时刻的隐藏状态。那么用户i在第t时刻对物品m的评分就写成式(7):

其中uit和mjt表示用户i、物品j在第t时刻的隐藏状态,通过长短时记忆网络建模(LSTM)建模(见式(9)):

其中yit和yjt分别代表用户i、物品j在第t时刻的输入,用式(10)表述。

其中1new_user=1 和1new_item=1 分别代表新用户和新物品,τt代表第t时刻的时钟,Wa,Wb分别是用户和物品的参数投影矩阵,xit∈Rv表示用户i在第t时刻对物品的评分,V是物品数量。xjt∈Ru表示在第t时刻所有用户对物品j的评分,U是用户数量。模型参数通过优化下面的目标函数(见式(11))求出,表示模型的正则化项。

3 实验与分析

本文在PyTorch 平台上搭建所提出的推荐模型,运行系统为Win10 64位操作系统,处理器为Intel i7 CPU,32G 内存,选取GroupLens 站点提供的基准数据集MovieLen1 和MovieLen2(见表1),采用5折交叉验证法进行推荐模型的算法性能测试。

表1 测试基准数据集信息

为评估循环神经网络在全域领域模型应用的有效性,本文进行了对比实验。实验结果表2 所示。

表2 算法MAE、RMSE实验

从实验结果可知,基于循环网络的全域领域模型的平均绝对值误差(MAE)和均方根误差(RMSE)比全局领域模型低,表明本文所提出的基于循环网络的全域领域模型能深度挖掘用户和物品的隐藏特征,对算法产生积极的作用,表现出较好的推荐结果。进一步为了验证本文所提出的推荐模型与算法的有效性,将本算法与DSPR、TRSDL、CKE、RKGE、KGTA五种算法[14~15]进行对比实验。

从表3 对比结果可知,TRSDL 运用循环神经网络获得用户的长短期隐藏偏好获得了比DSPR 更好的预测结果。KGTA、PKGE 和CKE 三种算法模型借助知识图谱实现对用户的交互历史建模,取得了较好的性能。本文所提出的RNGA 算法在MovieLens1 和MovieLens2 基准数据集上都获得了比上述五种算法更佳的算法性能,说明将循环神经网络与全域领域模型的有机结合,有效发挥了循环神经网络和全域领域模型优势,提升了推荐准确性。

表3 与DSPR、TRSDL、CKE、RKGE、KGTA五种算法对比实验

4 结语

本文提出了一种基于循环神经网络的全局领域推荐算法,既利用了全局领域模型的固有的防止过拟合和风险控制能力,又将循环神经网络与全域领域模型相结合,将数据随时间漂移的特点整合到全域领域模型,进而提高了模型的预测准确性,实验结果验证了本文所提出算法的有效性。后续本文将在提升算法准确性的同时,进行模型计算复杂度的优化工作,致力于实现整体性能更好的推荐模型和算法。

猜你喜欢
全局全域神经网络
领导者的全局观
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
MIV-PSO-BP神经网络用户热负荷预测
“一碗面经济”是怎么“擀”成的?——县域经济应当精于全域“链条”
联合全域作战:美军军力新引擎
给力的全局复制APP
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
《2017全域旅游发展报告》发布
全域旅游嘉年华我在黔南等你!