CN116166890B - 基于浅层自动编码器模型的推荐方法、系统、设备及介质 - Google Patents
基于浅层自动编码器模型的推荐方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116166890B CN116166890B CN202310453939.2A CN202310453939A CN116166890B CN 116166890 B CN116166890 B CN 116166890B CN 202310453939 A CN202310453939 A CN 202310453939A CN 116166890 B CN116166890 B CN 116166890B
- Authority
- CN
- China
- Prior art keywords
- training set
- model
- parameters
- loss function
- super
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于浅层自动编码器模型的推荐方法、系统、设备及介质,它们是一一对应的方案,方案中:引入稀疏矩阵可以降低数据的存储空间,并提升工作效率,引入控制正样本的重要性的超参数能从有限的正样本中学到更多知识,从而提升物品推荐效果,同时,通过交替训练的方式可以在获得最优超参数的同时获得最优模型参数,最优模型参数可以准确的表征物品之间相似度,从而更准确的预测用户对所有物品的评分,能够进一步提升物品推荐效果。
Description
技术领域
本发明涉及物品推荐技术领域,尤其涉及一种基于浅层自动编码器模型的推荐方法、系统、设备及介质。
背景技术
为了解决互联网世界中日益严重的信息过载问题,人们建立推荐系统来预测用户偏好。作为存在最广泛且最易收集的用户行为,浏览、点击等隐式反馈通常被直接用作模型训练的元数据。基于隐式反馈的推荐解决这类问题,它旨在根据用户的历史浏览/点击序列,为用户提供一个物品的排序列表,使用户喜欢的物品尽可能在列表的头部。目前,已经有许多方法在这个领域中被提出,可以大致被分为两类。第一大类是线性模型方案,此类模型只通过数据的线性计算就可以得到用户对物品的预测分数。其中还可以被分为两小类。第一小类是隐向量模型,即每一个用户和物品都有一个短向量来标识其自身,向量中包含用户或物品的特性;第二小类是邻居模型,即用户对物品的打分是基于该用户的邻居用户打分或者该物品的邻居物品得分所计算出来的,如何计算用户或物品的邻居、邻居间的相似度是可变的。由于模型的线性特征,此大类方法通常采用推导闭式解的方式进行求解,结果十分直观。但由于存在大矩阵的变换,其严重依赖于机器的计算和存储能力,且推荐的准确度不佳。第二大类是深度模型,此类模型,将用户的物品交互记录作为模型的输入,通过一系列线性或非线性的变换得到最终的得分,深度模型的结构在不同的方法中各不相同,如自动编码器、多层感知机等。
EASE是一种典型的浅层自动编码器模型(Steck H. Embarrassingly shallowautoencoders for sparse data[C]//The World Wide Web Conference. 2019: 3251-3257)。其主要学习一个大小为N×N的稠密矩阵,N为物品数量。通过优化评分的平方损失,稠密矩阵的闭式解可以被显式地求解出来。但是:(1)模型参数的求解需要计算大矩阵的逆,当物品数量(N)增多时,求解所需要的时间和空间成指数增长;(2)由于数据集非常稀疏,若过少的正样本(即用户交互的物品)并未得到额外的重视,可能会导致正样本对模型的指导意义明显减弱。其中,正样本指的是在数据集中,与用户交互过的物品集合,也就是物品交互记录为1的所有物品;所述物品包括:短视频平台中的视频、购物平台中的各类商品(例如,服饰)等。(3)模型对超参数的值非常敏感,但寻找更优的超参数组合是繁琐低效的事情。基于以上三个原因,导致现有EASE方案不仅耗时,更重要的是,它的性能不佳,导致推荐效果不够理想。
有鉴于此,特提出本发明。
发明内容
本发明的目的是提供一种基于浅层自动编码器模型的推荐方法、系统、设备及介质,可以提升工作效率,减少存储空间,提升物品推荐效果。
本发明的目的是通过以下技术方案实现的:
一种基于浅层自动编码器模型的推荐方法,包括:
收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集;
根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型,第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置,训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品;第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数;将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数;
对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
一种基于浅层自动编码器模型的推荐系统,包括:
数据收集与划分单元,用于收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集;
模型训练单元,用于根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型,第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置,训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品;第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数;将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数;
物品推荐单元,用于对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
一种处理设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的方法。
一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述的方法。
由上述本发明提供的技术方案可以看出,引入稀疏矩阵可以降低数据的存储空间,并提升工作效率,引入控制正样本的重要性的超参数能从有限的正样本中学到更多知识,从而提升物品推荐效果,同时,通过交替训练的方式可以在获得最优超参数的同时获得最优模型参数,最优模型参数可以准确的表征物品之间相似度,从而更准确的预测用户对所有物品的评分,能够进一步提升物品推荐效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于浅层自动编码器模型的推荐方法的流程图;
图2为本发明实施例提供的一种基于浅层自动编码器模型的推荐系统的示意图;
图3为本发明实施例提供的一种处理设备的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
下面对本发明所提供的一种基于浅层自动编码器模型的推荐方法、系统、设备及介质进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
实施例一
本发明实施例提供一种基于浅层自动编码器模型的推荐方法,如图1所示,其主要包括:
步骤1、收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集。
步骤2、根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型。
本发明实施例中,所述相似度矩阵为一个N×N的大小的矩阵,N为所有物品的数目,所述相似度矩阵中相应位置的值为1时,表示对应的两个物品相似度满足设定要求,相应位置的值为0时,表示对应的两个物品不满足设定要求(即是不相似的物品)。所述相似度矩阵是一个稀疏矩阵,可以指示模型参数的非零位置,从而降低数据的存储空间,并提升工作效率。
训练过程中主要包括如下两步:
第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置(具体的,相似度矩阵中为1的位置用于指示模型参数中的非零位置),训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品。
第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数。
将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数。
本发明实施例中,所述训练集的损失函数为训练集与训练集上预测矩阵之间的平方损失,以及模型参数的二范数之和;所述训练集上预测矩阵由训练集与模型参数相乘得到;所述超参数alpha施加在训练集与训练集上预测矩阵之间的平方损失中,即利用将超参数alpha加1后乘以训练集中所有正样本。
本发明实施例中,所述超参数还包括:施加在模型参数的二范数中的超参数beta,它作为模型参数的二范数的权重系数。也就是说,上述两步交替执行过程中同时更新超参数alpha与beta。
本发明实施例中,所述验证集的损失函数可以为验证集与验证集上预测矩阵之间的平方损失。
本发明实施例中,当前次迭代过程中,第一步中计算训练集的损失函数时使用的超参数为上一次迭代中第二步更新得到的超参数,若当前次迭代为第一次迭代,则超参数使用预先赋予的初始值。
本发明实施例中,相似度矩阵与模型参数(推理矩阵)都包含了物品之间的相似度信息,但是,区别在于:相似度矩阵是根据训练集统计得到的,即比较物品是否相似,若是,则矩阵中用1标识,否则用0标识。而模型参数是通过训练集的损失函数计算得出的,并且,模型参数中的非零位置与相似度矩阵中的非零位置完全相同。在训练过程中,相似度矩阵是固定不变的,但是模型会随时模型的迭代不断变化,同时,模型参数非零位置的数值并非相似度矩阵中的1,而是不同的数值大小,数值越大表明对应物品之间的相似度越高,数值越小表明对应物品之间的相似度越低。
步骤3、对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数,生成物品推荐列表;具体的:计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
本发明实施例中,在获得最优模型参数之后,可以计算出每一个用户对所有物品的评分。评分的大小反应了用户对物品的喜好程度,评分越大表示用户对物品的喜好程度越高,因此,按照评分从大到小的顺序对物品进行排序,排序越靠前的物品,用户对其喜好程度越高,按照设定可以从排序结果前截取一部分物品,并按照排序结果的顺序生成物品推荐列表,再反馈给用户。
本发明实施例提供的上述方案中,引入稀疏矩阵可以降低数据的存储空间,并提升工作效率,引入控制正样本的重要性的超参数能从有限的正样本中学到更多知识,从而提升物品推荐效果,同时,通过交替训练的方式可以在获得最优超参数的同时获得最优模型参数,最优模型参数可以准确的表征物品之间相似度,从而更准确的预测用户对所有物品的评分,能够进一步提升物品推荐效果。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供的上述方法进行详细描述。
背景技术详细介绍了现有EASE方案存在的技术问题,即性能不佳,导致推荐效果不够理想,为此本发明提出了一种新的浅层自动编码器模型,它能同时在存储上、推荐性能上和时间上进行提升。与EASE方案相似,本发明需要计算一个N×N的最优推理矩阵(N为所有物品的数目),它即为浅层自动编码器模型的最优模型参数。最优推理矩阵也可以视为一个物品与物品之间的相似度矩阵,但是与前所提及的由训练集构建的相似度矩阵不同的是,推理矩阵中的数值大小表明了对应物品对之间的相似度大小,而前文所提及的相似度矩阵由0与1构成,只表明物品之间是否对相似。对于一个用户来说,对应用户的物品交互记录数据记录着用户所交互的所有物品,对于多个用户与多个物品,可以根据各用户的物品交互记录生成一个交互矩阵,交互矩阵中包含了所有物品;由此,每一个用户的物品交互记录数据即为交互矩阵中的一个N维行向量(也称为用户评分向量),向量中的1表示用户曾与相应物品有过交互(如点击视频、购买服饰等),向量中的0表示用户没有与相应物品交互。将用户的物品交互记录数据(即N维行向量)与模型参数相乘,可以得到一个新的N维向量(用户的预测评分),此向量中的每一数值为用户对相应物品的评分,表示模型预测的用户对每一物品的喜好程度,按照数值的从大到小的顺序对相应物品进行排序,获得用户最有可能喜欢的多个物品(排序最靠前的多个物品),将其推荐给用户。
在模型开始训练之前,需要先收集大量用户的物品交互记录数据,再将进行预处理,并按照设定比例(例如8:1:1的比例)将数据划分为训练集、测试集和验证集。预处理时,若收集到的数据是带有用户评分的,需要先将此数据转化为隐式数据,即设定的第一阈值,将所有评分高于第一阈值的交互转为1(即表示用户交互的物品),评分低于第一阈值的交互转为0(即表示用户未交互的物品);其次,需要剔除交互量过少的用户与物品,剔除低频用户和物品可以减少噪声,增加模型的泛化性能。剔除的过程是:依次遍历所有用户和所有物品,若当前用户或物品的交互量小于设定的第二阈值,则将该用户或物品从数据集中删除;以上所涉及的第一阈值与第二阈值的数值大小可根据实际情况或者经验进行设定。不断重复地遍历所有用户和物品,直到所有用户和物品的交互量都在相应阈值之上。用户或物品的交互量的定义为与用户或物品产生交互的物品或用户的个数,在剔除某用户或物品后,该用户或物品不再与任何其他物品或用户产生交互。划分训练集、验证集、测试集时,可以迭代地对每个用户进行操作,随机地将每个用户的物品交互记录数据按照设定比例(例如8:1:1的比例)区分开,分别并入相应集合中。划分完毕的三个集合是三个矩阵,它们的形状都是M×N,M为用户数量,N为物品数量,它们的区别在于矩阵中1与0的位置不同。这样划分可以保证训练集、测试集、验证集尽可能保持相似的分布。数据准备完成后,可以开始训练本发明实施例所提出的浅层自动编码器模型(简称为模型),该模型是一个由模型参数(推理矩阵)、超参数(alpha与beta),损失函数(包括训练集和验证集上的损失函数)和模型更新策略的集合。训练时,模型根据损失函数与更新策略,学习模型参数与超参数的值;应用时,模型根据不同用户的历史交互记录,利用模型参数为用户生成推荐列表。整个模型按照以下的方式构建:
首先,引入稀疏的物品之间的相似度矩阵来指示模型参数的非零位置,从而保证模型只学习强相关性物品间的关系,忽略弱相关的物品对。相似度矩阵是一个N×N的0/1矩阵,它为1的位置表示对应的两个物品比较相似,那么在模型参数中相应的位置将是非零的,与之相反,相似度矩阵为0的位置对应的模型参数相应位置也为0。有了相似度矩阵,可以通过控制相似度矩阵中非零元素来控制模型参数中的稀疏度和非零元素位置。在计算时,首先根据所选的计算方法(例如,采用共现图),统计训练集中相似的物品对,并将结果整理成矩阵的形式,用1标识相似的物品对,得到物品相似度矩阵。然后再根据相似度矩阵指示的非零位置,在训练集中取出对应的数据。比如,对于某物品来说,在相似度矩阵中它对应的列包含m个非零0位置,那么取出训练集中这m个位置对应的列作为训练集的子集,通过预先推导的闭式解计算这m个位置上的具体值,然后依次填补到模型参数中该物品对应列的m个非0位置(由相似度矩阵指示)。在计算相似度矩阵时,通过设置相似度矩阵的对角线为0,可以避免模型陷入单位阵的退化解。为了达到降低模型训练时的内存占用问题,相似度矩阵的稀疏度需要达到阈值(例如80%)以上。示例性的,除了前文列举的共现图之外,还可以采用K-最近邻图(KNN图)和导航小世界图(NSW图)等方式得到相似度矩阵,在实际应用中可以灵活变换。
闭式解的形式是由训练集的损失函数对模型参数中非零位置计算偏导,再进行合并、化简得来的。本发明采用了训练集与预测矩阵之间的平方损失,以及模型参数的二范数之和作为训练集的损失函数。平方损失优化了真实评分与预测评分之间的距离,二范数约束了模型参数中值的大小。预测矩阵是由训练集(M×N的矩阵)与模型参数(N×N的矩阵)相乘得到。除此之外,在计算平方损失时,本发明考虑了由隐式反馈带来的稀疏性问题。隐式反馈数据集的稀疏性问题指的是与负样本(用户没有交互过的物品)的数量相比,正样本的数量非常少,这会导致模型过度关注负样本,忽略正样本。背景技术中的EASE方案并未对正负样本做特殊处理,因此它一定会受到由负样本过多带来的偏置问题,这也是它的推荐效果不佳的原因之一。为了减少数据集稀疏性所带来的负面影响,本发明在平方损失中新增了一个超参数alpha来控制正样本的重要性(正样本的权重系数)。1+alpha作为系数乘在了所有正样本前,并保持所有负样本的系数仍为1。alpha越大,对正样本的放大作用也越大,模型也能关注到更多正样本的信息,可以有效地缓解由负样本过多带来的偏置问题。引入超参数alpha并不会对模型参数的计算引入额外的计算耗时,同时可以增强模型的泛化性。
在训练集的损失函数的基础上,通过对模型参数计算偏导数,可以得到损失对模型参数的梯度。梯度是一个包括模型参数、超参数、训练集的公式。令此梯度等于0,通过推导和化简,可以得到模型参数的计算公式(即闭式解的形式)。此公式是在后续构建模型时所用到的重要公式。如前所说,本发明使用了一个稀疏的相似度矩阵来指示模型参数的非零值位置,因此,在训练集的损失函数公式中,只包含了相似度矩阵中非零位置对应的模型参数,因而在模型参数的计算公式中,只定义了非零位置的计算公式,其余位置的值全部为0。
以往的模型都会面临确定超参数的问题。超参数的值会极大得影响模型的泛化效果,通常超参数数量越多,确定最优的超参数组合越困难。EASE方案中包含一个超参数,可以通过网格搜索得到超参数的较优值。网格搜索需要在不同超参数设置下重复多次训练模型,并且可尝试的超参数数量是有限的,调整超参数的策略也是人为确定的,无法精确捕捉超参数的较优值。本发明提出超参数自动搜索的策略,在训练模型参数的同时更新超参数的值,在避免引入人为操作的同时找到超参数的最优值。模型中的超参数有两个:alpha和beta。超参数alpha是正样本的权重系数,超参数beta是对模型参数的二范数所加的权重系数,它们都被显式地写在训练集的损失函数中。本发明利用验证集来更新alpha与beta的值,通过将验证集与已经(基于训练集)计算好的模型参数相乘,可以得到在验证集上的预测矩阵。与计算训练集损失相似地,可以计算出验证集上的损失函数与验证集的损失函数对alpha和beta的梯度。根据梯度的值,超参数alpha和超参数beta可以根据所选取的优化器(如随机梯度下降法)进行更新。验证集的损失函数采用的是验证集与验证集上的预测矩阵之间的平方损失,与训练集中的平方损失不同的是,在验证集的平方损失中,没有对正样本引入alpha的权重。本发明采用了交替训练的方式,将模型参数与超参数交替更新,最终双方同时迭代至最优解。
在引入了正样本权重和超参数更新的策略后,模型的具体更新训练与测试步骤如下:
(1)为超参数alpha和beta赋予一个初始值。根据所选的相似度矩阵计算方法(例如,采用共现图),利用训练集得到稀疏的相似度矩阵。
(2)固定超参数alpha与beta,计算模型参数(推理矩阵)。此部分中,结合相似度矩阵与训练集计算训练集的损失函数,再利用训练集的损失函数计算模型参数,此为一般的计算原理,参见前文的介绍,在训练集的损失函数上可以推导出模型参数的计算公式,因此,此处可以直接根据相似度矩阵的指示从训练集中取出相应的数据,并将超参数带入预先推导的模型参数的计算公式中,计算出模型参数(即模型参数中非零位置的数值)。
(3)固定模型参数,更新超参数alpha和beta。利用(2)中计算好的模型参数,在验证集上计算验证集的损失函数,并计算验证集的损失函数对超参数alpha和beta的梯度,利用优化器(如随机梯度下降法)对超参数alpha和beta进行更新。
(4)重复(2)与(3)直到模型参数与超参数都收敛时,表明训练模型训练完毕,获得最优模型参数。
(5)在测试集上验证最优模型参数效果。将训练集与最优模型参数相乘,得到训练集上的预测矩阵。将每个用户在预测矩阵中对应的行中的数值(每个数值是指用户对相应物品的评分)进行从大到小排序,选取前k个数值对应物品作为生成的每个用户的推荐列表(k值可根据实际情况或者经验进行设定),与测试集中相应用户的用户的物品交互记录数据进行比较,计算召回率等指标作为对模型的评估。
上述方案中,通过引入稀疏矩阵,解决了模型训练的存储数据量过大的问题,具体的,可以极大地减少模型训练中求逆的内存需求,需要存储的数据量从N×N缩小了10倍左右(相似度矩阵越稀疏,缩小得越多),经过推导还可以得知,物品在模型参数中对应的列中非零元素的计算互不干涉,这为在列的层级(即物品层级)上对计算模型参数进行并行化提供了可行空间,进一步提升了模型的计算效率。引入正样本权重(即超参数alpha),使模型能够从少量的正样本中学习到更多的信息,在效果上极大地提升了推荐准确率;引入自动超参数搜索技术,超参数的选择不再是耗时费力的工作,节省了人力搜索超参数的繁琐流程,在训练过程中最优的超参数和模型参数会被同时学习到。这三点从存储上、性能上、时间上分别提升了模型的性能;最终,可以得到更为准确的用来表征物品之间相似度的模型参数,从而可以更准确的计算出各用户对于各物品的评分,更进一步的提升物品推荐效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例二
本发明还提供一种基于浅层自动编码器模型的推荐系统,其主要基于前述实施例提供的方法实现,如图2所示,该系统主要包括:
数据收集与划分单元,用于收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集;
模型训练单元,用于根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型,第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置,训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品;第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数;将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数;
物品推荐单元,用于对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
本发明实施例中,所述相似度矩阵为一个N×N的大小的矩阵,N为所有物品的数目,所述相似度矩阵中相应位置的值为1时,表示对应的两个物品相似度满足设定要求,相应位置的值为0时,表示对应的两个物品相似度不满足设定要求。
本发明实施例中,所述训练集的损失函数为训练集与预测矩阵之间的平方损失,以及模型参数的二范数之和;所述预测矩阵为由训练集与模型参数相乘得到;所述超参数alpha施加在训练集与训练集上预测矩阵之间的平方损失中,即利用将超参数alpha加1后乘以训练集中所有正样本。
本发明实施例中,所述超参数还包括:施加在模型参数的二范数中的超参数beta,它作为模型参数的二范数的权重系数。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
实施例三
本发明还提供一种处理设备,如图3所示,其主要包括:一个或多个处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述实施例提供的方法。
进一步的,所述处理设备还包括至少一个输入设备与至少一个输出设备;在所述处理设备中,处理器、存储器、输入设备、输出设备之间通过总线连接。
本发明实施例中,所述存储器、输入设备与输出设备的具体类型不做限定;例如:
输入设备可以为触摸屏、图像采集设备、物理按键或者鼠标等;
输出设备可以为显示终端;
存储器可以为随机存取存储器(Random Access Memory,RAM),也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。
实施例四
本发明还提供一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述实施例提供的方法。
本发明实施例中可读存储介质作为计算机可读存储介质,可以设置于前述处理设备中,例如,作为处理设备中的存储器。此外,所述可读存储介质也可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种基于浅层自动编码器模型的推荐方法,其特征在于,包括:
收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集;
根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型,第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置,训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品;第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数;将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数;
对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
2.根据权利要求1所述的一种基于浅层自动编码器模型的推荐方法,其特征在于,所述相似度矩阵为一个N×N的大小的矩阵,N为所有物品的数目,所述相似度矩阵中相应位置的值为1时,表示对应的两个物品相似度满足设定要求,相应位置的值为0时,表示对应的两个物品相似度不满足设定要求。
3.根据权利要求1所述的一种基于浅层自动编码器模型的推荐方法,其特征在于,所述训练集的损失函数为训练集与训练集上预测矩阵之间的平方损失,以及模型参数的二范数之和;所述训练集上预测矩阵由训练集与模型参数相乘得到;所述超参数alpha施加在训练集与训练集上预测矩阵之间的平方损失中,即利用将超参数alpha加1后乘以训练集中所有正样本。
4.根据权利要求3所述的一种基于浅层自动编码器模型的推荐方法,其特征在于,所述超参数还包括:施加在模型参数的二范数中的超参数beta,它作为模型参数的二范数的权重系数。
5.一种基于浅层自动编码器模型的推荐系统,其特征在于,包括:
数据收集与划分单元,用于收集多个用户的物品交互记录数据,并按照设定比例进行随机划分后,取出两部分称为训练集与验证集;
模型训练单元,用于根据训练集中物品之间的相似度构建相似度矩阵,设定训练集的损失函数与验证集的损失函数,并结合相似度矩阵、训练集与验证集训练一个浅层自动编码器模型,第一步:固定训练集的损失函数中的超参数,结合所述相似度矩阵与训练集计算训练集的损失函数,并利用训练集的损失函数计算模型参数,其中,相似度矩阵用于指示模型参数中的非零位置,训练集的损失函数中的超参数包括:用于控制正样本重要性的超参数alpha,所述正样本是指每一用户的物品交互记录数据中包含的用户交互的物品;第二步:固定模型参数,利用第一步计算出的模型参数与验证集计算验证集的损失函数,并利用验证集的损失函数更新训练集的损失函数中的超参数;将以上两步交替执行,当模型参数与超参数均收敛时,表明浅层自动编码器模型训练完毕,获得最优模型参数;
物品推荐单元,用于对于当前用户,利用当前用户的物品交互记录数据与所述最优模型参数计算当前用户对每一物品的评分,按照评分从大到小的顺序对物品进行排序,根据排序结果生成当前用户的物品推荐列表。
6.根据权利要求5所述的一种基于浅层自动编码器模型的推荐系统,其特征在于,所述相似度矩阵为一个N×N的大小的矩阵,N为所有物品的数目,所述相似度矩阵中相应位置的值为1时,表示对应的两个物品相似度满足设定要求,相应位置的值为0时,表示对应的两个物品相似度不满足设定要求。
7.根据权利要求5所述的一种基于浅层自动编码器模型的推荐系统,其特征在于,所述训练集的损失函数为训练集与预测矩阵之间的平方损失,以及模型参数的二范数之和;所述预测矩阵为由训练集与模型参数相乘得到;所述超参数alpha施加在训练集与训练集上预测矩阵之间的平方损失中,即利用将超参数alpha加1后乘以训练集中所有正样本。
8.根据权利要求7所述的一种基于浅层自动编码器模型的推荐系统,其特征在于,所述超参数还包括:施加在模型参数的二范数中的超参数beta,它作为模型参数的二范数的权重系数。
9.一种处理设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~4任一项所述的方法。
10.一种可读存储介质,存储有计算机程序,其特征在于,当计算机程序被处理器执行时实现如权利要求1~4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453939.2A CN116166890B (zh) | 2023-04-25 | 2023-04-25 | 基于浅层自动编码器模型的推荐方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453939.2A CN116166890B (zh) | 2023-04-25 | 2023-04-25 | 基于浅层自动编码器模型的推荐方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116166890A CN116166890A (zh) | 2023-05-26 |
CN116166890B true CN116166890B (zh) | 2023-07-18 |
Family
ID=86413589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310453939.2A Active CN116166890B (zh) | 2023-04-25 | 2023-04-25 | 基于浅层自动编码器模型的推荐方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166890B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117219294B (zh) * | 2023-11-09 | 2024-03-29 | 中国科学技术大学 | 一种面向罕见病的药物智能推荐方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125620A (zh) * | 2019-11-01 | 2020-05-08 | 复旦大学 | 推荐系统中基于矩阵分解的并行随机梯度下降算法 |
CN111414555A (zh) * | 2020-01-06 | 2020-07-14 | 浙江工业大学 | 一种基于协同过滤的个性化推荐方法 |
CN112734510A (zh) * | 2020-12-30 | 2021-04-30 | 中国电子科技集团公司第十五研究所 | 基于融合改进模糊聚类和兴趣衰减的商品推荐方法 |
CN115080861A (zh) * | 2022-07-20 | 2022-09-20 | 南京邮电大学 | 基于迁移头尾知识的神经协同过滤双向推荐方法 |
EP4131122A1 (en) * | 2021-08-06 | 2023-02-08 | Rakuten Group, Inc. | Improved recommender system and method using shared neural item representations for cold-start recommendations |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8903748B2 (en) * | 2011-06-27 | 2014-12-02 | International Business Machines Corporation | Systems and methods for large-scale randomized optimization for problems with decomposable loss functions |
US20210142177A1 (en) * | 2019-11-13 | 2021-05-13 | Nvidia Corporation | Synthesizing data for training one or more neural networks |
-
2023
- 2023-04-25 CN CN202310453939.2A patent/CN116166890B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125620A (zh) * | 2019-11-01 | 2020-05-08 | 复旦大学 | 推荐系统中基于矩阵分解的并行随机梯度下降算法 |
CN111414555A (zh) * | 2020-01-06 | 2020-07-14 | 浙江工业大学 | 一种基于协同过滤的个性化推荐方法 |
CN112734510A (zh) * | 2020-12-30 | 2021-04-30 | 中国电子科技集团公司第十五研究所 | 基于融合改进模糊聚类和兴趣衰减的商品推荐方法 |
EP4131122A1 (en) * | 2021-08-06 | 2023-02-08 | Rakuten Group, Inc. | Improved recommender system and method using shared neural item representations for cold-start recommendations |
CN115080861A (zh) * | 2022-07-20 | 2022-09-20 | 南京邮电大学 | 基于迁移头尾知识的神经协同过滤双向推荐方法 |
Non-Patent Citations (2)
Title |
---|
Improving Implicit Alternating Least Squares with Ring-based Regularization;Rui Fan等;ACM;全文 * |
融合用户标签相似度的矩阵分解算法;武聪;南京大学学报(自然科学);第第58卷卷(第第1期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116166890A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hoffman et al. | On correlation and budget constraints in model-based bandit optimization with application to automatic machine learning | |
Wei et al. | Variable importance analysis: A comprehensive review | |
WO2022151649A1 (zh) | 基于深度兴趣网络的专题推荐方法及装置 | |
CN116166890B (zh) | 基于浅层自动编码器模型的推荐方法、系统、设备及介质 | |
CN111242310A (zh) | 特征有效性评估方法、装置、电子设备及存储介质 | |
CN110633421A (zh) | 特征提取、推荐以及预测方法、装置、介质和设备 | |
CN104239335B (zh) | 特定用户信息获取方法及装置 | |
CN111080360A (zh) | 行为预测方法、模型训练方法、装置、服务器及存储介质 | |
Burtini et al. | Improving online marketing experiments with drifting multi-armed bandits | |
CN110727872A (zh) | 基于隐式反馈进行不明确选择行为挖掘的方法及装置 | |
CN106776757B (zh) | 用户完成网银操作的指示方法及装置 | |
CN116362823A (zh) | 用于行为稀疏场景的推荐模型训练方法、推荐方法及装置 | |
CN110059251B (zh) | 基于多关系隐式反馈置信度的协同过滤推荐方法 | |
Zhang et al. | Analysis and research on library user behavior based on apriori algorithm | |
CN111985616B (zh) | 一种图像特征提取方法、图像检索方法、装置及设备 | |
CN113111256A (zh) | 基于深度知识图谱的生产工单推荐方法 | |
CN101268465A (zh) | 分类一组电子文档的方法 | |
CN109460474B (zh) | 用户偏好趋势挖掘方法 | |
CN115631379A (zh) | 结合主动学习和噪声筛除的视频分析方法、装置及介质 | |
JP6860602B2 (ja) | 汎用人工知能装置及び汎用人工知能プログラム | |
CN114430361A (zh) | 一种异常带宽检测方法、装置、电子设备及存储介质 | |
CN113592589A (zh) | 纺织原料推荐方法、装置及处理器 | |
CN113657945A (zh) | 用户价值预测方法、装置、电子设备和计算机存储介质 | |
Siregar et al. | Classification data for direct marketing using deep learning | |
JP6771314B2 (ja) | 予測不可データ判定システム及び予測不可データ判定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |