没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报UBMTR:基于无监督玻尔兹曼机的时间感知推荐系统总经理HarshvardhanMr.,Mahendra Kumar Gourisaria,Siddharth Swarup Rautaray,Manjusha Pandey计算机工程学院,KIIT被视为大学,Odisha 751024,印度阿提奇莱因福奥文章历史记录:收到2020年2021年1月23日修订2021年1月23日接受在线预订2021年保留字:推荐系统限制玻尔兹曼机无监督学习时间信息A B S T R A C T在当今世界,视觉媒体已经席卷了大多数形式的日常交流。在生成式建模领域,受限玻尔兹曼机(RBM)被用来解决复杂的任务,如特征提取、神经成像、协同滤波、雷达目标识别等。在本文中,我们实现了一个无监督的玻尔兹曼机为基础的时间感知推荐系统(UBMTR),它检测潜在的隐藏功能,在用户的电影评级数据在每个评级的时间(时间信息)。该模型将收视率和时间作为双输入,通过蒙特卡罗马尔可夫链采样的对比发散算法输出二进制值。可以说,请求的内容和时间条件之间存在相关性,这正是我们的模型试图利用的。很少有任何工作领域的recom-mender系统建立使用玻尔兹曼机,纳入时间信息,这需要在这一领域的研究。RBM擅长于模式完成以解决缺失值,并且可以通过将原始数据编码为潜在变量来处理不平衡的数据集和非结构化数据使用RBM,UBMTR优于许多早期通过CF和深度学习或其混合模型进行的推荐系统尝试。版权所有©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍先前采用的视觉媒体识别器包括基于关联规则学习的(Li等人,2018)、基于内容的协同过滤(CF)(Pang等人,2017; Parsad等人,2016 a,2016 b)和混合推荐(Lu等人,2015)(使用所有方法中最好的方法来提高性能)方法。协同过滤使用通过将每个用户分类到他们最接近所属的集群中来寻找最近邻居的概念,并推荐该集群喜欢的内容类型。尽管它是最传统和最常用的推荐技术,包括高度自动化,但它也存在冷启动(Guo和Deng,2008)和数据稀疏*通讯作者。电子邮件地址:harrshvardhan@gmail.com(GM Harshvardhan),kiit.ac.in(S.S.Rautaray),manjushafcs@kiit.ac.in(M. Pandey)。沙特国王大学负责同行审查制作和主办:Elsevier(Xue等人, 2015年)。随着深度学习的快速出现,可以肯定地说,已经尝试通过神经网络的力量使用深度学习来重新创建记录器系统。有了深度学习和大数据框架,如HADOOP(Jena等人,2017年),可以以更高的速度处理大量复杂数据(Zhang et al.,2019年)的报告。 主要用于推荐系统的神经网络包括RNN(递归神经网络)和CNN(卷积神经网络)(Jee等人, 2021年)。许多尝试(我们在第3节中讨论)在创建推荐系统往往无法理解的重要性,时间数据被视为目标用户的数据的一部分例如,如果推荐的结果直接取决于一天中的时间(当用户与服务交互时),则用户满意度会更好。识别不同时间的一种可能方法是将时间分为周末和工作日两大类。 以这种方式,如果用户在工作日(例如,星期一)与服务交互,并且如果用户在星期天再次交互,则推荐结果将不同。人们可能更喜欢在周末观看具有较长持续时间的内容,并且考虑到他们在一周内的忙碌程度的变化,可能在工作日观看较短持续时间的内容。本文的主要贡献可以说明如下:https://doi.org/10.1016/j.jksuci.2021.01.0171319-1578/©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comGM Harshvardhan等.沙特国王大学学报6401Fig. 1. UBMTR推荐流程图。i) 我们研究玻尔兹曼机,并利用它们的非监督深度学习能力,通过用户的历史数据找到用户喜好的隐藏特征(该过程如图所示)。①的人。ii) 我们包括时间数据的用户更好的特征提取有个性化的推荐内容交付。iii) 我们实现这种方法的基准测试,并表明,我们的模型,UBMTR,可以实现国家的最先进的指标相比,其他方法。iv) 据我们所知,迄今为止,文献中还没有工作将RBM用作时间背景下的推荐系统,即。考虑到时间的重要性这使得UBMTR特别新颖。本文的其余部分组织如下-在第2节中,我们描述了为什么这项工作是重要的,是在第3节中,我们描述了在推荐系统领域中的相关工作。此外,在第4节中,我们提出了一个简短的背景研究推荐系统.在第五节中,我们简要介绍了RBM及其培训程序。接下来,在第6节中,我们定义了如何进行实验,即如何创建3D数据集以馈送到RBM。在第7节中,我们分析了UBMTR取得的结果,并对建议进行了深入分析,以了解其适用性和准确性。提出了今后的发展方向模型在第8中讨论。最后,在第9中,我们以某些结论性意见结束我们的工作。2. 动机和目标这项工作的主要动机是探索RBM等无监督深度学习方法如何推荐系统长期以来一直使用的唯一输入的定性数据,如那些帮助解决用户或客户和产品之间的映射任务这在过去已经通过像协同过滤、基于关联规则的推荐、基于内容的推荐等技术来最近的发展(Li等人,2017; Zhang和Chow,2016;Yang等人, 在推荐系统范例中,人们越来越关注将时间作为影响消费者选择的可能特征。扩展这一新的趋势,我们探索了一种新的方式来建模用户的兴趣使用时间信息通过RBM打开一个新的研究前沿,在这种范式。RBM是生成模型(GM等人,2020),不对数据进行分类,而是创建类似于原始数据分布的新数据。此外,我们意识到,在文献中没有其他工作考虑使用RBM作为具有时间输入的推荐系统,这一事实作为额外的动机,以一种独特的方式来解决这个建议因此,这项工作的目的是使用RBM来探索如何为单个用户推荐电影标题。在周末的时候这项研究的目的是创建一个推荐系统,可以准确地模拟用户的喜好如何有了这项工作,我们希望打开一个新的研究领域,推荐系统,其中使用无监督的、无向的基于能量的神经网络来生成原始数据的新的和类似的表示,以执行包括时间作为可能的特征分量的有效推荐。3. 相关工作目前存在各种各样的推荐系统,但是位置感知(Noulas等人,2012; Levandoski等人,2012)和时间感知(Li等人,2017; Yuan等人,2013; Zhang和Chow,2016)推荐系统最近变得更加相关。相信人们访问不同地方的时间之间有很强的相关性,王等人。(2013)提出了基于位置的社交网络(LBSNs),其旨在预测用户何时应该访问特定的地方,例如,人们可能更喜欢中午去餐馆,晚上去酒吧。Wu et al.(2016)提出了使用深度递归神经网络(RNN)来跟踪电子商务系统中特定用户会话中的当前用户浏览数据。推荐过程受到实时跟踪用户在不同页面中的访问的影响,并记录这些页面的顺序。Campos等人(2013)提供了最先进的时间感知推荐模型的详尽 分 类 , 并 制 定 了 一 组 在 处 理 时 间 感 知 推 荐 系 统 时 要 遵 循 的Georgiev和Nakov(2013)通过在受限Boltzmann机器(RBM)中对项目-项目和用户-用户评级进行建模,提出了一个CF框架,并在输入层中引入了真实值,以保持用户-项目评级之间的原始顺序。传统的协同方法虽然有效,但无法解决数据稀疏和冷启动问题。为此,GM Harshvardhan等.沙特国王大学学报64021/4fg⊂)fm m mm喜欢)fg喜欢)fg我JNmi)fgN图二.(Yang等人,基于时间感知CNN的个性化推荐(TC-PR)与其他推荐方法的性能。Salakhutdinov等人(2007)使用RBM进行协同过滤,并且使用相同的模型,Liu等人(2015)将项目类别信息纳入RBM的条件层中,以基本上建立项目类别感知模型。同样,Xie等人(2016)认为,传统的CF方法没有考虑人口的生命统计数据(年龄,职业,性别等),因此,他们提出了一种RBM模型,该模型具有额外的层来处理占用信息并实现用户占用感知模型。在基于时间感知卷积神经网络的推荐系统中,Yang等人进行了最全面的尝试。(2019),他通过考虑时间数据来关注用户个性化推荐,这些时间数据在MSE(均方误差)和RMSE(均方根误差)方面 超 过 了 大 多 数 其 他 推 荐 算 法 ( User CF , time-aware-CF ,CNN)(图1)。 2)的情况。表1所有相关工作的总结。斯诺工作参考所有相关工作的摘要见表1。我们注意到,在通过使用无监督深度学习技术(或无向神经网络)实现时间感知推荐系统方面几乎没有任何工作,这正是我们在本文中尝试的。4. 背景在本节中,我们首先在4.1小节中描述推荐系统的不同类别,然后我们继续到4.2小节并介绍玻尔兹曼机和所有相关术语。本节可以被认为是初步的。4.1. 推荐系统推荐系统的两大类是透明推荐方法和更流行的深度学习方法。传统的推荐系统包括基于关联规则的推荐算法、基于内容的推荐算法、协同过滤算法和混合推荐算法。基于内容的推荐系统:基于内容的推荐系统背后的概念围绕着创建项目配置文件和找到用户可能喜欢的共同方面。假设一组项目被定义为I i1;i2;i3;. 我,这些物品中的每一个都将有一个关于物品拥有的特征的物品简介例如,电影最后一步是推荐最符合该用户配置文件的项目。基于关联规则的推荐系统:基于关联规则的学习的两个主要类别是Apriori和Eclat算法。我们从Apriori开始,它可以被最好地描述为“买x的人也买y”。. ” or ‘‘1.(Levandoski等人,2012年)2.(Noulas等人, 2012年)使用基于位置的评级来产生建议。提出了一种基于用户位置图的个性化随机游走模型,用于改进基于位置服务网络(LBSN)的位置推荐。即U和M分别包括n个用户和m部电影,如U^fu1;u2;···;ung和M^fm1;m2;···;mng。假设我们有这样的数据:喜欢11;二、3;4喜欢3.(Wang等人,2013年度)利用LBSN用户签入的独特属性位置建议的数据。u2m1;m2喜欢u4.(Li等人, 2017) 提出时间感知产品推荐模型通过利用网络表示学习技术使用产品图嵌入模型。3)fm1;m2;m4gu4m1;m2喜欢u5.(张和Chow,2016年)6.(Yuan等人,2013年度)提出了一个概率框架,时间影响相关性(TIC)来布局时间感知位置推荐。使用时间感知的兴趣点框架进行位置推荐。5)fm2;m4gu6m1;m3我们可以制定以下潜在规则:m1?m2m2?M47.(Wu等人,(2016年)使用RNN跟踪当前用户浏览数据,电子商务系统。m1?M38.(Campos等人, 2013年度)9.(Georgiev和Nakov,2013)10.(萨拉胡季诺夫例如,(2007年)列出了一个详尽的分类国家的最先进的时间感知推荐系统,并提供了评估这些系统的指导方针将RBM用于CF并对用户-用户和项目-项目评级进行建模。使用RBM实现CF,通过具有高斯隐藏单元的RBM和条件RBM来优于奇异值分解(SVD)模型。这里,潜在规则意味着如果用户u喜欢m1,则他们也可能喜欢m2,并且对于其他两个规则类似,这是如何在最频繁使用或一起购买的物品之间创建关联规则。Apriori算法有三个组成部分:支持度S、置信度C和提升度L。 在我们的例子中,这些可以计算如下:11.(Liu等人,2015) 实现项目类别感知条件成果管理制模式。12.(Xie等人,(2016年)利用人口统计数据的职业,使用成果管理制的用户进行推荐。SmiNmi;1Nm m13.(Yang等人,2019年实现基于时间感知CNN的个性化推荐系统C. m!mmi;j;102uGGM Harshvardhan等.沙特国王大学学报6403ð Þ徐iXðÞP--2;;xyxx;y¼Eðþ ÞP-我×JS. mj;u;uuP104.3.基于能量的模型L. m! m ° C。mi! mjð3Þ以及较大数据集的高处理时间。推荐器系统社区慢慢接受了深度学习的推荐,直到2016年才最终流行起来。其中N是用户总数,Nmi是观看mi的人数(因此Nmi;mj是观看mi和mj的人数)。使用提升的值,基于Apriori的模型构建关联规则(如果提升值很高),并将两个项目关联在一起以用于进一步的推荐目的。另一方面,Eclat模型采用一种更简单的方法,只考虑SM:协同过滤(CF):该算法通常将用户划分为具有相同品味或选择的用户集合,并且将目标用户分类为他们各自的相似用户集合。然后推荐给目标用户的项目仅仅是该邻居或集合的用户喜欢的前M个项目最近邻算法(基于用户)是CF主要应用的地方。最流行的协同过滤方法是基于记忆的方法.通常,项目i的相似用户的评级的聚合计算为(其中r代表评级):ru;i¼aggru02Uru0;i4其中U是与目标用户u最相似的前M个用户的集合。聚合函数aggr可以有许多类型,其中一些是:1R¼r10的;105公斤4.2. 所述玻尔兹曼机玻尔兹曼机与任何其他众所周知的神经网络(如人工神经网络,CNN,RNN等)之间的关键区别之一。例如)是它是无向网络。这意味着值可以通过向前方向和下一时刻向后方向的权重相乘(这个过程被称为吉布斯采样,我们稍后会图3示出了玻尔兹曼机中的所有节点是如何互连的并且是双向联动的。玻尔兹曼机由两层节点组成,主要称为“可见”和“隐藏”节点。输入向量,馈送到可见节点,被前馈到隐藏节点,然后再次反馈到可见节点,这个过程(采样)继续,直到隐藏节点的值在一次采样后保持不变。换句话说,给定可见节点,隐藏节点得到更新,然后给定隐藏节点,可见节点得到更新与其他神经网络不同,它没有输出层。– 通过馈送输入的同一可见层获取输出。理解玻尔兹曼机如何工作的最好方法是;Mu02Uu;i承认BM(玻尔兹曼机)产生数据并不断生成系统的状态最后一个国家的发电机-ru;i<$kxu;u0ru0;i;6u02U我的天啊u;u0r10的-r07u02U由BM在终止前所处的状态是最类似于我们的系统的状态。由于BM生成系统的数据或状态,并查看哪个状态与真实状态最匹配,因此它们通常被称为随机或生成式深度学习模型。这是一种无监督的方法,因为如果我们要为核电站建模BM,我们将建造其中ru0是用户u在所有用户评级中的平均评级,k是标准化因子,定义为1它来自发电厂的良好行为,在那里一切都正常运行。这样,如果任何输入BM的参数失控(或看起来Pu02Ujxu;u0j;2008年工厂最终崩溃(这与我们的BM生成的最佳相似系统并不相关),我们其中xx;y是两个用户x,y的相似性(通过皮尔逊相关性):会有早期的信息。像这样的过程无法通过监督式深度学习方法完成,因为我们没有来自世界各地的核电数据。我 我rx i rxRyIRyrPrxi-rx2rPry;i-ry2i2Iyð9Þ工厂熔毁或故障。其中Ixy是由x和y评定的项目集。混合推荐算法:混合推荐系统包括两个或更多个推荐算法的组合(并且还可以是上面列出的算法的不同版本)深度学习技术:通常,为了构建推荐系统而应用的深度学习技术采用监督方法,在该方法下,属于深度学习的监督分支中的两种主要类型的神经网络,即CNN(Salehi等人,2017; Wang等人,2017a ,2017b)和RNN。CNN由许多层(深度前馈网络)组成,这些层将输入向量与不同的过滤器进行卷积,之后是激活层、池化层、全连接层和输出层。另一方面,RNN处理顺序数据输入(堆叠多层感知器,更具体地称为长短期记忆(LSTM)单元),并试图预测时间t1的事件结果。例如,在视频数据分析中,在时间t处的帧之前的帧的数据可能在以下方面具有主要发言权:自然界中的实体更喜欢最稳定的状态。这是因为具有非常高的能量E的状态具有低的存在概率P,即P/1。玻尔兹曼常数是根据2019年国际单位制基本单位重新定义的七个定义常数之一。玻尔兹曼机根据能量概率原理工作,并找出哪个状态存在的概率最高(相反,哪个状态的能量最低)。具体公式如下:e-Ei=KTI¼M eEj=KT第1页式中Pi和Ei分别是态i的几率和能量,K是玻尔兹曼常数(等于1.380649 ×10- 23 J/K)。这也是为什么这些神经网络被称为LeCunet al. (2006)提到基于能量的模型(EBM)在2011年的框架可能看起来像。Karatzoglou和Hidasi,2017年;Wang等人,2015年; Li和She,2017年处理使用深度网络构建的推荐系统,主要用于解决数据稀疏性问题1第106次会议记录(PDF)。国际度量衡委员会。塞夫勒2017年10月16日pp. 十七比二十三;千分之四GM Harshvardhan等.沙特国王大学学报6404Z1/4fg图3.第三章。玻尔兹曼机。栗色节点被认为是可见的,蓝色节点被认为是隐藏的。然而,这只是一种约定(没有固定的隐藏或可见节点)。具有一个输出值,该输出值确定变量X和Y之间的兼容性程度,变量X和Y分别是相关的和独立假设变量Y仅输出确定输入向量X提供的数据类别的离散值,通过能量函数,我们遵循以下惯例:Y的每个离散值的较低输出值是变量的兼容或较强配置,反之亦然,其中较大的值将意味着两个变量的配置都是弱的。例如,如果Y可能采用的离散值是:像这样的函数可以称为对比函数、负对数似然函数或值函数。BM中的能量是通过每个视图之间的权重定义的。隐藏节点和隐藏节点。一旦这些权重被设置,系统将总是试图达到最低的能量状态。BM遵循的更具体的方程如下:Pv;h1e-Ev;h;其中,Ev;hv-Xaivi-Xbj hj-X Xviwi;jhj12我J我J这里,a;b是偏置或常数,v i和hi分别是第i个可见节点和隐藏节点,wi;j是可见节点和隐藏节点之间的权重,Z是所有可能状态的总和。任何神经网络中的偏差都有助于改变模型以最佳拟合给定数据,就像简单线性函数中的常数cy<$mxc13Vinita(2019)解释说,在任何神经网络中,权重都会增强激活函数的响应性,并决定激活函数触发需要多长时间另一方面,偏置用于增加激活函数触发所花费的时间通过这种方式,在存在偏差的情况下,我们可以防止模型通过越过原点而只学习点,这是非常不可取的。Neil(2012)通过一个例子描述了偏见在我们的BM案例中是如何起作用的假设-如果我们有100个输入节点,它们总是相互跟随,网络通过开发连接这些相关输入节点的强权重来对其进行编码。在节点的隐藏向量中,BM不需要分配当这些输入全部为OFF时激活的节点,因为当检测到全部为ON的特征节点为OFF时,偏置降低了它们的OFF状态当大多数可见节点触发(或激活函数输出显著值)时,隐藏节点被视为开启,从而为系统创建一个低能量状态,其中所有输入都开启。另一方面,如果只有一个输入节点始终开启,没有隐藏节点被登记,则偏置项作用于始终开启的隐藏节点,这降低了始终处于开启状态的输入的能量状态。以同样的方式,如果输入节点通常设置为OFF,则网络也可以正确5. 拟议方法我们以下面的方式描述了所提出的方法-在第5.1小节中在第5.2小节中,我们进一步阐明了RBM的训练算法,称为对比发散。第6中描述了处理输入数据的确切方法。5.1. 受限玻尔兹曼机玻尔兹曼机的主要问题是实际上不可能在现场部署它们。由于每个节点与每个其他节点之间链路的双向性,对每次行走进行采样在计算上是非常昂贵的。这仅仅是因为,从数学上讲,随着节点数量增加1,链接数量呈指数增长。为了克服这个问题,仍然使用BM的力量,限制玻尔兹曼机(RBM)被提出。使BM成为成果管理制的制约因素是:i) 隐藏节点可以彼此不互连,并且ii) 可见节点可以彼此不互连。图 4说明了成果管理制的结构。 使用图 4.我们说明了成果管理制的运作。从图中可以看出,有6个可见(输入)节点和5个隐藏(特征检测)节点。假设可见层由输入向量X表示,输入向量X具有被馈送为X m1;m2;m3;m4;m5;m6 的初始输入值,并且隐藏层由特征向量Y表示,特征向量Y例如检测特征YfGenreA;GenreB;ActorX;AwardY;DirectorQg。 注意– 只有数字。RBM有能力自动决定哪些功能是重要的,这使得它们强大而不超级。见图4。受限玻尔兹曼机(RBM)仅具有异质连接,即隐藏到可见或反之亦然。实际上,我们并不决定RBM检测到什么样的特征GM Harshvardhan等.沙特国王大学学报6405×表2样本数据。电影1电影2电影3电影4部电影5电影6用户110null111用户2010010用户3null1100null用户4101101用户50null11null1用户600001null用户7101101用户8011null01用户9null01111用户101null00null0用户11011101vised神经网络回到我们的例子,矩阵的值本质上是离散的,并且在范围{null,0,1}中,其中null表示用户没有观看特定电影,并且0和1分别表示用户现在,我们将一行数据{0,null,1,0,1,null}馈送到输入节点。输入向量中的null值是要预测的值,因为这些值将是我们的RBM将提出的建议(如果代替null的预测值为1)。让电影具有以下特点:m1:{GenreB}m2(null):{GenreB}m3:{GenreA,AwardY}m4:{GenreB,DirectorQ}m5:{GenreA,ActorX,AwardY}m6(null):{GenreA,ActorX,Award Y}对于输入向量的非空值,隐藏节点将识别哪些特征最好地描述特定用户的选择。在我们的插图中,用户喜欢的功能亮起绿色和用户没有的功能(来自RBM通过对不同用户的数据进行训练,可以识别出m2和m6具有哪些特征。因此,在第一次前向传递中具有训练的特征向量之后,连接到可见节点m2和m6的节点在后向传递中激发并贡献它们的值,并且我们对于最初为空的每个节点(在我们的情况下为m2和m6这就是RBM如何通过重构输入数据来生成数据或生成系统的状态。在训练过程中,如果值的重建不正确(通过与输入向量中可用数据的初始值进行比较),则会为下一遍调整权重以获得更好的结果-就像任何其他神经网络一样。我们的例子的结果可以如图所示。 六、5.2. 对比散度我们看到了RBM如何重构输入以提供结果。初始和最终结果阶段之间的过程是RBM学习的过程,它是通过对比发散2完成的(Woodford,2006)。作为一种随机(随机)方法,它由落入马尔可夫链蒙特卡罗算法(MCMC)下的输入和隐藏节点的一系列吉布斯采样组成(Hinton等人,2016),这是一系列用于概率分布抽样的技术。对比发散用于近似网络梯度图的斜率,该梯度图在网络的权重和误差之间绘制。(Salakhutdinov等人,2007)解释了为什么使用对比发散-在不可能立即评估一组概率的情况下,需要一些推理模型来估计算法的学习梯度以决定向哪个方向移动。在有向神经网络中,调整权重的方法被称为随机梯度下降(SGD),这不适用于无向(双向)网络,因此使用对比发散(CD)。可见节点和隐藏节点之间的CD过程如图所示。7 .第一次会议。梯度近似公式可以写为:@logpvooo11值为0的电影)亮起红色(见图1)。 5)。@wi;j1/4-1400万其中,p是概率y,v 0和v1是第i个初始和最终vis。我我h0和h1分别是第j个初始和最终隐藏层J J图五. 隐藏节点检测特征。见图6。重构输入(结果)。层,其中wi;j作为状态i和j的可见节点和隐藏节点之间的权重。减去近似公式(14)的RHS上的两个项(初始- CD帮助模型找到最低的能量状态,如图所示。8.第八条。让模型计算n个完整的步骤,然后它收敛(我们得到具有最低能量状态的重建输入)的问题是,重建输入被改变,变得与我们的初始输入完全不同。避免见图7。Hinton et al.(2016).可见和隐藏节点之间的对比发散(CD)过程。GM Harshvardhan等.沙特国王大学学报6406Tu; m u.>见图8。梯度的图形表示这样做,(Hinton,2002)提出只计算第一个完整的步骤(或CD1),这给了我们一个概念的方向(或斜率)的最低能量状态的图形,然后修改权重相应地实现最低的能量。这确保了初始输入大部分保持不变,而不是被重构为由随机初始化的权重定义的随机输入。6. 实验表3训练集样本。我们将本节分为几个小节,即6.1使用的数据集,6.2我们对具有时间信息的3-D数据集的RBM的实现,6.3评级和时间信息检索和预处理,6.4使用的技术和6.5评估方法。 在在第6.1小节中,我们描述了实验数据集及其结构与性能 在第6.2节中,我们解释了无监督的推荐方法,我们在我们的方法中使用的数据集考虑到时间信息。在6.3小节中,我们详细说明了如何从数据集中检索时间和评级信息,并对其进行适当的此外,在第6.4 小节中,我们提到了UBMTR实施中使用的软件和硬件。最后,在6.5节中,我们讨论了如何在评估方法中计算损失函数。6.1. 使用的数据集我 们 使 用 MovieLens 100k 数 据 集 ( https : //grouplens.org/datasets/movielens/100 k/)由明尼苏达大学的GroupLens研究项目收集。它包含来自943个用户的100,000个评分,涉及1682部人口电影每个用户的重要统计信息(邮政编码,性别,年龄,6.2. 我们在具有时态信息的3-D数据集上的RBM实现通常,我们今天遇到的大多数数据集都是二维的,数据按行排列,列中正常的机器学习数据集具有固定的因变量,然而,在我们的情况下,每行有不同数量的因变量和自变量我们在表2中显示了数据的结构,其中行中有唯一用户,列中有电影这项研究工作的目的在于使用时态数据作为一个特征加以考虑。因此,对于样本数据的每个值,都有一个相关的时间戳(参见图1)。 9)。这使得数据集成为一个三维数据集,相当于一对固定在一起的2D矩阵。RBM通常接受0和1形式的数据因此,我们对数据进行如下预处理:(Harper and Konstan,2019)。原始数据集已经被分成了许多训练-测试对,这里我们使用名为u1.base的训练集和名为u1.test的测试集。表3显示u1.base中的数据结构。它按行排序为:user_ID、movie_ID、rating、timestamp。时间戳在1、如果是周末i i0;如果是工作日8>-1;如果单元格为1/4空ð15ÞUNIX时间系统形式。它是自1970年1月1日我们将这些UNIX秒转换为1或0,这取决于给定的时间是否对应于Rui;mi0;如果单元格2 f 1;2g:1;如果单元格2 f 3; 4; 5gð16Þ周末或工作日。文件u1.base和u1.test的创建使用了8:2的列车测试分割。对应于唯一movie_ID的每个电影具有多个类型,如动作、犯罪、惊悚等。其中T和R分别表示时间戳和评级。一次抽样过程涉及的三个主要过程如下:用户ID电影ID评级时间戳115874965758123876893171134878542960143876893119153889751712174875071561181875072484195878543541111287507226211358750716051155875071608.. .. ......你好。. . .. ......你好。8595884898577829.. .. ......你好。. . .. ......你好。94316504876958098GM Harshvardhan等.沙特国王大学学报6407ð ×× Þ见图9。(a)每个单元格具有两个值:评级和时间戳,以及(b)最终矩阵。i) 权重与可见/隐藏向量(矩阵)相乘ii) 计算激活函数(添加隐藏/可见节点偏置的权重)iii) 通过应用sigmoid激活来估计可见给定隐藏的概率,反之亦然,并返回概率矩阵(伯努利分布)中每个单元格绘制1的概率以及概率矩阵本身。由于我们为矩阵乘法提供的输入是3D张量,因此权重和偏差也必须是三维的。两个3D张量/矩阵的乘法(在我们的情况下,没有广播)也被称为批量矩阵乘法(BMM),其中乘法批量发生,即。一层一BMM的乘积可以通过一个简单的例子来解释;如果我们有一个尺寸为n × b×n× m的垫子1,而垫子2有如果矩阵的维数为b×m×p,则所得矩阵为abnp矩阵算法1给出了基于无监督玻尔兹曼机的时间感知推荐系统(UBMTR)的工作算法。6.3. 评级和时间信息检索和预处理以下过程描述了数据预处理阶段以及我们如何构建数据以实现三维结构i) 将所有时间戳转换为二进制值ii) 将所有评级转换为二进制值iii) 创建两个矩阵,其中所有唯一用户按行排列,所有唯一电影按列排列。在第一个矩阵中插入所有相应的评级,在第二个矩阵中插入所有相应的时间戳。iv) 将这两个矩阵结合起来,以实现3D结构。算法2中描述了数据预处理步骤,并进一步描述了所有不同步骤的含义i) 将 所 有 时 间 戳 转 换 为 二 进 制 值 : 考 虑 一 个 样 本 时 间 戳874965758。 根据UNIX时间系统,我们拥有的时间戳对应于这个确切的时间:1997年9月22日星期一,22:02:38 UTC。在 我 们 的 实 现 中 , 我 们 定 义 了 一 个 函 数 conv2weekend(date),如果UNIX转换的日期是周末,则返回值1,否则返回值0。在这里的例子中,由于是工作日(星期一),因此返回值为0ii) 将所有评级转换为二进制值:如上所述,我们将评级转换为0和1。我们使用的函数名为见图10。 中间矩阵的特殊结构943×1650(nan值对应于-1)。GM Harshvardhan等.沙特国王大学学报6408×Bu;i2Nð17Þconv_rating(rating),如果给定单元格的rating> =3,则返回1。如果没有,则返回0。iii) 创建两个矩阵:我们创建一个特殊的结构,这是我们在这里描述的两个矩阵所共有的。第一个矩阵(如图10所示)包含所有评级,第二个矩阵包含时间戳。创建的两个矩阵的维数为9431650。这是因为有943个唯一用户,这些用户以行和列的形式列出,我们有所有的电影(注意,有些电影的ID在u1.base和u1.test中不存在,这就是为什么我们得到的列数是1650,而不是1682)。图图10显示了特殊结构的外观。iv) 组合两个2D矩阵以形成3D矩阵:在该步骤中,如图9(b)所示,我们通过将评级矩阵堆叠在时间戳矩阵之上来创建3D矩阵,以使最终矩阵准备好用于训练目的。6.4. 技术应用UBMTR在64位操作系统(Windows 10 Pro)上实现,采用英特尔处理器i7-9700,32 GB RAM和Nvidia RTX 2060 GPU。模型训练时间 大 约 为 90 分 钟 , 主 要 使 用 的 技 术 是 Python 3.5 中 的 PyTorch(Anaconda Spyder)。PyTorch是Facebook开发的开源机器学习库,用于计算机视觉和自然语言处理等应用。6.5. 评估指标我们用(a)均方误差(MSE),(b)均方根误差(RMSE)和(c)平均绝对值计算UBMTR的损失表4参数设置。批量可见节点隐藏节点纪元数激活100165010010乙状在6.5小节中,我们讨论了UBMTR和TC-PR之间的一些差异,并在本节中解释了UBMTR相对于所有其他推荐系统本节的组织如下:7.1算法和结果,以及7.2性能比较和讨论。7.1. 算法和结果在本小节中,我们将UBMTR产生的结果可视化。表4显示了用来训练模型的参数UBMTR的性能可以通过更广泛的参数调整来增强,可能通过训练和测试集的k倍交叉验证和网格搜索最佳参数。可见节点的数量不能更改,因为它是第一层,需要输入每个单独的电影,因此我们将其设置为1650。然而,隐藏节点的数量可以调整,因为它表示我们允许玻尔兹曼机检测的隐藏特征的数量。在算法1和2中,我们使用代码级符号来赋值和计算变量,例如使用Python 3中流行的Pandas和NumPy库。算法1:无监督玻尔兹曼机时间感知推荐系统.百分比误差(MAPE)。 较低的损失值表明模型性能稍后,UBMTR和其他推荐系统的性能直方图也显示在图中。 12个。输入:u1.base,u1.test(两者都有时间戳),用户u(目标),时间上下文为t输出:按周末或工作日Prui-^rui2步骤:1.原始矩阵←P数据(算法2)N2.组(B)PC、(h)、大小nodes(v)节点 时代,ks1X2Nu;i2N3.循环历元时间ð18Þ4.{1循环((B)大小5.{2吉布斯其中,u表示用户,i表示项目,rui是用户u6.冻结负值(-1),使其不会得到训练27.通过调整3D权重矩阵训练模型,项目数使用上述变量的定义表格,我们可以定义MAPE(O'Mahony等人,2003年,2004年a,2004年b),偏差(learn(h)节点)MAPE¼1X. rui-brui。ð19Þ8.原始数据与抽样数据比较损失Nu; i2N.是的。9.更新测试/列丢失}1××稍后,在7.2节中,我们将看到,在我们的实验中,MAPE和MSE的计算等价于获得归一化的MAPE、平均误差(MAE)和归一化的MAE。7.结果和分析在本节中,我们将描述UBMTR的算法和程序,并分析我们的模型所获得的预测最后我们通过前面定义的评估来评估模型10.返回3D矩阵(1 1650 2::因为有1个目标用户,1650部电影和时间的第三维将推荐电影的值(列,轴0)输出在算法1中,PC代表算法2中描述的预处理(B)size是批量大小,(h)节点和(v)节点分别是隐藏节点和可见节点的数量MSE¼RMSE¼你好,我是GM Harshvardhan等.沙特国王大学学报6409←←←←-←←←←←算法2:数据预处理(PPC)表5说明了基于用户ID 1的推荐列表用户的时间背景。可以看出,时间输入:train_set,测试装置步骤:输出:3D矩阵(如4.2.4)用户的上下文确实影响将被推荐给他们的电影的类型(也如(Yang例如,2019年))。为了解释这一现象,我们来看看1.导入训练集、测试集(= pd.read_csv('ml-100 k/u1.pd.read base’),2.程序conv2weekend(x)3.{14.sdatetime.utcfromtimestamp(x).strftime5.ss.split()[0]6.sdatetime.strptime(s,“%Y-%m-%d”).weekday()7.日calendar.day_name[s]8.if(day==9.返回110.其他11.返回012.}113.processconv_rating(x)14.{115.如果(x==0),则16.返回117.else if(x==1)or(x==2)then18.返回019.其他20.返回121。}122.过程get_3D_mat(data)23.{124.rpandas.pivot_table(data,指数=columns=25.tpandas.pivot_table(data,指数=columns=26.材料R值27.材料测试值28.mat3dnp.dstack((mat_r,mat_t))29.返回mat3d30.}1推荐电影的类
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功