CN112633356B - 推荐模型的训练方法、推荐方法、装置、设备及存储介质 - Google Patents
推荐模型的训练方法、推荐方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112633356B CN112633356B CN202011508002.3A CN202011508002A CN112633356B CN 112633356 B CN112633356 B CN 112633356B CN 202011508002 A CN202011508002 A CN 202011508002A CN 112633356 B CN112633356 B CN 112633356B
- Authority
- CN
- China
- Prior art keywords
- matrix
- hidden
- user
- participants
- model
- 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
- 238000012549 training Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000011159 matrix material Substances 0.000 claims abstract description 311
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 19
- 238000010276 construction Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 48
- 239000013598 vector Substances 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (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
技术领域
本申请涉及推荐模型领域,尤其涉及一种推荐模型的训练方法、用户推荐方法、装置、设备及存储介质。
背景技术
随着互联网和电子商务的迅猛发展,推荐系统成为企业提高市场竞争力的重要工具。当推荐系统内有新用户加入时,由于新用户在推荐系统中不存在历史数据,这就无法根据传统的推荐算法来为新用户进行推荐,推荐的准确率较低。现有技术中为了对新用户进行推荐,往往会需要联合多方数据,但在多公司之间进行数据共享访问时,容易导致客户隐私泄露,而产生隐私性问题。
因此,如何在训练推荐模型时提高数据安全,并且提高训练得到的推荐模型的推荐准确率成为亟待解决的问题。
发明内容
本申请提供了一种推荐模型的训练方法、用户推荐方法、装置、设备及存储介质,以提高数据安全,并且提高训练得到的推荐模型的推荐准确率。
第一方面,本申请提供了一种推荐模型的训练方法,所述方法包括:
获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵;对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值;当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
第二方面,本申请提供了一种用户推荐方法,所述方法包括:
获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息;基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息;根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐;其中,所述预先训练的推荐模型是采用如上述的推荐模型的训练方法训练的到的。
第三方面,本申请还提供了一种推荐模型的训练装置,所述装置包括:
矩阵构建模块,用于获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵;矩阵分解模块,用于对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;损失计算模块,用于各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值;模型训练模块,用于当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
第四方面,本申请还提供了一种用户推荐装置,所述装置包括:
信息获取模块,用于获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息;评分确定模块,用于基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息;用户推荐模块,用于根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐;其中,所述预先训练的推荐模型是采用如上述的推荐模型的训练方法训练的到的。
第五方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的推荐模型的训练方法和用户推荐方法。
第六方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的推荐模型的训练方法和用户推荐方法。
本申请公开了一种推荐模型的训练方法、用户推荐方法、装置、设备及存储介质,通过获取多个参与方的共同本地数据,并基于共同本地数据构建多个物品评分矩阵,然后对多个物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;各个参与方分别在本地对用户隐矩阵和各自的物品隐矩阵进行迭代训练,并计算矩阵模型的损失函数的损失值,当损失值达到预设值时,将矩阵模型作为推荐模型,完成模型训练。采用矩阵分解的方式构建矩阵模型,提高构建的矩阵模型在进行推荐时的推荐准确率,并且,由于各个参与方分别在本地进行用户隐矩阵和物品隐矩阵的迭代训练,在不泄露用户的隐私信息的情况下引入隐私程度较小的评分矩阵进行联合训练,因此在极大的保障了隐私性的情况下进行良好的推荐模型训练。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种推荐模型的训练方法的示意流程图;
图2是本申请实施例提供的一种用户推荐方法的示意流程图;
图3为本申请实施例提供的一种推荐模型的训练装置的示意性框图;
图4为本申请实施例提供的一种用户推荐装置的示意性框图;
图5为本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种推荐模型的训练方法、推荐方法、装置、计算机设备及存储介质。推荐模型的训练方法可用于训练推荐模型,使能够对新用户进行物品推荐。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种推荐模型的训练方法的示意流程图。该推荐模型的训练方法通过利用矩阵分解和纵向联邦学习的方式,在保证数据安全的情况下训练冷启动推荐模型,实现对新用户进行推荐,提高模型训练过程中的数据安全性以及得到的推荐模型的推荐准确度。
如图1所示,该推荐模型的训练方法,具体包括:步骤S101至步骤S104。
S101、获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵。
为了解决用户的冷启动问题,可以联合多个参与方进行模型训练。也即,对于不同的参与方,其所拥有的用户和所提供的服务均有所不同。例如,参与方A可以是提供图书服务的,参与方B可以是提供电影服务的等。
因此,分别获取每个参与训练推荐模型的参与方的本地数据,其中,本地数据包括用户信息和用户信息对应的物品评分信息。所述物品评分信息也即用户对于参与方所提供的服务的评分信息。例如,用户对不同图书的评分信息。
由于各个参与方的本地数据中的用户信息有相同的部分,因此,每个参与方可以基于这部分相同的用户信息,来构建物品评分矩阵。每个参与方都构建一个自己的物品评分矩阵,以便于训练推荐模型。
S102、对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵。
对于构建的每一个物品评分矩阵,分别进行矩阵分解,将原有的物品评分矩阵分解成两个低维矩阵用户隐矩阵和物品隐矩阵的乘积。在进行矩阵分解时,例如可以采用SVD算法。
例如,对于参与方A而言,若构建的物品评分矩阵为RA,那么分解得到的用户隐矩阵为U,物品隐矩阵为VA,也即
对于参与方B而言,若构建的物品评分矩阵为RB,那么分解得到的用户隐矩阵为U,物品隐矩阵为VB,也即
S103、各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值。
在得到用户隐矩阵和多个物品隐矩阵后,各个参与方可以分别在本地对用户隐矩阵和各自的物品隐矩阵进行迭代训练,并基于训练的用户隐矩阵和物品隐矩阵构建矩阵模型,通过计算矩阵模型的损失函数的损失值来确定矩阵模型是否收敛。
在一实施例中,多个参与方中包括推荐参与方和其他参与方,所述其他参与方为多个参与方中除所述推荐参与方以外的其他训练参与方,多个所述物品隐矩阵包括推荐物品隐矩阵和其他物品隐矩阵。所述各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,包括:分别对所述用户隐矩阵和多个所述物品隐矩阵进行初始化,得到初始化用户隐矩阵、初始化推荐物品隐矩阵和初始化其他物品隐矩阵;将所述初始化用户隐矩阵发送至其他参与方,使其他参与方在本地基于所述初始化其他物品隐矩阵和所述初始化用户隐矩阵计算中间值,将所述中间值发送给所述推荐参与方;基于所述中间值对所述初始化用户隐矩阵进行更新,得到更新用户隐矩阵和更新推荐物品隐矩阵;将所述更新用户隐矩阵发送至其他参与方,使其他参与方基于所述初始化用户隐矩阵对所述初始化其他物品隐矩阵进行更新,得到更新其他物品隐矩阵。
对于参与训练的多个参与方,可将多个参与方分为推荐参与方和其他参与方。对于每一个参与方,都可以是推荐参与方,也可以是其他参与方。
例如,当用户相对于该参与方为新用户时,那么该参与方为推荐参与方,若该用户相对于该参与方为老用户时,那么该参与方为其他参与方。
将多个参与方分为推荐参与方和其他参与方,相对应的,各个参与方对应的物品隐矩阵也包括推荐物品隐矩阵和其他物品隐矩阵,其中,推荐参与方对应的物品隐矩阵为推荐物品隐矩阵,其他参与方对应的物品隐矩阵为其他物品隐矩阵。
在对用户隐矩阵和多个物品隐矩阵进行迭代训练时,分别对用户隐矩阵和多个物品隐矩阵进行初始化,得到初始化用户隐矩阵、初始化推荐物品隐矩阵和初始化其他物品隐矩阵。其中,初始化是指将矩阵中的各个特征向量进行随机取值。
在进行初始化后,推荐参与方将初始化用户隐矩阵发送给其他参与方,其他参与方在接收到初始化用户隐矩阵后,根据初始化用户隐矩阵和其他物品隐矩阵来计算中间值,并将得到的中间值再发送给推荐参与方。
推荐参与方在接收到中间值后,基于中间值对初始化用户隐矩阵进行更新,得到更新用户隐矩阵,并根据更新用户隐矩阵和初始化推荐物品隐矩阵来对初始化推荐隐矩阵进行更新,得到更新推荐物品隐矩阵。
推荐参与方在得到更新用户隐矩阵后,将更新用户隐矩阵发送给其他参与方,使其他参与方能够根据用户隐矩阵和初始化其他物品隐矩阵来对初始化其他物品隐矩阵进行更新,得到更新其他物品隐矩阵。
推荐参与方再将更新推荐物品隐矩阵发送给其他参与方,如此循环进行迭代训练,直至矩阵模型收敛。
在一实施例中,所述计算所述矩阵模型的损失函数的损失值,包括:基于所述特征矩阵的损失函数公式,根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值;
所述特征矩阵的损失函数公式为:
其中,LJ表示特征矩阵J的损失函数;ui为用户隐矩阵U的第i行向量,代表用户i的特征向量;vAj为推荐物品隐矩阵VA的第j行向量,代表推荐参与方中第j种物品的特征向量;vBj为其他物品隐矩阵VB的第j行向量,代表其他参与方中第j种物品的特征向量;λ1,λ2为正则化系数。
根据该损失函数计算所述矩阵模型的损失函数的损失值,根据计算得到的损失值来确定矩阵模型是否收敛。
在一实施例中,所述方法包括:根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值,并采用梯度下降法最小化所述损失函数的损失值。
在根据更新用户隐矩阵、更新推荐物品隐矩阵和更新其他物品隐矩阵计算特征矩阵的损失函数的损失值时,可以采用梯度下降法来最小化损失函数的损失值。
在对矩阵模型进行第t次迭代时,公式如下所示:
其中,表示ui为隐矩阵U的第i行向量在第t+1次迭代训练的值,γ为学习率,aij表示推荐物品隐矩阵VA中第j行、第i列的向量,bij表示其他物品隐矩阵VB中第j行、第i列的向量。
具体的,推荐参与方得到中间值,基于中间值对初始化用户隐矩阵进行更新时,可以利用上述的公式(1)来计算更新用户隐矩阵中的各个特征向量,从而得到更新用户隐矩阵。
在得到更新用户隐矩阵,并根据更新用户隐矩阵和初始化推荐物品隐矩阵来对初始化推荐隐矩阵进行更新时,可以利用上述的公式(2)来计算得到更新推荐物品隐矩阵中的各个特征向量,从而得到更新推荐物品隐矩阵。
其他参与方在根据得到的更新用户隐矩阵和初始化其他物品隐矩阵来对初始化其他物品隐矩阵进行更新时,可以利用上述的公式(3)来计算得到更新其他物品隐矩阵中的各个特征向量,从而得到更新其他物品隐矩阵。
在一实施例中,所述将所述中间值发送给所述推荐参与方,包括:对所述中间值进行加密,并将加密后的中间值发送给所述推荐参与方;所述将所述更新用户隐矩阵发送至其他参与方,包括:对所述更新用户隐矩阵进行加密,并将加密后的更新用户隐矩阵发送至其他参与方。
在进行中间值以及更新用户隐矩阵的发送时,可以对中间值以及更新用户隐矩阵进行加密,从而提高不同参与方之间数据交互的安全性。加密方式例如可以采用同态加密。
S104、当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
当矩阵模型的损失函数的损失值达到预设值时,认为矩阵模型训练完成,将矩阵模型作为推荐模型,完成模型训练。预设值可以是预先设置好的。
上述实施例提供的推荐模型的训练方法,通过获取多个参与方的共同本地数据,并基于共同本地数据构建多个物品评分矩阵,然后对多个物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;各个参与方分别在本地对用户隐矩阵和各自的物品隐矩阵进行迭代训练,并计算矩阵模型的损失函数的损失值,当损失值达到预设值时,将矩阵模型作为推荐模型,完成模型训练。采用矩阵分解的方式构建矩阵模型,提高构建的矩阵模型在进行推荐时的推荐准确率,并且,由于各个参与方分别在本地进行用户隐矩阵和物品隐矩阵的迭代训练,在不泄露用户的隐私信息的情况下引入隐私程度较小的评分矩阵进行联合训练,因此在极大的保障了隐私性的情况下进行良好的推荐模型训练。
请参阅图2,图2是本申请实施例提供的一种用户推荐方法的示意流程图。
如图2所示,该用户推荐方法包括步骤S201至步骤S203。
S201、获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息。
获取新用户的用户信息,用户信息可以是姓名等信息,当确定该用户对推荐参与方来说是新用户时,其他参与方获取该新用户的物品评分信息。
S202、基于所述物品评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息。
其中,预先训练的推荐模型是采用如上述的推荐模型的训练方法训练的到的。基于所述物品评分信息和推荐模型来确定新用户在推荐参与方的物品评分信息。
具体来说,是利用该物品评分信息,和推荐模型中的其他物品隐矩阵,来计算新用户对应的用户隐矩阵的值,然后将该新用户对应的隐矩阵的值以及推荐模型中的推荐物品隐矩阵来计算新用户在推荐参与方的物品评分信息。
S203、根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐。
在得到新用户在推荐参与方的物品评分信息后,根据物品评分信息对新用户进行相应的物品推荐。
在一实施例中,所述根据所述新用户在所述推荐参与方对于物品的评分信息对所述新用户进行推荐,包括:根据所述新用户在所述推荐参与方对于物品的评分信息对物品进行排序,得到物品的排列顺序;按照所述排列顺序,从所述物品中选取目标物品对所述新用户进行推荐。
在得到新用户在推荐参与方对于每一个物品的物品评分信息后,根据物品评分信息对物品进行排序,从而得到物品的排列顺序。在进行排序时,可以按照评分从高到低依次进行排序。
然后按照排列顺序,从物品中选取目标物品对新用户进行推荐,例如可以时选择排序靠前的前五个物品来对新用户进行推荐。
上述实施例提供的用户推荐方法,通过获取新用户的用户信息,然后基于该用户信息获取新用户在其他参与方的物品评分信息,再根据物品评分信息和预先训练的推荐模型确定新用户在推荐参与方的物品评分信息,最终根据物品评分信息对新用户进行推荐。利用预先训练的推荐模型,来实现对新用户进行推荐的目的,实现新用户的冷启动推荐。
请参阅图3,图3是本申请的实施例的提供一种推荐模型的训练装置的示意性框图,该推荐模型的训练装置用于执行前述的推荐模型的训练方法。其中,该推荐模型的训练装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图3所示,推荐模型的训练装置300包括:矩阵构建模块301、矩阵分解模块302、损失计算模块303和模型训练模块304。
矩阵构建模块301,用于获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵。
矩阵分解模块302,用于对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵。
损失计算模块303,用于各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值。
模型训练模块304,用于当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的推荐模型的训练装置和各模块的具体工作过程,可以参考前述推荐模型的训练方法实施例中的对应过程,在此不再赘述。
请参阅图4,图4是本申请的实施例的提供一种用户推荐装置的示意性框图,该用户推荐装置用于执行前述的用户推荐方法。其中,该用户推荐装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图4所示,用户推荐装置400包括:信息获取模块401、评分确定模块402和用户推荐模块403。
信息获取模块401,用于获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息。
评分确定模块402,用于基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息,其中,所述预先训练的推荐模型是采用如上述的推荐模型的训练方法训练的到的。
用户推荐模块403,用于根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的用户推荐装置和各模块的具体工作过程,可以参考前述用户推荐方法实施例中的对应过程,在此不再赘述。
上述的推荐模型的训练装置和用户推荐装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种推荐模型的训练方法和用户推荐方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种推荐模型的训练方法和用户推荐方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵;对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值;当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
在一个实施例中,多个参与方中包括推荐参与方和其他参与方,所述其他参与方为多个参与方中除所述推荐参与方以外的其他训练参与方,多个所述物品隐矩阵包括推荐物品隐矩阵和其他物品隐矩阵;所述处理器在实现所述各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练时,用于实现:
分别对所述用户隐矩阵和多个所述物品隐矩阵进行初始化,得到初始化用户隐矩阵、初始化推荐物品隐矩阵和初始化其他物品隐矩阵;将所述初始化用户隐矩阵发送至其他参与方,使其他参与方在本地基于所述初始化其他物品隐矩阵和所述初始化用户隐矩阵计算中间值,将所述中间值发送给所述推荐参与方;基于所述中间值对所述初始化用户隐矩阵进行更新,得到更新用户隐矩阵和更新推荐物品隐矩阵;将所述更新用户隐矩阵发送至其他参与方,使其他参与方基于所述初始化用户隐矩阵对所述初始化其他物品隐矩阵进行更新,得到更新其他物品隐矩阵。
在一个实施例中,所述处理器在实现所述计算所述矩阵模型的损失函数的损失值时,用于实现:
基于所述特征矩阵的损失函数公式,根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值;所述特征矩阵的损失函数公式为:
其中,LJ表示特征矩阵J的损失函数;ui为用户隐矩阵U的第i行向量,代表用户i的特征向量;vAj为推荐物品隐矩阵VA的第j行向量,代表推荐参与方中第j种物品的特征向量;vBj为其他物品隐矩阵VB的第j行向量,代表其他参与方中第j种物品的特征向量;λ1,λ2为正则化系数。
在一个实施例中,所述处理器用于实现:
根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值,并采用梯度下降法最小化所述损失函数的损失值。
在一个实施例中,所述处理器在实现所述将所述中间值发送给所述推荐参与方时,用于实现:对所述中间值进行加密,并将加密后的中间值发送给所述推荐参与方;所述处理器在实现所述将所述更新用户隐矩阵发送至其他参与方时,用于实现:对所述更新用户矩阵进行加密,并将加密后的更新用户矩阵发送至其他参与方。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息;基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息;根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐;其中,所述预先训练的推荐模型是采用如上述的推荐模型的训练方法训练的到的。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项推荐模型的训练方法和用户推荐方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种推荐模型的训练方法,其特征在于,包括:
获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵;
对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;
各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值;
当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练;
其中,多个参与方中包括推荐参与方和其他参与方,所述其他参与方为多个参与方中除所述推荐参与方以外的其他训练参与方,多个所述物品隐矩阵包括推荐物品隐矩阵和其他物品隐矩阵;所述各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,包括:
分别对所述用户隐矩阵和多个所述物品隐矩阵进行初始化,得到初始化用户隐矩阵、初始化推荐物品隐矩阵和初始化其他物品隐矩阵;
将所述初始化用户隐矩阵发送至其他参与方,使其他参与方在本地基于所述初始化其他物品隐矩阵和所述初始化用户隐矩阵计算中间值,将所述中间值发送给所述推荐参与方;
基于所述中间值对所述初始化用户隐矩阵进行更新,得到更新用户隐矩阵和更新推荐物品隐矩阵;
将所述更新用户隐矩阵发送至其他参与方,使其他参与方基于所述初始化用户隐矩阵对所述初始化其他物品隐矩阵进行更新,得到更新其他物品隐矩阵;
所述计算所述矩阵模型的损失函数的损失值,包括:
基于特征矩阵的损失函数公式,根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值;
所述特征矩阵的损失函数公式为:
其中,表示特征矩阵的损失函数;为用户隐矩阵的第行向量,代表用户的特征向量;为推荐物品隐矩阵的第行向量,代表推荐参与方中第种物品的特征向量;为其他物品隐矩阵的第行向量,代表其他参与方中第种物品的特征向量;为正则化系数;表示推荐物品隐矩阵中第行、第列的向量,表示其他物品隐矩阵中第行、第列的向量。
2.根据权利要求1所述的推荐模型的训练方法,其特征在于,所述方法包括:
根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述矩阵模型的损失函数的损失值,并采用梯度下降法最小化所述损失函数的损失值。
3.根据权利要求1所述的推荐模型的训练方法,其特征在于,所述将所述中间值发送给所述推荐参与方,包括:
对所述中间值进行加密,并将加密后的中间值发送给所述推荐参与方;
所述将所述更新用户隐矩阵发送至其他参与方,包括:
对所述更新用户隐矩阵进行加密,并将加密后的更新用户矩阵发送至其他参与方。
4.一种用户推荐方法,其特征在于,所述方法包括:
获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息;
基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息;
根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐;
其中,所述预先训练的推荐模型是采用如权利要求1至3中任一项所述的推荐模型的训练方法训练的到的。
5.一种推荐模型的训练装置,其特征在于,所述推荐模型的训练装置用于实现如权利要求1-3任一项所述的推荐模型的训练方法,包括:
矩阵构建模块,用于获取多个参与方的共同本地数据,所述共同本地数据包括用户信息和所述用户信息对应的物品评分信息,并基于所述用户信息和所述用户信息对应的物品评分信息构建多个物品评分矩阵;
矩阵分解模块,用于对构建的多个所述物品评分矩阵进行矩阵分解,得到用户隐矩阵和多个物品隐矩阵;
损失计算模块,用于各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,并基于所述用户隐矩阵和多个所述物品隐矩阵构建矩阵模型,计算所述矩阵模型的损失函数的损失值;
模型训练模块,用于当所述矩阵模型的损失函数的损失值达到预设值时,将所述矩阵模型作为推荐模型,完成模型训练。
6.一种用户推荐装置,其特征在于,包括:
信息获取模块,用于获取新用户的用户信息,并基于所述用户信息获取所述新用户在其他参与方的物品评分信息;
评分确定模块,用于基于所述评分信息和预先训练的推荐模型确定所述新用户在推荐参与方的物品评分信息;
用户推荐模块,用于根据所述新用户在所述推荐参与方的物品评分信息对所述新用户进行推荐;
其中,所述预先训练的推荐模型是采用如权利要求1至5中任一项所述的推荐模型的训练方法训练的到的;
其中,多个参与方中包括推荐参与方和其他参与方,所述其他参与方为多个参与方中除所述推荐参与方以外的其他训练参与方,多个所述物品隐矩阵包括推荐物品隐矩阵和其他物品隐矩阵;所述各个参与方分别在本地对所述用户隐矩阵以及各自的所述物品隐矩阵进行迭代训练,包括:
分别对所述用户隐矩阵和多个所述物品隐矩阵进行初始化,得到初始化用户隐矩阵、初始化推荐物品隐矩阵和初始化其他物品隐矩阵;
将所述初始化用户隐矩阵发送至其他参与方,使其他参与方在本地基于所述初始化其他物品隐矩阵和所述初始化用户隐矩阵计算中间值,将所述中间值发送给所述推荐参与方;
基于所述中间值对所述初始化用户隐矩阵进行更新,得到更新用户隐矩阵和更新推荐物品隐矩阵;
将所述更新用户隐矩阵发送至其他参与方,使其他参与方基于所述初始化用户隐矩阵对所述初始化其他物品隐矩阵进行更新,得到更新其他物品隐矩阵;
所述计算所述矩阵模型的损失函数的损失值,包括:
基于特征矩阵的损失函数公式,根据所述更新用户隐矩阵、所述更新推荐物品隐矩阵和所述更新其他物品隐矩阵计算所述特征矩阵的损失函数的损失值;
所述特征矩阵的损失函数公式为:
其中,表示特征矩阵的损失函数;为用户隐矩阵的第行向量,代表用户的特征向量;为推荐物品隐矩阵的第行向量,代表推荐参与方中第种物品的特征向量;为其他物品隐矩阵的第行向量,代表其他参与方中第种物品的特征向量;为正则化系数;表示推荐物品隐矩阵中第行、第列的向量,表示其他物品隐矩阵中第行、第列的向量。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至3中任一项所述的推荐模型的训练方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至3中任一项所述的推荐模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011508002.3A CN112633356B (zh) | 2020-12-18 | 2020-12-18 | 推荐模型的训练方法、推荐方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011508002.3A CN112633356B (zh) | 2020-12-18 | 2020-12-18 | 推荐模型的训练方法、推荐方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112633356A CN112633356A (zh) | 2021-04-09 |
CN112633356B true CN112633356B (zh) | 2024-09-10 |
Family
ID=75317576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011508002.3A Active CN112633356B (zh) | 2020-12-18 | 2020-12-18 | 推荐模型的训练方法、推荐方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112633356B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836584B (zh) * | 2021-11-24 | 2022-04-15 | 阿里巴巴达摩院(杭州)科技有限公司 | 分布式隐私保护学习的推荐方法、设备和学习系统 |
CN114119169B (zh) * | 2021-12-01 | 2025-04-04 | 深圳大学 | 一种去中心化的联邦推荐方法、智能终端及存储介质 |
CN114297500B (zh) * | 2021-12-30 | 2025-01-03 | 腾讯音乐娱乐科技(深圳)有限公司 | 推荐系统训练方法、推荐系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871858A (zh) * | 2017-12-05 | 2019-06-11 | 北京京东尚科信息技术有限公司 | 预测模型建立、对象推荐方法及系统、设备及存储介质 |
CN111859155A (zh) * | 2020-08-04 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 物品推荐方法、设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190040B (zh) * | 2018-08-31 | 2021-05-28 | 合肥工业大学 | 基于协同演化的个性化推荐方法及装置 |
CN110275952A (zh) * | 2019-05-08 | 2019-09-24 | 平安科技(深圳)有限公司 | 基于用户短期兴趣的新闻推荐方法、装置及介质 |
-
2020
- 2020-12-18 CN CN202011508002.3A patent/CN112633356B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871858A (zh) * | 2017-12-05 | 2019-06-11 | 北京京东尚科信息技术有限公司 | 预测模型建立、对象推荐方法及系统、设备及存储介质 |
CN111859155A (zh) * | 2020-08-04 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 物品推荐方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112633356A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112633356B (zh) | 推荐模型的训练方法、推荐方法、装置、设备及存储介质 | |
Yang et al. | In-context operator learning with data prompts for differential equation problems | |
CN111340247B (zh) | 纵向联邦学习系统优化方法、设备及可读存储介质 | |
US10657574B2 (en) | Item recommendation techniques | |
CN113407987B (zh) | 保护隐私的确定业务数据特征有效值的方法及装置 | |
CA3058498A1 (en) | Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device | |
WO2020253357A1 (zh) | 数据产品推荐方法、装置、计算机设备和存储介质 | |
WO2021227959A1 (zh) | 保护数据隐私的多方联合训练对象推荐模型 | |
CN113221183A (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
CN112016698B (zh) | 因子分解机模型构建方法、设备及可读存储介质 | |
CN112000988B (zh) | 因子分解机回归模型构建方法、设备及可读存储介质 | |
CN113505882A (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN110569227A (zh) | 模型参数确定方法、装置和电子设备 | |
CN113761350B (zh) | 一种数据推荐方法、相关装置和数据推荐系统 | |
CN112000987A (zh) | 因子分解机分类模型构建方法、设备及可读存储介质 | |
Kadison et al. | A note on derivations of Murray–von Neumann algebras | |
CN115795000A (zh) | 基于联合相似度算法对比的围标识别方法和装置 | |
CN111343265A (zh) | 信息推送方法、装置、设备及可读存储介质 | |
CN109214543B (zh) | 数据处理方法及装置 | |
CN112231561A (zh) | 数据处理方法、装置、设备及存储介质 | |
US11979309B2 (en) | System and method for discovering ad-hoc communities over large-scale implicit networks by wave relaxation | |
CN113362139B (zh) | 基于双塔结构模型的数据处理方法和装置 | |
CN111985573B (zh) | 因子分解机分类模型构建方法、设备及可读存储介质 | |
CN112733181B (zh) | 一种产品推荐方法、系统、计算机设备及存储介质 | |
CN109886299B (zh) | 一种用户画像方法、装置、可读存储介质及终端设备 |
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 |