CN109783769B - 一种基于用户项目评分的矩阵分解方法和装置 - Google Patents

一种基于用户项目评分的矩阵分解方法和装置 Download PDF

Info

Publication number
CN109783769B
CN109783769B CN201711130419.9A CN201711130419A CN109783769B CN 109783769 B CN109783769 B CN 109783769B CN 201711130419 A CN201711130419 A CN 201711130419A CN 109783769 B CN109783769 B CN 109783769B
Authority
CN
China
Prior art keywords
iteration
user
variable element
mean square
loss function
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
Application number
CN201711130419.9A
Other languages
English (en)
Other versions
CN109783769A (zh
Inventor
李俊杰
何怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Shanghai Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Shanghai Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711130419.9A priority Critical patent/CN109783769B/zh
Publication of CN109783769A publication Critical patent/CN109783769A/zh
Application granted granted Critical
Publication of CN109783769B publication Critical patent/CN109783769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种基于用户项目评分的矩阵分解方法和装置。所述方法包括:根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件,其中,不同的迭代过程中每个变量元素所对应的迭代步长随着迭代次数的不同而动态变化;将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值。所述装置用于执行上述方法。本发明实施例提供的方法和装置,提高分解速度的同时,提高分解后的用户因子矩阵、项目因子矩阵的准确度。

Description

一种基于用户项目评分的矩阵分解方法和装置
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种基于用户项目评分的矩阵分解方法和装置。
背景技术
隐因子矩阵分解算法为把一个用户项目矩阵(通常是高维稀疏矩阵,即矩阵中很多元素是缺失未知的)分解为两个矩阵,一个用户因子矩阵和一个项目因子矩阵,并且分解后的两个矩阵一开始是随机的进行赋值,然后根据用户项目矩阵的值(即实际值)与相应的分解后两个矩阵乘积的值(即预测值)构造损失函数。为了使预测值尽可能贴近实际值,需要使损失函数尽可能地小。
目前,现有可以采用随机梯度下降法来求损失函数的极小值,并通过随机梯度下降法来优化更新用户因子矩阵和项目因子矩阵中的各元素的值。当满足一定条件使得迭代终止时,视为训练完毕,此时就可以用训练完成后的用户因子矩阵和项目因子矩阵做内积去预测相应的用户项目矩阵中空缺的值。
然而,现有隐因子矩阵分解算法中由于让用户因子矩阵和项目因子矩阵中的变量元素沿着损失函数的负梯度的方向按照相同的学习速率(步长)移动,会导致迭代多次才能接近极小值,分解速度慢;或者导致错过极小值点,无法获得准确的分解结果。
发明内容
针对现有技术中的缺陷,本发明实施例提供一种基于用户项目评分的矩阵分解方法和装置,提高了分解准确度和分解速度。
一方面,本发明实施例提供一种基于用户项目评分的矩阵分解方法,包括:
根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;
通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:
针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代;
将最后一次迭代中更新后的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
另一方面,本发明实施例提供一种基于用户项目评分的矩阵分解装置,包括:
构造模块,用于根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;
迭代模块,用于通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代,并将本次迭代中更新后的各变量元素的取值输出;
分解模块,用于将所述迭代模块输出的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
又一方面,本发明实施例提供一种电子设备,包括处理器、存储器和总线,其中:
所述处理器,所述存储器通过总线完成相互间的通信;
所述处理器可以调用存储器中的计算机程序,以执行上述方法的步骤。
再一方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明实施例提供的基于用户项目评分的矩阵分解方法和装置,通过根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件,其中,不同的迭代过程中每个变量元素所对应的迭代步长随着已迭代次数的不同而动态变化;将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值,提高分解速度的同时,提高分解后的用户因子矩阵、项目因子矩阵的准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一个实施例的基于用户项目评分的矩阵分解方法的示例性流程图;
图2示出了根据本发明一个实施例的基于用户项目评分的矩阵分解装置的结构示意图;
图3示出了根据本发明一个实施例的电子设备的实体结构示意图。
具体实施方式
以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本申请使用的“模块”、“装置”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
下面结合附图详细说明本发明的技术方案。
参考图1,其示出了根据本发明一个实施例的基于用户项目评分的矩阵分解方法的示例性流程图。
如图1所示,本发明实施例提供的基于用户项目评分的矩阵分解方法,可以包括如下步骤:
S110:根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数。
本发明实施例中,待分解的用户项目评分矩阵是基于若干个已知的用户项目评分所构造的;用户因子矩阵和项目因子矩阵中的各变量元素具有初始的赋值。其中,用户项目评分矩阵R、用户因子矩阵U与项目因子矩阵V之间的分解关系具体为:R≈UTV。
本发明实施例中,用户项目评分指的是用户对项目的评分。项目可以具体为产品或服务,比如,音乐、视频、阅读、动漫、游戏等各类APP(应用)。
实际应用中,对于若干个已知的用户项目评分,可以首先进行标准化处理,使得标准化处理后的用户项目评分处于0-1之间。
接着,基于标准化处理后的用户项目评分,构造待分解的用户项目评分矩阵。考虑实际应用中无法获取用户对所有项目的实际评分,因此,构造的用户项目评分矩阵为稀疏矩阵,即用户项目评分矩阵中包括已知的用户项目评分和未知的用户项目评分。
针对用户项目评分矩阵,构造对应的两个分解矩阵:用户因子矩阵、项目因子矩阵;并对用户因子矩阵和项目因子矩阵中各变量元素进行初始赋值。
可选地,在用户因子矩阵和项目因子矩阵的构造过程中,对用户因子矩阵和项目因子矩阵中各变量元素进行初始赋值时采用随机赋值的方式。
本发明实施例中,用户因子矩阵中的变量元素(本实施例中可称为用户因子变量)的数量为隐因子的数量与用户的数量的乘积;用户因子变量用以表示用户与隐因子之间的关联度。
相应地,项目因子矩阵中的变量元素(本实施例中可称为项目因子变量)的数量为隐因子的数量与项目的数量的乘积;项目因子变量用以表示项目与隐因子之间的关联度。
其中,隐因子的数量可根据构造的用户项目评分矩阵的填充率来设置。实际应用中,填充率越高,隐因子的数量越小;填充率越低,隐因子的数量越多。
本发明实施例中,可以根据如下公式构造均方差损失函数L:
Figure BDA0001469397880000051
其中,N为用户的数量,M为项目的数量,均为大于1的整数;Rpq为第p个用户对第q个项目的评分;Up为用户因子矩阵U中表示第p个用户与各个隐因子之间的关联度的各用户因子变量组成的向量;Vq为项目因子矩阵V中表示第q个项目与各个隐因子之间的关联度的各项目因子变量组成的向量;λ为预设的正则化系数。
实际应用中,也可以采用其他公式构造均方差损失函数L,比如:
Figure BDA0001469397880000052
其中,N为用户的数量,M为项目的数量,均为大于1的整数;Rpq为第p个用户对第q个项目的评分;Up为用户因子矩阵U中表示第p个用户与各个隐因子之间的关联度的各用户因子变量组成的向量;Vq为项目因子矩阵V中表示第q个项目与各个隐因子之间的关联度的各项目因子变量组成的向量;λ为预设的正则化系数,p取值为[1,N]的整数,q取值为[1,M]的整数。
S120:通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对用户因子矩阵和项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代,并执行步骤S130。
其中,计算出的本次迭代中变量元素对应的迭代步长小于前一次迭代中变量元素对应的迭代步长。
本发明实施例中,预设迭代条件包括如下任一一项:
均方差损失函数达到极小值、均方差损失函数达到预设取值、均方差损失函数的迭代次数等于预设次数阈值。
其中,预设函数阈值是根据极小值预先设定。实际应用中,可以根据准确度的不同需求,选择逼近极小值的数值作为预设函数阈值用以及时迭代。例如,在最小值为0时,可以选取0.001、0.00001或0.00000001作为预设函数阈值。
本发明实施例中,在一次迭代过程中,不同的变量元素在本次迭代过程中对应的迭代步长可以相同或不同;对于同一变量元素,该变量元素对应的迭代步长是动态变化的,该变量元素在不同的迭代过程中所对应的迭代步长不同。随着迭代次数的不断增大,变量元素对应的迭代步长不断减小。
其中,变量元素为用户因子矩阵中的变量元素,或项目因子矩阵中的变量元素。
本发明实施例中,每次迭代过程中,在得到更新后的均方差损失函数之后,可以计算该均方差损失函数在各个变量元素上的梯度值,并存储。
这样,后续进行第I+1次迭代的过程中,针对用户因子矩阵中的每个用户因子变量,可以获取前I次迭代更新后的均方差损失函数在该用户因子变量上的I个梯度值;根据当前已迭代次数I、获取的I个梯度值和预设的初始迭代步长,确定第I+1次迭代中该用户因子变量对应的迭代步长。
针对项目因子矩阵中的每个项目因子变量,可以获取前I次迭代更新后的均方差损失函数在该项目因子变量上的I个梯度值;根据当前已迭代次数I、获取的I个梯度值和预设的初始迭代步长,确定第I+1次迭代中该项目因子变量对应的迭代步长。
继而,根据各用户因子变量各自对应的迭代步长和各项目因子变量各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;若本次迭代更新后的均方差损失函数不满足预设迭代条件,则进行下一次迭代。若本次迭代更新后的均方差损失函数满足预设迭代条件,则结束迭代,并执行步骤S130。
S130:将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值。
本发明实施例中,在本次迭代更新后的均方差损失函数满足预设迭代条件的情况下,本次迭代为均方差损失函数的最后一次迭代。获取最后一次迭代中更新后的各用户因子变量和各项目因子变量的取值,并将获取的各用户因子变量的取值作为用户因子矩阵各用户因子变量的分解优化取值;同时,将获取的各项目因子变量的取值作为项目因子矩阵各项目因子变量的分解优化取值。
在用户因子矩阵和项目因子矩阵中的各变量元素取分解优化取值的情况下,基于用户项目评分矩阵与用户因子矩阵、项目因子矩阵构造的均方差损失函数满足预设的迭代条件,比如,达到极小值。这样,由用户因子矩阵与项目因子矩阵进行內积计算得到的用户对项目的预测评分与用户对项目的实际评分较为接近,分解结果较为准确。
本发明实施例提供的基于用户项目评分的矩阵分解方法,通过根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件,其中,不同的迭代过程中每个变量元素所对应的迭代步长随着已迭代次数的不同而动态变化;将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值,提高分解速度的同时,提高分解后的用户因子矩阵、项目因子矩阵的准确度。
在上述实施例的基础上,本发明又一实施例提供的基于用户项目评分的矩阵分解方法中,所述针对用户因子矩阵和项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,包括:
针对每个变量元素w,根据如下公式,计算第I+1次迭代中该变量元素w对应的迭代步长γw
Figure BDA0001469397880000081
其中,I表示当前已迭代次数,I取值为大于或等于0的整数;gwi表示第i次迭代更新后的均方差损失函数在变量元素w上的梯度值,i取值为[0,I]的整数;γ表示预设的初始迭代步长,gw0=1。
具体地,可以先确定在本次迭代之前已经进行的迭代的次数,即当前已迭代次数I;针对每个变量元素,获取本次迭代之前I个迭代更新后的均方差损失函数分别在该变量元素上的梯度值。
继而,根据公式
Figure BDA0001469397880000082
确定本次迭代(即第I+1次迭代)中该变量元素对应的迭代步长。
实际应用中,在进行第1次迭代的过程中,当前已迭代次数为0,因此,第1次迭代中各变量元素对应的迭代步长相同,且均为预设的初始迭代步长γ。
本发明实施例中,进行第I+1次迭代的过程中,针对用户因子矩阵中的每个用户因子变量,可以获取前I次迭代更新后的均方差损失函数在该用户因子变量上的I个梯度值;根据当前已迭代次数I、获取的I个梯度值和预设的初始迭代步长,利用公式
Figure BDA0001469397880000091
计算出第I+1次迭代中该用户因子变量对应的迭代步长。
针对项目因子矩阵中的每个项目因子变量,可以获取前I次迭代更新后的均方差损失函数在该项目因子变量上的I个梯度值;根据当前已迭代次数I、获取的I个梯度值和预设的初始迭代步长,利用公式
Figure BDA0001469397880000092
确定第I+1次迭代中该项目因子变量对应的迭代步长。
这样,迭代过程中,变量元素的迭代步长随迭代次数增加而减小,从而实现均方差损失函数由粗调到精调的过程,使均方差损失函数不断逼近极小值点。进一步地,由于均方差损失函数在不同变量元素上的梯度值不同,因此,不同的变量元素所各自对应的迭代步长也不同。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的基于用户项目评分的矩阵分解方法,引入动态变化的迭代步长,可以实现均方差损失函数经过由粗调到精调的过程,快速而准确地逼近极小值,从而快速得到准确度高的分解结果。
在上述实施例的基础上,本发明又一实施例提供的基于用户项目评分的矩阵分解方法中,所述根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新,包括:
针对每个变量元素,从所述用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与该变量元素关联的评分作为该变量元素在本次迭代中对应的样本用户项目评分;
针对每个变量元素,根据该变量元素在本次迭代中对应的样本用户项目评分、前一次迭代中更新后的各变量元素取值,计算前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值;
根据各变量元素各自对应的迭代步长和所述前一次迭代更新后的均方差损失函数在各变量元素上的负梯度值,对前一次迭代更新后的均方差损失函数进行变量元素更新。
具体地,针对用户因子矩阵中的用户因子变量Upk,从用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与Upk关联的评分作为Upk在本次迭代中对应的样本用户项目评分。
针对项目因子矩阵中的每个项目因子变量Vkq,从用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与Vkq关联的评分作为Vkq在本次迭代中对应的样本用户项目评分。
其中,Upk表示用户因子矩阵U中表示第p个用户与第k个隐因子之间的关联度的变量元素。Vkq表示项目因子矩阵V中表示第q个项目与第k个隐因子之间的关联度的变量元素。p取值为[1,N]的整数,q取值为[1,M]的整数,k取值为[1,K]的整数,N为用户的数量,取值为大于1的整数;M为项目的数量,取值为大于1的整数;K为隐因子的数量,取值为大于1的整数。
实际应用中,对于第p个用户,该用户对M个项目中的若干个项目存在实际评分,即已知的用户项目评分;对于第q个项目,N个用户中存在若干个用户对该项目存在实际评分,即已知的用户项目评分。因此,本发明实施例中,可以随机选取第p个用户对一个或多个项目的实际评分作为Upk在本次迭代中对应的样本用户项目评分;随机选取一个或多个用户对第q个项目的实际评分作为变量Vkq在本次迭代中对应的样本用户项目评分。
继而,针对每个变量元素,根据该变量元素在本次迭代中对应的样本用户项目评分、前一次迭代中更新后的各变量元素取值,计算前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值。
接着,根据各变量元素各自对应的迭代步长和前一次迭代更新后的均方差损失函数在各变量元素上的负梯度值,对前一次迭代更新后的均方差损失函数进行变量元素更新。具体地,可以针对每个变量元素w,根据如下公式,确定更新后的该变量元素w′:
Figure BDA0001469397880000111
其中,
Figure BDA0001469397880000112
为前一次迭代更新后的均方差损失函数L在变量元素w上的负梯度值,γw为本次迭代中变量元素w对应的迭代步长。
最后,将更新后的各变量元素代入前一次迭代更新后的均方差损失函数,得到本次迭代更新后的均方差损失函数。
本发明实施例中,关于负梯度值的计算和变量更新可以采用本领技术人员常用的技术手段,此处不再赘述。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的基于用户项目评分的矩阵分解方法,通过从已知的用户项目评分中随机选取各变量元素在迭代过程中对应的样本用户项目评分,并基于选取的样本用户项目评分计算出前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值;之后,根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新,让变量元素沿着均方差损失函数负梯度方向移动,直至移动至极小值点。
在上述实施例的基础上,本发明又一实施例提供的基于用户项目评分的矩阵分解方法中,所述方法还包括:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,计算出用户对项目的预测评分;
计算已知的用户项目评分与计算出的预测评分之间的误差;其中,所述误差包括:均方误差和/或平均绝对值误差;
若所述误差超过设定误差阈值,则根据所述误差针对如下至少一种进行优化调整:
所述均方差损失函数、所述用户因子矩阵和所述项目因子矩阵中的变量元素总数、所述初始迭代步长。
在通过步骤S130确定用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值之后,由用户因子矩阵与项目因子矩阵进行内积计算得到的用户对项目的预测评分与用户对项目的实际评分较为接近,分解结果较为准确。
为了进一步保障分解准确度,本发明实施例中,可以根据已知的用户项目评分,对分解结果进行准确度校验。具体地,可以根据用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值,来计算出不同用户对不同项目的预测评分。
例如,第p个用户对第q个项目的预测评分可以通过向量Up与向量Vq的内积计算得到。
其中,Up为用户因子矩阵U中表示第p个用户与各个隐因子之间的关联度的各用户因子变量组成的向量。Vq为项目因子矩阵V中表示第q个项目与各个隐因子之间的关联度的各项目因子变量组成的向量。
接着,计算用户对项目的实际评分与用户对项目的预测评分之间的均方误差或平均绝对值误差;将计算出的均方误差或平均绝对值误差与预先设置的误差阈值进行比较。其中,误差阈值是根据实际准确度需求来设置的。
若计算出的误差超过误差阈值,则说明分解结果不符合实际准确度需求,需要做进一步地优化。本发明实施例中,可以根据误差针对如下至少一种进行优化调整:
均方差损失函数、用户因子矩阵和项目因子矩阵中的变量元素总数、所述初始迭代步长。
实际应用中,可以调整均方差损失函数的构造,比如调整均方差损失函数中的正则化系数;或者调整隐因子的数量从而调整用户因子矩阵和项目因子矩阵中的变量元素总数;或者,可以降低初始迭代步长。
可选地,预设的迭代条件为均方差损失函数的迭代次数等于预设次数阈值的情况下,可以调高预设的次数阈值;预设的迭代条件为均方差损失函数达到预设函数阈值的情况下,可以调低预设的函数阈值。
这样,在经过优化调整之后,重新对基于用户项目评分的待分解的用户项目评分矩阵进行矩阵分解,直至得到满足实际准确度需求的分解结果。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的基于用户项目评分的矩阵分解方法,通过已知的用户项目评分对分解结果进行校验,提高分解结果准确度。
在上述实施例的基础上,本发明又一实施例提供的基于用户项目评分的矩阵分解方法中,所述方法还包括:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,确定用户对各项目的预测评分;
根据用户对各项目的预测评分的排序,选取若干个项目作为待推荐项目。
具体地,在通过步骤S130确定出分解后的用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值之后,可以针对任一用户,根据用户因子矩阵中该用户关联的各用户因子变量的分解优化取值,以及项目因子矩阵中各项目因子变量的分解优化取值,计算出该用户对各项目的预测评分。
继而,将用户对各项目的预测评分进行排序,选取预测评分高的若干个项目作为待推荐项目,以便将待推荐项目向用户推荐。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的基于用户项目评分的矩阵分解方法,根据准确度高的分解结果进行项目推荐,可提高用户体验。
在上述各实施例的基础上,本发明又一实施例提供了一种基于用户项目评分的矩阵分解装置。
参考图2,其示出了根据本发明一个实施例的基于用户项目评分的矩阵分解装置的结构示意图。
如图2所示,本发明实施例提供的基于用户项目评分的矩阵分解装置200可以包括:构造模块201、迭代模块202和分解模块203。
其中,构造模块201用于根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数。
其中,所述待分解的用户项目评分矩阵是基于若干个已知的用户项目评分所构造的,所述用户因子矩阵和所述项目因子矩阵中的各变量元素具有初始的赋值。
迭代模块202用于通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对用户因子矩阵和项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代,并将本次迭代中更新后的各变量元素的取值输出。
分解模块203用于将所述迭代模块202输出的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
可选地,所述预设迭代条件包括如下任一一项:
所述均方差损失函数达到极小值、所述均方差损失函数达到预设函数阈值、所述均方差损失函数的迭代次数等于预设次数阈值;
其中,所述预设函数阈值是根据所述极小值预先设定。
可选地,所述迭代模块202用于针对每个变量元素w,根据如下公式,计算第I+1次迭代中该变量元素w对应的迭代步长γw
Figure BDA0001469397880000141
其中,I表示当前已迭代次数,I取值为大于或等于0的整数;gwi表示第i次迭代更新后的均方差损失函数在变量元素w上的梯度值,i取值为[0,I]的整数;γ表示预设的初始迭代步长,gw0=1。
可选地,所述迭代模块202用于针对每个变量元素,从所述用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与该变量元素关联的评分作为该变量元素在本次迭代中对应的样本用户项目评分;针对每个变量元素,根据该变量元素在本次迭代中对应的样本用户项目评分、前一次迭代中更新后的各变量元素取值,计算前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值;根据各变量元素各自对应的迭代步长和所述前一次迭代更新后的均方差损失函数在各变量元素上的负梯度值,对前一次迭代更新后的均方差损失函数进行变量元素更新。
可选地,所述迭代模块202用于针对每个变量元素w,根据如下公式,确定更新后的该变量元素w′:
Figure BDA0001469397880000151
其中,
Figure BDA0001469397880000152
为前一次迭代更新后的均方差损失函数L在变量元素w上的负梯度值,γw为本次迭代中变量元素w对应的迭代步长;将更新后的各变量元素代入前一次迭代更新后的均方差损失函数,得到本次迭代更新后的均方差损失函数。
可选地,所述基于用户项目评分的矩阵分解装置200还可以包括:优化模块。
所述优化模块用于根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,计算出用户对项目的预测评分;计算已知的用户项目评分与计算出的预测评分之间的误差;其中,所述误差包括:均方误差和/或平均绝对值误差;若所述误差超过设定误差阈值,则根据所述误差针对如下至少一种进行优化调整:所述均方差损失函数、所述用户因子矩阵和所述项目因子矩阵中的变量元素总数、所述初始迭代步长。
可选地,所述基于用户项目评分的矩阵分解装置200还可以包括:推荐模块。
所述推荐模块用于根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,确定用户对各项目的预测评分;根据用户对各项目的预测评分的排序,选取若干个项目作为待推荐项目。
本发明实施例提供的基于用户项目评分的矩阵分解装置,通过根据待分解的用户项目评分矩阵与用户因子矩阵、项目因子矩阵之间的分解关系,构建均方差损失函数;对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件,其中,不同的迭代过程中每个变量元素所对应的迭代步长随着已迭代次数的不同而动态变化;将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值,提高分解速度的同时,提高分解后的用户因子矩阵、项目因子矩阵的准确度。
本发明提供的基于用户项目评分的矩阵分解装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
参考图3,其示出了根据本发明一个实施例的电子设备的实体结构示意图。如图3所示,该电子设备300可以包括:处理器(processor)301、存储器(memory)302和总线303,其中,处理器301,存储器302通过总线303完成相互间的通信。处理器301可以调用存储器302中的计算机程序,以执行上述各方法实施例所提供的方法,例如包括:
根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;
通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:
针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代;
将最后一次迭代中更新后的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
在另一种实施方式中,所述预设迭代条件包括如下任一一项:
所述均方差损失函数达到极小值、所述均方差损失函数达到预设函数阈值、所述均方差损失函数的迭代次数等于预设次数阈值;
其中,所述预设函数阈值是根据所述极小值预先设定。
在另一种实施方式中,所述处理器301执行所述计算机程序时实现如下方法:
所述针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,包括:
针对每个变量元素w,根据如下公式,计算第I+1次迭代中该变量元素w对应的迭代步长γw
Figure BDA0001469397880000171
其中,I表示当前已迭代次数,I取值为大于或等于0的整数;gwi表示第i次迭代更新后的均方差损失函数在变量元素w上的梯度值,i取值为[0,I]的整数;γ表示预设的初始迭代步长,gw0=1。
在另一种实施方式中,所述处理器301执行所述计算机程序时实现如下方法:
所述根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新,包括:
针对每个变量元素,从所述用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与该变量元素关联的评分作为该变量元素在本次迭代中对应的样本用户项目评分;
针对每个变量元素,根据该变量元素在本次迭代中对应的样本用户项目评分、前一次迭代中更新后的各变量元素取值,计算前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值;
根据各变量元素各自对应的迭代步长和所述前一次迭代更新后的均方差损失函数在各变量元素上的负梯度值,对前一次迭代更新后的均方差损失函数进行变量元素更新。
在另一种实施方式中,所述处理器301执行所述计算机程序时实现如下方法:
所述对前一次迭代更新后的均方差损失函数进行变量元素更新,包括:
针对每个变量元素w,根据如下公式,确定更新后的该变量元素w′:
Figure BDA0001469397880000181
其中,
Figure BDA0001469397880000182
为前一次迭代更新后的均方差损失函数L在变量元素w上的负梯度值,γw为本次迭代中变量元素w对应的迭代步长;
将更新后的各变量元素代入前一次迭代更新后的均方差损失函数,得到本次迭代更新后的均方差损失函数。
在另一种实施方式中,所述处理器301执行所述计算机程序时实现如下方法:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,计算出用户对项目的预测评分;
计算已知的用户项目评分与计算出的预测评分之间的误差;其中,所述误差包括:均方误差和/或平均绝对值误差;
若所述误差超过设定误差阈值,则根据所述误差针对如下至少一种进行优化调整:
所述均方差损失函数、所述用户因子矩阵和所述项目因子矩阵中的变量元素总数、所述初始迭代步长。
在另一种实施方式中,所述处理器301执行所述计算机程序时实现如下方法:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,确定用户对各项目的预测评分;
根据用户对各项目的预测评分的排序,选取若干个项目作为待推荐项目。
本发明实施例提供的电子设备,至少具有以下技术效果:通过根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件,其中,不同的迭代过程中每个变量元素所对应的迭代步长随着已迭代次数的不同而动态变化;将最后一次迭代中更新后的各变量元素的取值确定为用户因子矩阵和项目因子矩阵中各变量元素的分解优化取值,提高分解速度的同时,提高分解后的用户因子矩阵、项目因子矩阵的准确度。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代;将最后一次迭代中更新后的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:
根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数;通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代;将最后一次迭代中更新后的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于用户项目评分的矩阵分解方法,其特征在于,包括:
根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数,其中,用户项目包括音乐应用APP、视频APP、阅读APP、动漫APP和游戏APP;
通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:
针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代;
其中,所述针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,包括:
针对每个变量元素w,根据如下公式,计算第I+1次迭代中该变量元素w对应的迭代步长γw
Figure FDA0003925502200000011
其中,I表示当前已迭代次数,I取值为大于或等于0的整数;gwi表示第i次迭代更新后的均方差损失函数在变量元素w上的梯度值,i取值为[0,I]的整数;γ表示预设的初始迭代步长,gw0=1;
将最后一次迭代中更新后的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
2.根据权利要求1所述的方法,其特征在于,所述预设迭代条件包括如下任一项:
所述均方差损失函数达到极小值、所述均方差损失函数达到预设函数阈值、所述均方差损失函数的迭代次数等于预设次数阈值;
其中,所述预设函数阈值是根据所述极小值预先设定。
3.根据权利要求1所述的方法,其特征在于,所述根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新,包括:
针对每个变量元素,从所述用户项目评分矩阵中已知的用户项目评分中随机选取一个或多个与该变量元素关联的评分作为该变量元素在本次迭代中对应的样本用户项目评分;
针对每个变量元素,根据该变量元素在本次迭代中对应的样本用户项目评分、前一次迭代中更新后的各变量元素取值,计算前一次迭代后所对应的均方差损失函数在该变量元素上的负梯度值;
根据各变量元素各自对应的迭代步长和所述前一次迭代更新后的均方差损失函数在各变量元素上的负梯度值,对前一次迭代更新后的均方差损失函数进行变量元素更新。
4.根据权利要求3所述的方法,其特征在于,所述对前一次迭代更新后的均方差损失函数进行变量元素更新,包括:
针对每个变量元素w,根据如下公式,确定更新后的该变量元素w′:
Figure FDA0003925502200000021
其中,-
Figure FDA0003925502200000022
为前一次迭代更新后的均方差损失函数L在变量元素w上的负梯度值,γw为本次迭代中变量元素w对应的迭代步长;
将更新后的各变量元素代入前一次迭代更新后的均方差损失函数,得到本次迭代更新后的均方差损失函数。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,计算出用户对项目的预测评分;
计算已知的用户项目评分与计算出的预测评分之间的误差;其中,所述误差包括:均方误差和/或平均绝对值误差;
若所述误差超过设定误差阈值,则根据所述误差针对如下至少一种进行优化调整:
所述均方差损失函数、所述用户因子矩阵和所述项目因子矩阵中的变量元素总数、初始迭代步长。
6.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
根据所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值,确定用户对各项目的预测评分;
根据用户对各项目的预测评分的排序,选取若干个项目作为待推荐项目。
7.一种基于用户项目评分的矩阵分解装置,其特征在于,包括:
构造模块,用于根据待分解的用户项目评分矩阵、用户因子矩阵与项目因子矩阵之间的分解关系,构建均方差损失函数,其中,用户项目包括音乐应用APP、视频APP、阅读APP、动漫APP和游戏APP;
迭代模块,用于通过如下方式对均方差损失函数进行若干次迭代更新,直至迭代更新后的均方差损失函数满足预设迭代条件:针对所述用户因子矩阵和所述项目因子矩阵中的每个变量元素,根据当前已迭代次数,计算本次迭代中该变量元素对应的迭代步长,其中,计算出的迭代步长小于前一次迭代中该变量元素对应的迭代步长;根据各变量元素各自对应的迭代步长,对前一次迭代更新后的均方差损失函数进行变量元素更新;判断本次迭代更新后的均方差损失函数是否满足预设迭代条件,若否,则进行下一次迭代;若是,则结束迭代,并将本次迭代中更新后的各变量元素的取值输出;
所述迭代模块还用于:
针对每个变量元素w,根据如下公式,计算第I+1次迭代中该变量元素w对应的迭代步长γw
Figure FDA0003925502200000031
其中,I表示当前已迭代次数,I取值为大于或等于0的整数;gwi表示第i次迭代更新后的均方差损失函数在变量元素w上的梯度值,i取值为[0,I]的整数;γ表示预设的初始迭代步长,gw0=1;
分解模块,用于将所述迭代模块输出的各变量元素的取值确定为所述用户因子矩阵和所述项目因子矩阵中各变量元素的分解优化取值。
8.一种电子设备,其特征在于,包括处理器、存储器和总线,其中:
所述处理器,所述存储器通过总线完成相互间的通信;
所述处理器可以调用存储器中的计算机程序,以执行如权利要求1-6任意一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任意一项所述方法的步骤。
CN201711130419.9A 2017-11-15 2017-11-15 一种基于用户项目评分的矩阵分解方法和装置 Active CN109783769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711130419.9A CN109783769B (zh) 2017-11-15 2017-11-15 一种基于用户项目评分的矩阵分解方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711130419.9A CN109783769B (zh) 2017-11-15 2017-11-15 一种基于用户项目评分的矩阵分解方法和装置

Publications (2)

Publication Number Publication Date
CN109783769A CN109783769A (zh) 2019-05-21
CN109783769B true CN109783769B (zh) 2023-02-28

Family

ID=66494259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711130419.9A Active CN109783769B (zh) 2017-11-15 2017-11-15 一种基于用户项目评分的矩阵分解方法和装置

Country Status (1)

Country Link
CN (1) CN109783769B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110689937A (zh) * 2019-09-05 2020-01-14 郑州金域临床检验中心有限公司 编码模型训练方法、系统、设备及检测项目编码方法
CN111402003B (zh) * 2020-03-13 2023-06-13 第四范式(北京)技术有限公司 实现用户相关推荐的系统和方法
CN113987363A (zh) * 2021-10-20 2022-01-28 南京航空航天大学 一种基于隐因子预测的冷启动推荐算法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090932A (zh) * 2014-06-24 2014-10-08 海信集团有限公司 一种内容推荐方法及装置
CN105976070A (zh) * 2016-05-27 2016-09-28 北京交通大学 基于重点元素的矩阵分解及微调方法
CN106294288A (zh) * 2016-07-27 2017-01-04 中南大学 一种分布式非负矩阵分解方法
CN106779090A (zh) * 2016-12-15 2017-05-31 南开大学 一种基于自适应Dropout非负矩阵分解的特征学习模型
CN106874998A (zh) * 2017-01-12 2017-06-20 西安电子科技大学 一种基于帕累托优化的自步矩阵分解方法
CN107145541A (zh) * 2017-04-24 2017-09-08 安徽师范大学 基于超图结构的社交网络推荐模型构建方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090932A (zh) * 2014-06-24 2014-10-08 海信集团有限公司 一种内容推荐方法及装置
CN105976070A (zh) * 2016-05-27 2016-09-28 北京交通大学 基于重点元素的矩阵分解及微调方法
CN106294288A (zh) * 2016-07-27 2017-01-04 中南大学 一种分布式非负矩阵分解方法
CN106779090A (zh) * 2016-12-15 2017-05-31 南开大学 一种基于自适应Dropout非负矩阵分解的特征学习模型
CN106874998A (zh) * 2017-01-12 2017-06-20 西安电子科技大学 一种基于帕累托优化的自步矩阵分解方法
CN107145541A (zh) * 2017-04-24 2017-09-08 安徽师范大学 基于超图结构的社交网络推荐模型构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Evolutionary Based Matrix Factorization Method For Collaborative Filtering Systems;Dariush Zandi Navgaran 等;《2013 21st Iranian Conference on Electrical Engineering(ICEE)》;20130916;全文 *
基于QoS缺失数据预测的个性化Web服务推荐方法研究;马友;《中国博士学位论文全文数据库 信息科技辑》;20160315(第(2016)03期);全文 *

Also Published As

Publication number Publication date
CN109783769A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN109408731B (zh) 一种多目标推荐方法、多目标推荐模型生成方法以及装置
CN109784149B (zh) 一种人体骨骼关键点的检测方法及系统
US20200356875A1 (en) Model training
CN111105029B (zh) 神经网络的生成方法、生成装置和电子设备
CN108021983A (zh) 神经架构搜索
CN110991652A (zh) 神经网络模型训练方法、装置及电子设备
US20170039471A1 (en) Neural network learning device
US11347995B2 (en) Neural architecture search with weight sharing
CN109783769B (zh) 一种基于用户项目评分的矩阵分解方法和装置
JP6950756B2 (ja) ニューラルネットワークのランク最適化装置および最適化方法
EP3602419A1 (en) Neural network optimizer search
CN111325223B (zh) 深度学习模型的训练方法、装置和计算机可读存储介质
CN111160531B (zh) 神经网络模型的分布式训练方法、装置及电子设备
CN108805257A (zh) 一种基于参数范数的神经网络量化方法
CN109710921B (zh) 词语相似度的计算方法、装置、计算机设备及存储介质
CN109800853B (zh) 融合卷积神经网络和显式反馈的矩阵分解方法、装置及电子设备
CN111260056B (zh) 一种网络模型蒸馏方法及装置
CN111178082A (zh) 一种句向量生成方法、装置及电子设备
CN109871448B (zh) 一种短文本分类的方法及系统
CN112613550A (zh) 一种数据分类方法、装置及相关设备
CN117115551A (zh) 一种图像检测模型训练方法、装置、电子设备及存储介质
CN117056595A (zh) 一种交互式的项目推荐方法、装置及计算机可读存储介质
CN115277264A (zh) 一种基于联邦学习的字幕生成方法、电子设备及存储介质
CN110866608B (zh) 一种自适应学习率计算方法
CN115600693A (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