温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
长短
记忆
稀疏
数据
过滤
推荐
算法
佘学兵
基金项目:2020 年江西省教育厅科技项目(GJJ202008)收稿日期:20211102修回日期:20211129第 40 卷第 2 期计算机仿真2023 年 2 月文章编号:10069348(2023)02039504基于长短期记忆的稀疏数据过滤推荐算法佘学兵1,熊蕾1,黄丽1,刘承启2*(1 江西科技学院信息工程学院,江西 南昌 330098;2 南昌大学网络中心,江西 南昌 330031)摘要:采用目前算法对稀疏数据进行过滤推荐时,没有综合考虑用户的整体评分特征和不同项目的单独评分对数据补全的影响,导致 MAE 值和 MSE 值大、F1 值小。提出基于长短期记忆的稀疏数据过滤推荐算法,首先通过相关因子对相似性进行计算,利用云模型将稀疏数据缺失项进行补全,然后采用补全后的数据构建长短期记忆网络,通过长短期记忆网络得到简单优化函数并对其求解,最后建立稀疏数据过滤推荐算法模型,完成基于长短期记忆的稀疏数据过滤推荐。实验结果表明,所提方法的 MAE 值和 MSE 值更小、F1 值更大。关键词:长短期记忆;稀疏数据;过滤推荐算法;云模型;相关因子中图分类号:TP391.3文献标识码:BSparse Data Filtering ecommendation AlgorithmBased on Long and ShortTerm MemorySHE Xuebing1,XIONG Lei1,HUANG Li1,LIU Chengqi2*(1 Jiangxi University of Technology,School of Information Engineering,Nanchang Jiangxi 330098,China;2 Network Centre,Nanchang University,Nanchang Jiangxi 330031,China)ABSTACT:Currently,some algorithms ignore comprehensively considering the influence of usersoverall ratingcharacteristics and the individual scores of different items on data completion during the sparse data filtering recom-mendation,resulting in large MAE and MSE values,and small F1 values In this paper,an algorithm of sparse datafiltering recommendation based on shortterm and longterm memory was proposed Firstly,the similarity was calcu-lated by correlation factors,and then the missing items in sparse data were complemented by the cloud model Afterthat,the completed data was used to build a shortterm and longterm memory network On this basis,a simple opti-mization function was obtained and solved Finally,a model of sparse data filtering recommendation algorithm wasconstructed Thus,the sparse data filtering recommendation based on shortterm and longterm memory was comple-ted Experimental results show that the proposed method can get smaller MAE values and MSE values,and larger F1valuesKEYWODS:Long and short term memory;Sparse data;Filtering recommendation algorithm;Cloud model;elated factors1引言过滤推荐算法是为了帮助受众群体精准地获得所需信息,但在实际应用过程中,常存在由于用户对于某个项目的浏览信息过少导致推荐效率下降、匹配度降低的问题1,所以如何通过稀疏数据进行过滤推荐是目前亟需解决的问题之一2。朱元3 等人首先建立异构信息网络后构造用户属性权重矩阵,然后在此基础上采用模糊贴近度算法对元路径属性权重进行估计,并找到其最近的邻居,最后通过 TopN 分析法进行过滤推荐。田保军4 等人通过 CFMTS 将获取到的全局和局部信息值加入过滤推荐算法中,将 CFMTS 与 PMF 相结合建立推荐模型,采用梯度下降法计算用户和项目特征向量从而完成过滤推荐。贾俊杰5 等人将数据按照信任度进行划分得到用户间显式信任值,结合用户评分可信度、隐式593和显式信任值获取专家信任因子完成稀疏数据的过滤推荐。以上方法没有综合考虑用户的整体评分特征和不同项目的单独评分对于数据补全产生的影响,存在 MAE 值和 MSE值大、F1 值小的问题。为了解决上述方法中存在的问题,提出基于长短期记忆的稀疏数据过滤推荐算法。2云模型数据填充2.1云模型用期望 Ex、熵 En 和超熵 He 对云数据特征进行整体表征,称其为云的特征向量6,用 C(Ex,En,He)表示,设样本方差用 S2表示,样本均值用 X 表示,得到 Ex、En 和 He 的计算公式如下He=21NNi=1|xi Ex|Ex=XEn=S213He2(1)2.2相似性度量在云模型中,通过逆向云算法对云的特征向量进行获取,将其作为相似性度量中用户的评分特征向量7,用 Cm=(Exm,Enm,Hem)和 Cn=(Exn,Enn,Hen)表示云的特征向量,得到云相似度8 sim(m,n)=CmCn/CmCn。为了综合考虑用户的整体评分特征和不同项目的单独评分,避免结果有效性不佳的问题,基于长短期记忆的稀疏数据过滤推荐算法采用相关因子对相似性进行计算,设两个不同用户 i 和 j 对于同一项目进行评分的总数用 xi,j表示,权衡系数用 表示,不同用户对同一项目进行评分的数目越多,对应的 越大,得到相关因子(xi,j)=11/2xi,j,由相关因子公式可以看出,随着 xi,j的增大,(xi,j)的值也随之增大,得到的最终填充项数据也越准确。若(xi,j)大于由用户根据数据集决定的指定值,则对用户相似度进行计算。2.3云模型数据填充算法云模型通过用户评分寻找相似用户并补全缺失项目评分,具体计算步骤如下:1)采用逆向云算法结合用户评分项对目标用户特征向量进行计算。2)寻找需要补全的评分数据缺失项,计算目标用户与其他用户之间的(xi,j),若满足条件,则对用户相似性进行计算。3)结合计算得到的相似性数据建立用户相似列表,获取该用户最近的 K 个邻居。4)根据获取到的 K 个邻居评分情况,通过加权平均算法和(xi,j)进行考虑,对用户的缺失的评分项进行计算。将用户评分项和余弦距离相结合获取用户相似度和相关因子9,通过用户 i 最近的 K 个邻居对其没有评分的项目I1进行评分补全,补全方法依据相似性原则和加权平均算法,设用户 i 的邻居 u 对于项目 I1的评分用 ru,1表示,i 的 K个邻居用 Ngb(i)表示,i 的总评分均值用 Si表示,u 的总评分均值用 Su表示,i 与 u 的相似度用 sim(i,u)表示,i 与 u 的相关因子用(xi,u)表示,得到补全用户评分项 Si1的计算公式如下所示10 Si1=Si+uNgb(i)(ru,i Su)sim(i,u)(xi,u)uNgb(i)|sim(i,u)|(xi,u)|(2)通过式(2),将稀疏数据中缺失部分进行补全。3基于长短期记忆的稀疏数据过滤推荐算法长短期记忆网络(LSTM)目前已被成功地应用于各个领域之中。设在 t 时刻的输入数据用 x(t)表示,x(t)的权值用Wxc表示,LSTM 在 t1 时刻单元和权值输出分别用 h(t1)和Whc表示,偏置参数用 bc表示11,得到 t 时刻记忆单元候选值?ct计算方式如下?ct=tanh(Wxcxt+Whch(t1)+bc)(3)设 t 时刻输入门的状态值用 i(t)表示,x(t)、h(t1)和 t1 时刻记忆单元候选值 c(t1)对 i(t)产生影响,对应的权值用 Wxi、Whi和 Wci表示,得到 i(t)计算方式如下i(t)=(Wxixt+Whih(t1)+Wcic(t1)+bi)(4)设 t 时刻遗忘门状态值用 f(t)表示,对应的权值用 Wxf、Whf和 Wcf表示,遗忘门的作用是避免历史信息对记忆单元产生影响12,f(t)计算方式如下f(t)=(Wxfxt+Whfh(t1)+Wcfc(t1)+bf)(5)设 t 时刻记忆单元的状态值用 c(t)表示,是点积计算,得到 c(t)的计算方式如下c(t)=f(t)c(t1)+i(t)?c(t)(6)设用来调控 t 时刻记忆单元状态的输出状态值用 o(t)表示,对应的权值用 Wxo、Who和 Wco表示,是 sigmoid 函数,得到 o(t)的计算方式如下o(t)=(Wxox(t1)+Whoh(t1)+Wcoc(t1)+bo)(7)设 LSTM 单元在 t 时刻的隐藏输出状态值用 h(t)表示,输入数据的隐藏前向状态用?h(t)表示,输入数据的隐藏后向状态用?h(t)表示,是整合计算,得到 h(t)的计算方式如下所示h(t)=o(t)tanh(c(t)=?h(t)?h(t)(8)LSTM 的结构分为以下几层:1)输入层通过对应项目的描述文档获取所需数据,添加到输入层中。2)Embedding 层Embedding 层负责将项目描述文档转换为数字矩阵并输入至 LSTM 层中。设该项目文档为长度为 l 的单词序列,词向量的维度用 p 表示,通过连接词向量将文档表现为矩阵形式,将词向量进一步优化13,在某时刻的输入用 wi表示,通693过 Glove 将矩阵=pl表示为 D=wi1丨丨wi丨丨wi+1丨丨的形式。3)LSTM 层LSTM 层的作用是获取上下文的特征,将序列 D 输入至LSTM 层中,设 ci表示上下文特征的分量,W 表示 LSTM 层的网络权重,ci受到 W 和 wi的共同影响,网络偏置用 b 表示,得到 ci和上下文的特征 C 的计算方式如下ci=tanh(W*w1+b)C=c0,c1,ci,(9)4)线性层利用线性层优异的非线性映射能力对 LSTM 输出的非线性特征组合处理,即在向量空间中采用简易权重对非线性组合特征进行学习14。设线性层权重用 Wl表示,偏置用 bl表示,得到线性层的输出 lo=tanh(Wl*C+bl)。5)Dropout 层Dropout 层在对网络进行训练时通过预先设定的概率值达到控制神经元输出的作用,促使每次网络训练使用的数据特征只为全部数据特征中的一部分,在线性层后接入Dropout 层可以避免过度拟合的问题15。设概率值为 1p 的二值向量用 mask 表示,以线性层的输出 lo作为 Dropout 层的输入,得到 Dropout 层输出 y 如下所示y=tanh(Wmask*lo),训练阶段(1 p)lo,其他(10)6)输出层以项目隐形特征向量 S 作为输出层结果,设输出层权重用 Wo表示,输出层偏置用 bo表示,得到输出层结果 S=tanh(Wo*lo+bo)。以项目行文档为输入,设全部权重用 W表示,行文档子项用 xj表示,得到文档隐向量 Sj