0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于深度神经网络的个性化推荐系统研究

电子工程师 来源:电子技术应用第1期 作者:字云飞 李业丽 孙 2021-04-26 18:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要:深度神经网络由于结构类似于生物神经网络,因此拥有高效、精准抽取信息深层隐含特征的能力和能够学习多层的抽象特征表示,且能够对跨域、多源、异质的内容信息进行学习等优势。提出了一种基于多用户-项目结合深度神经网络抽取特征、自学习等优势实现信息个性化推荐的模型,该模型通过对输入多源异构数据特征进行深度神经网络学习、抽取,再融合协同过滤中的广泛个性化产生候选集。

然后通过二次模型学习产生排序集,实现精准、实时、个性化推荐。通过真实数据集对模型评估实验,实验结果表明,该模型能够很好地学习、抽取用户隐特征,并且能够一定程度上解决传统推荐系统稀疏性、新物品等问题,同时实现了更加精准、实时、个性化的推荐。

0 引言

近几年,深度学习人工智能机器学习中取得了飞跃式的突破,特别是在语音识别和图像识别等领域[1-3]。其中,深度神经网络由于结构类似于生物神经网络,因此拥有高效、精准抽取信息深层隐含特征的能力和能够学习多层的抽象特征表示,且能够对跨域、多源、异质的内容信息进行学习等优势,可以一定程度上处理推荐系统稀疏性、新物品、可扩张性等问题,这为推荐系统解决固有问题带来了新的机遇。

本文提出了基于深度神经网络结合多用户-项目、协同过滤的推荐模型(Multi-View-Collaborative Filtering integrating Deep Neural Network,MV-CFiDNN)[4-6],基于深度神经网络理论,提取用户、项目信息的深层隐含特征并自学习、优化提取模型,最后结合多用户-项目、协同过滤(Collaborative Filtering)提供广泛的个性化推荐。

1 深度神经网络推荐模型

基于深度学习的推荐系统通过将用户和项目的各类原始数据信息提供给输入层,在隐含层通过神经网络学习模型进行用户、项目的隐特征学习及抽取,最后通过学习隐表示实现用户、项目推荐[7-8]。基于深度神经网络框架的两次自学习并结合协同过滤的CFiDNN框架如图1所示。CFiDNN框架两大核心为:候选生成网络融合协同过滤与排名网络结合协同过滤。

6368280191179453139748189.gif

其中,候选集产生以用户在浏览历史记录中的提取特征作为输入信息,然后基于多源数据库检索到与用户相关的一个数据集,这一数据集就是候选集。这部分候选集通过协同过滤(CF)实现广泛个性化。再通过用户、项目的多类特征源学习计算相似性,实现最小排名集,最后基于协同过滤实现推荐。

1.1 候选集生成模块

对于候选集生成,首先,将用户浏览及搜索项目等历史记录信息映射为向量,然后对其求平均值获取定长表示;并且,输入用户地理信息特征值优化个性化推荐效果,二值性和连续性特征值通过归一化得到[0,1]范围。其次,把所有输入特征值拼接到同一个向量,并且把拼接后的向量输予激活函数处理。最后,通过神经网络训练输给Softmax进行分类,通过训练的特征与源项目进行相似度计算,获取相似度最高的N个项目作为候选模块中的候选集,图2为候选生成结构图。

6368280193824759606409352.gif

基于生成的候选集协同过滤提供广泛的个性化,组合基于用户-项目相关度评价实现精准、实时、个性化推荐。

候选集生成部分是基于多源异构数据库中学习选择与用户相关度较高的项目,对于预测用户U,其浏览某一个信息的概率为:

6368280196554441123475868.gif

其中,U是用户特征值,V表示多源异构数据库,vi表示数据库中第i个项目的特征值,U与vi向量拥有相等长度,它两通过点积在隐层全连接实现。

1.2 排序生成模块

排序生成结构与候选生成结构类似,区别在于排序生成是对候选生成集升级细致分类排序。与传统排序抽取特征值类似,神经网络排序也是通过拼接大量用户、项目相关特征值(文本ID、浏览时长等)。特征值的处理与候选生成类似,都基于向量化,区别在于排序生成网络最后通过加权逻辑回归训练,给前期产生的候选集再评分,评分较高的K个项目返回给用户或通过协同过滤实现个性化推荐[8-10]。图3为排序生成结构图。

6368280200296619596060058.gif

设定部分Softmax分类过程:首先,对于候选生成集或排序生成列表的训练过程,通过对负样本类别采用实际类别计算将数量减小到数千;其次,在推荐阶段,不计Softmax归一化,将项目评分转化为点积空间的最近邻寻找或协同过滤根据相关度计算;最后,选取与用户U相关度最高的K项作为候选集或排序列表,然后通过协同过滤个性化推荐,把信息推荐给用户。

1.3 多用户—项目模型

基于多用户、多项目的多源异构特征结合两次深度神经网络学习,从而实现个性化推荐。其实现思想为:首先,将原始特征值向量化后映射为用户、项目两个通道;然后利用深度神经网络模型把用户、项目信息向量映射到一个隐空间;最后,通过评估相似度(如余弦相似度法)把隐空间的用户、项目进行相关度等排名、匹配,从而实现精准、个性化推荐。图4为多用户-项目DNN(Deep Neural Network)模型结构[11-12]。

6368280206875933185811440.gif

在用户视角,利用其浏览历史、搜索(Search tokens)、位置信息、二值性(登录与否、性别)和连续性(年龄)、观看时长等作为源特征值输入xu,然后通过深度神经网络学习模型学习输出隐表示yu。在项目视角,利用项目的描述、标签、类型等作为源特征值输入xi,通过深度神经网络学习模型学习输出隐表示yi。
其中模型拥有多个用户、项目,分别为m、N。用户视角DNN模型为fu(xu,wu),第i个项目视角DNN模型为fi(xi,wi)。若拥有M个样本{(xu,j,xa,j)},0≤j≤M,(xu,j,xa,j)是用户u与项目a的交互,利用用户、项目的拟合交互记录进行调参学习:

6368280209539101608675854.gif

通过模型训练、学习之后获得的用户隐表示yu与项目隐表示yi,利用在隐空间中计算用户与项目的相关度、排名,选择相关度排序较高的k项目以及源数据库协同过滤实现精准、个性化推荐。

1.4 特征值向量化

特征值向量化是通过词组嵌入,将特制文本映射到w维空间向量。首先,把用户、项目所有相关联特征值分别合并,并对特征值量化为评分数据然后求其平均值,即对多源异构原始数据进行评分式数据处理及归一化。

(1)用户特征数据为:

6368280239626207863540807.gif

6368280241284014346763766.gif

1.5 全连接层

全连接层(隐层)输入数据为用户、项目源特征值向量化后的值,设隐含层共m个神经元,通过隐含层ReLU激活函数处理后,获得向量ui,就是用户useri隐特征值,同理,项目itemj的隐特征值向量为vj,计算过程如下:

6368280246213875338525932.gif

1.6 矩阵分解

6368280248305000174734569.gif

最后,利用Adam深度学习优化方式对预测与真实评分进行拟合[13],对于一些拥有评分的项目,使预测最大可能接近真实,由此学习推荐,对新物品实现个性化推荐(未评分项目预测真实评分无限接近预测值)。

6368280250241281158428736.gif

2 实验仿真及分析

2.1 实验环境

算法性能分析的实验环境以Windows Server2012 R2操作系统为实验支撑,相关配置为:Intel Xeon Silver 4116 CPU处理器编程语言Python,128 GB内存,双GPU。编译环境在Anaconda的Jupyter Notebook中实现并采用MATLAB进行仿真。

2.2 数据集合

本文通过2个真实、实时数据集,对深度神经网络融合协同过滤推荐模型进行评估,数据集分别为Amazon Movies and TV(AMT)评论评分与Amazon Clothing(AC)视频评论、评分。数据包括用户ID、物品ID及用户评论、评分。评分值为1~5,值越大用户喜好度越高。同时,实验数据按需求进行训练集TrainSet与测验集TestSet划分,且二者没有交集。

2.3 评价标准

本文提出的深度神经网络融合协同过滤推荐模型通过用户与项目的各类历史记录中抽取隐特征,然后对特征值进行学习预判、排序。因此本文应用均方根误差(RMSE)作为评价此模型的指标,通过学习特征模型与真实特征计算偏差,并求平方,然后与预测数据量N做比值平方根,计算公式如下:

6368280254644490511165444.gif

2.4 实验对比

实验通过3个有效模型进行比较,分别为Probabilistic Matrix Factorization(PMF)、LibMF和DNNMF。

2.5 执行时间对比分析

深度神经网络(DNN)推荐算法与传统协同过滤(CF)运行时间对比:实验处理数据为AMT、AC真实数据,大小为1.88 GB。深度神经网络输入节点为1 024个,隐含层18个,输出节点1 024个,Spark集群节点为3,比较深度神经网络训练与传统协同过滤处理数据集的耗时。实验结果如图5所示,其中user表示用户测试数据集耗时,item表示商品测试数据集耗时。显然,DNN执行效率更高。

6368280257433859417838196.gif

2.6 实验结果与分析

实验在2个真实数据集下通过本文提出的MV-CFi-DNN模型进行计算评估,同时用RMSE来对模型进行评估预测,在相同实验环境与同一数据前提下,将MV-CFi-DNN与PMF、LibMF做比较分析。

参数设置为:用户、项目特征值权重分别为α=1,β=0.5,MV-CFiDNN模型学习率为lr=0.000 65,用户、项目隐特征正则化为λuser=λitem=λ,深度神经网络神经元数为1 026个。

为了将MV-CFiDNN模型与PMF、LibMF模型对比,把2个真实数据集随机分为80%的TrainSet与20%的TestSet,且两者没有交集,同时把TestSet中的20%数据集随机用于验证,用来调整模型参数。

从图6可知,通过在2个真实数据集中测试后,PMF、LibMF的RMSE值相差不大,但与MV-CFiDNN模型的RMSE值有一定差异,表明深度神经网络融合多用户-项目、协同过滤模型对于特征值抽取有很好效果。通过实验结果可以看出,本文提出的深度神经网络融合多用户-项目协同过滤模型(MV-CFiDNN)的RMSE值与PMF、LibMF模型比较,都有下降,说明MV-CFiDNN模型能够解决传统算法模型的稀疏性、新物品等问题。

6368280265737090199814601.gif

3 结束语

本文通过深度神经网络融合协同过滤,提出了MV-CFiDNN模型,该模型首先对原数据库进行深度神经网络结合协同过滤个性化进行学习、提取特征值然后生成候选集,再对候选集进行二次学习、提取等生成排序集。产生候选集与排序集过程的深度神经网络学习方法包括输入层、隐含层及输出层,其中输入层是对输入特征值进行向量化后与用户、项目权重内积传输给隐含层,隐含层根据接收到的值进行调参、重置等神经网络学习,然后学习、提取的特征值传递给输出层。通过计算得到预测值与真实值拟合。

未来研究可以通过多种神经网络结合更多基础推荐模型,以便使系统实现智能且符合人为思想的精准、个性化推荐。

参考文献

[1] PENG Y,ZHU W,ZHAO Y,et al.Cross-media analysis and reasoning:advances and directions[J].Frontiers of Information Technology & Electronic Engineering,2017,18(1):44-57.

[2] COVINGTON P,ADAMS J,SARGIN E.Deep neural networks for youtube recommendations[C].Proceedings of the10th ACM Conference on Recommender Systems.ACM,2016:191-198.

[3] LI P,WANG Z,REN Z,et al.Neural rating regression with abstractive tips generation for recommendation[Z].2017.

[4] SONG Y,ELKAHKY A M,HE X.Multi-rate deep learning for temporal recommendation[C].Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2016:909-912.

[5] VASILE F,SMIRNOVA E,CONNEAU A.Meta-Prod2Vec:product embeddings using side-information for recommendation[C].ACM Conference on Recommender Systems.ACM,2016:225-232.

[6] HSIEH C K,YANG L,CUI Y,et al.Collaborative metric learning[C].Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2017:193-201.

[7] WANG X,HE X,NIE L,et al.Item silk road: recommending items from information domains to social users[Z].2017.

[8] ROY S,GUNTUKU S C.Latent factor representations for cold-start video recommendation[C].Proceedings of the 10th ACM Conference on Recommender Systems.ACM,2016:99-106.

[9] ZHENG L,NOROOZI V,YU P S.Joint deep modeling of users and items using reviews for recommendation[C].Proceedings of the Tenth ACM International Conference on Web Search and Data Mining.ACM,2017:425-434.

[10] EBESU T,FANG Y.Neural citation network for context-aware citation recommendation[C].International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2017:1093-1096.

[11] Zhang Qi,Wang Jiawen,Huang Haoran,et al.Hashtag recommendation for multimodal microblog using co-attention network[C].IJCAI2017,2017.

[12] WEI J,HE J,CHEN K,et al.Collaborative filtering and deep learning based recommendation system for cold start items[J].Expert Systems with Applications,2017,69:29-39.

[13] WANG S,WANG Y,TANG J,et al.What your images reveal: exploiting visual contents for point-of-interest recommendation[C].Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2017:391-400.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音识别
    +关注

    关注

    39

    文章

    1803

    浏览量

    115561
  • 人工智能
    +关注

    关注

    1813

    文章

    49736

    浏览量

    261534
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    :   神经网络卷积函数   神经网络激活函数   全连接层函数   神经网络函数   Softmax 函数   神经网络支持功能
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 705次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    问题。因此,并行计算与加速技术在神经网络研究和应用中变得至关重要,它们能够显著提升神经网络的性能和效率,满足实际应用中对快速响应和大规模数据处理的需求。神经网络并行
    的头像 发表于 09-17 13:31 886次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    利用API提升电商用户体验:个性化推荐系统

      在当今竞争激烈的电商环境中,个性化推荐系统已成为提升用户粘性和转化率的核心工具。通过API(Application Programming Interface)集成,电商平台能够高效接入先进
    的头像 发表于 07-14 14:45 380次阅读
    利用API提升电商用户体验:<b class='flag-5'>个性化</b>推荐<b class='flag-5'>系统</b>

    无刷电机小波神经网络转子位置检测方法的研究

    MATLAB/SIMULINK工具对该方法进行验证,实验结果表明该方法在全程速度下效果良好。 纯分享帖,点击下方附件免费获取完整资料~~~ *附件:无刷电机小波神经网络转子位置检测方法的研究.pdf
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    ,在一定程度上扩展了转速估计范围。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络RAS在异步电机转速估计中的仿真研究.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权
    发表于 06-16 21:54

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由卷积层、池
    的头像 发表于 02-12 15:53 1307次阅读

    BP神经网络的优缺点分析

    自学习能力 : BP神经网络能够通过训练数据自动调整网络参数,实现对输入数据的分类、回归等任务,无需人工进行复杂的特征工程。 泛能力强 : BP神经网络通过训练数据学习到的特征表示
    的头像 发表于 02-12 15:36 1586次阅读

    什么是BP神经网络的反向传播算法

    BP神经网络的反向传播算法(Backpropagation Algorithm)是一种用于训练神经网络的有效方法。以下是关于BP神经网络的反向传播算法的介绍: 一、基本概念 反向传播算
    的头像 发表于 02-12 15:18 1275次阅读

    BP神经网络深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小
    的头像 发表于 02-12 15:15 1340次阅读

    BP神经网络的基本原理

    BP神经网络(Back Propagation Neural Network)的基本原理涉及前向传播和反向传播两个核心过程。以下是关于BP神经网络基本原理的介绍: 一、网络结构 BP
    的头像 发表于 02-12 15:13 1518次阅读

    深度学习入门:简单神经网络的构建与实现

    深度学习中,神经网络是核心模型。今天我们用 Python 和 NumPy 构建一个简单的神经网络神经网络由多个神经元组成,
    的头像 发表于 01-23 13:52 842次阅读

    人工神经网络的原理和多种神经网络架构方法

    所拟合的数学模型的形式受到大脑中神经元的连接和行为的启发,最初是为了研究大脑功能而设计的。然而,数据科学中常用的神经网络作为大脑模型已经过时,现在它们只是能够在某些应用中提供最先进性能的机器学习模型。近年来,由于
    的头像 发表于 01-09 10:24 2249次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法