一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于协同滤波模型的物品推荐方法和系统与流程

2021-11-20 02:57:00 来源:中国专利 TAG:


1.本技术涉及用户相关推荐技术,更具体地讲,涉及一种基于协同滤波模型的物品推荐方法和系统。


背景技术:

2.推荐系统被广泛应用于各种场景。例如推荐系统可以利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么物品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。可进行推荐的对象包括商品、广告、新闻、音乐等等。
3.协同滤波(cf)是推荐系统的一种关键技术,用于进行用户相关推荐,例如,估计用户对物品的偏好。
4.为了保证协同滤波的效果,需要根据待处理的数据类型、数据维度、数据规模、以及结果评定标准等,设计不同的协同滤波模型(例如,基于矩阵分解等的传统机器学习模型、基于深度神经网络等的深度学习模型)。
5.现有的协同滤波模型通常通过专家来设计,而且在使用中需要不断调整设计的协同滤波模型(例如,根据任务调整初始的协同滤波模型),因此,如何自动选择有效的协同滤波模型以进行物品推荐已经成为一个非常重要的问题。


技术实现要素:

6.根据本公开的示例性实施例,提供了一种基于协同滤波模型的物品推荐方法,其中,所述物品推荐方法包括:获得训练数据集和协同滤波模型集合;建立用于预测协同滤波模型的模型性能的初始的性能预测模型;基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;基于选择的所述至少一个协同滤波模型执行物品推荐。
7.可选的,基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型的步骤包括:产生所述协同滤波模型集合中的每个协同滤波模型的独热编码向量;将产生的独热编码向量输入迭代更新后的性能预测模型,预测所述协同滤波模型集合中的每个协同滤波模型的模型性能;从所述协同滤波模型集合中选择模型性能靠前的至少一个协同滤波模型。
8.可选的,训练数据集包括训练输入数据和训练输出标签数据,其中,迭代更新建立的性能预测模型的步骤中的每一轮迭代过程包括:从所述协同滤波模型集合中随机选择k个协同滤波模型,其中,k小于或等于所述协同滤波模型集合中包含的协同滤波模型数量;产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量;通过将产生的独热编码向量输入到性能预测模型,预测所述k个协同滤波模型中的每个协同滤波模型的模型性能,其中,在第一轮迭代过程中,产生的独热编码向量被输入到初始的性能预测模型,在除了第一轮迭代过程之外的任意一轮迭代过程中,产生的独热编码向量被输入到在
所述任意一轮迭代过程的前一轮迭代过程中更新的性能预测模型;选择模型性能靠前的k1个协同滤波模型,其中,k1<k;利用训练数据集中的训练输入数据,获得选择的k1个协同滤波模型中的每个协同滤波模型的模型输出;针对选择的k1个协同滤波模型中的每个协同滤波模型,利用性能评价函数获得性能评价结果,其中,性能评价结果用于评价获得的模型输出相对于训练数据集中的对应训练输出标签数据之间的差异;利用选择的k1个协同滤波模型的性能评价结果和预测的模型性能,基于预设的损失函数,更新性能预测模型;判断是否满足迭代终止条件,是则终止迭代,否则进入下一轮迭代。
9.可选的,迭代更新建立的性能预测模型的步骤中的每一轮迭代过程还包括:将选择的k1个协同滤波模型和相应的性能评价结果存储到模型集合中;其中,更新性能预测模型的步骤包括:从模型集合中选择协同滤波模型和相应的性能评价结果;利用从模型集合中选择的性能评价结果和相应的模型性能,基于预设的损失函数,更新性能预测模型。
10.可选的,更新性能预测模型的步骤包括:利用所述预设的损失函数,计算性能预测模型所预测的模型性能与对应的性能评价结果之间的差异;基于计算出的差异,更新性能预测模型中的参数。
11.可选的,获得的协同滤波模型集合中的每个协同滤波模型包括:输入编码函数,被配置为对用户数据和物品数据进行编码,以获得用户数据向量和物品数据向量;嵌入函数,被配置为将用户数据向量和物品数据向量分别转化为用户特征向量和物品特征向量;交互函数,被配置为基于用户特征向量和物品特征向量获得用户与物品之间的匹配关系;预测函数,被配置为基于所述匹配关系来预测物品推荐结果。
12.可选的,产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量的步骤包括:获得所述k个协同滤波模型中的每个协同滤波模型的输入编码函数、嵌入函数、交互函数、以及预测函数;确定获得的输入编码函数、嵌入函数、交互函数、以及预测函数中的每个函数的候选函数集合;基于候选函数集合,获得独热编码向量,其中,获取的输入编码函数、嵌入函数、交互函数、以及预测函数中的任意一个函数的候选函数集合中所包括的多个候选函数中的一个候选函数被编码成值为1的向量元素,所述任意一个函数的候选函数集合中所包括的多个候选函数中的其余候选函数被编码成值为0的向量元素。
13.可选的,性能预测模型被表示为:p(x
o
)=mlp(concat(x
o
)),其中,x
o
∈{x1,x2,x3,x4},x1、x2、x3和x4分别对应于输入编码函数的独热编码向量、嵌入函数的独热编码向量、交互函数的独热编码向量以及预测函数的独热编码向量,concat(x
o
)表示对向量x1、向量x2、向量x3和向量x4进行合并,mlp(concat(x
o
))表示计算与合并后的向量对应的多层感知机输出。
14.可选的,所述终止条件包括以下条件中的至少一个条件:迭代轮数达到预设轮数;在经过当前迭代过程和当前迭代过程之前的各轮迭代过程之后,所述协同滤波模型集合中的每个协同滤波模型都曾经通过随机选择而被选择过。
15.根据本公开的另一示例性实施例,提供了一种基于协同滤波模型的物品推荐系统,其中,所述物品推荐系统包括:初始化模块,被配置为获得训练数据集和协同滤波模型集合;性能预测模型建立模块,被配置为建立用于预测协同滤波模型的模型性能的初始的性能预测模型;性能预测模型更新模块,被配置为基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;模型选择模块,被配置为基于迭代更新后的性能预
测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;物品推荐模块,被配置为基于选择的所述至少一个协同滤波模型执行物品推荐。
16.可选的,模型选择模块被配置为:产生所述协同滤波模型集合中的每个协同滤波模型的独热编码向量;将产生的独热编码向量输入迭代更新后的性能预测模型,预测所述协同滤波模型集合中的每个协同滤波模型的模型性能;从所述协同滤波模型集合中选择模型性能靠前的至少一个协同滤波模型。
17.可选的,训练数据集包括训练输入数据和训练输出标签数据,其中,通过性能预测模型更新模块来迭代更新建立的性能预测模型的步骤中的每一轮迭代过程包括:从所述协同滤波模型集合中随机选择k个协同滤波模型,其中,k小于或等于所述协同滤波模型集合中包含的协同滤波模型数量;产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量;通过将产生的独热编码向量输入到性能预测模型,预测所述k个协同滤波模型中的每个协同滤波模型的模型性能,其中,在第一轮迭代过程中,产生的独热编码向量被输入到初始的性能预测模型,在除了第一轮迭代过程之外的任意一轮迭代过程中,产生的独热编码向量被输入到在所述任意一轮迭代过程的前一轮迭代过程中更新的性能预测模型;选择模型性能靠前的k1个协同滤波模型,其中,k1<k;利用训练数据集中的训练输入数据,获得选择的k1个协同滤波模型中的每个协同滤波模型的模型输出;针对选择的k1个协同滤波模型中的每个协同滤波模型,利用性能评价函数获得性能评价结果,其中,性能评价结果用于评价获得的模型输出相对于训练数据集中的对应训练输出标签数据之间的差异;利用选择的k1个协同滤波模型的性能评价结果和预测的模型性能,基于预设的损失函数,更新性能预测模型;判断是否满足迭代终止条件,是则终止迭代,否则进入下一轮迭代。
18.可选的,通过性能预测模型更新模块来迭代更新建立的性能预测模型的步骤中的每一轮迭代过程还包括:将选择的k1个协同滤波模型和相应的性能评价结果存储到模型集合中;性能预测模型更新模块被配置为:从模型集合中选择协同滤波模型和相应的性能评价结果;利用从模型集合中选择的性能评价结果和相应的模型性能,基于预设的损失函数,更新性能预测模型。
19.可选的,性能预测模型更新模块被配置为:利用所述预设的损失函数,计算性能预测模型所预测的模型性能与对应的性能评价结果之间的差异;基于计算出的差异,更新性能预测模型中的参数。
20.可选的,获得的协同滤波模型集合中的每个协同滤波模型包括:输入编码函数,被配置为对用户数据和物品数据进行编码,以获得用户数据向量和物品数据向量;嵌入函数,被配置为将用户数据向量和物品数据向量分别转化为用户特征向量和物品特征向量;交互函数,被配置为基于用户特征向量和物品特征向量获得用户与物品之间的匹配关系;预测函数,被配置为基于所述匹配关系来预测物品推荐结果。
21.可选的,性能预测模型更新模块被配置为:获得所述k个协同滤波模型中的每个协同滤波模型的输入编码函数、嵌入函数、交互函数、以及预测函数;确定获得的输入编码函数、嵌入函数、交互函数、以及预测函数中的每个函数的候选函数集合;基于候选函数集合,获得独热编码向量,其中,获取的输入编码函数、嵌入函数、交互函数、以及预测函数中的任意一个函数的候选函数集合中所包括的多个候选函数中的一个候选函数被编码成值为1的向量元素,所述任意一个函数的候选函数集合中所包括的多个候选函数中的其余候选函数
被编码成值为0的向量元素。
22.可选的,性能预测模型被表示为:p(x
o
)=mlp(concat(x
o
)),其中,x
o
∈{x1,x2,x3,x4},x1、x2、x3和x4分别对应于输入编码函数的独热编码向量、嵌入函数的独热编码向量、交互函数的独热编码向量以及预测函数的独热编码向量,concat(x
o
)表示对向量x1、向量x2、向量x3和向量x4进行合并,mlp(concat(x
o
))表示计算与合并后的向量对应的多层感知机输出。
23.可选的,所述终止停止条件包括以下条件中的至少一个条件:迭代轮数达到预设轮数;在经过当前迭代过程和当前迭代过程之前的各轮迭代过程之后,所述协同滤波模型集合中的每个协同滤波模型都曾经通过随机选择而被选择过。
24.根据本公开的另一示例性实施例,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的物品推荐方法。
25.根据本公开的另一示例性实施例,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的物品推荐方法。
26.有益效果
27.本公开的基于协同滤波模型的物品推荐方法和系统可用于实现自动化机器学习任务,建立性能预测模型,并且通过迭代更新来优化建立的性能预测模型,从而用基于优化的性能预测模型来执行物品推荐。与通过专家来设计性能预测模型相比,本公开的物品推荐方法和系统可提高物品推荐任务的执行效率并获得更优的物品推荐结果。可构建用于协同滤波的搜索空间,以存储协同滤波模型集合,并且在构建的搜索空间中利用性能预测模型来执行协同滤波模型的选择,当搜索空间中的同滤波模型集合的种类越全面时,选择出最佳的协同滤波模型的性能可能会越大。
附图说明
28.从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
29.图1是示出根据本公开的示例性实施例的基于协同滤波模型的物品推荐方法的流程图;
30.图2是示出根据本发明的示例性实施例的协同滤波模型的框图;
31.图3是示出根据本公开的示例性实施例的迭代更新建立的性能预测模型的步骤的流程图;
32.图4是示出根据本公开的示例性实施例的基于协同滤波模型的物品推荐系统的框图。
具体实施方式
33.为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
34.在下面开始对本发明构思的描述之前,为便于理解,需要在此说明与本公开的示
例性实施例中涉及的协同滤波任务对应的数学问题,所述数学问题的表达式如下:
35.f
*
=arg min
f∈f
m(f(p
*
),s
val
)
36.s.tp
*
=arg min m(f(p),s
train
)
37.其中,f
*
表示在验证数据集s
val
下当m取得最小值时的协同滤波模型,m表示性能评价函数,f表示搜索空间并且可包括协同滤波模型集合,p
*
表示在训练数据集s
train
下当m取得最小值时的协同滤波模型f的参数。
38.本公开的示例性实施例适用于物品推荐场景,训练数据集和验证数据集可以是在物品推荐场景下采集到的数据。训练数据集包括训练输入数据和训练输出标签数据,验证数据集包括验证输入数据和验证输出标签数据。训练输入数据和验证输入数据可统称为输入数据,训练输出标签数据和验证输出标签数据可统称为输出数据。
39.输入数据可记载用户数据、产品数据,输入数据还可记载用户与物品之间的交互数据,例如,用户对于物品的评分(诸如,电影评分)、用户对于物品的浏览记录、用户对于物品的点击记录等。输入数据还可记载用户的信息(例如,年龄、居住地、工作类型等)以及物品的属性信息(例如,电影的类别、物品的价格、物品简介)。输出数据可以是标签,例如,表示用户是否购买特定物品的标签。
40.本公开的示例性实施例中涉及的协同滤波任务包括从搜索空间中选择协同滤波模型并且基于选择的协同滤波模型执行物品推荐,以便为特定用户推荐特定物品。这样的协同滤波任务可通过图1中所示的方法来实现。
41.图1是示出根据本公开的示例性实施例的基于协同滤波模型的物品推荐方法的流程图。
42.如图1中所示根据本公开的示例性实施例的基于协同滤波模型的物品推荐方法可包括步骤s110至步骤s150。
43.在步骤s110,获得训练数据集和协同滤波模型集合;在步骤s120,建立用于预测协同滤波模型的模型性能的初始的性能预测模型;在步骤s130,基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;在步骤s140,基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;在步骤s150,基于选择的所述至少一个协同滤波模型执行物品推荐。
44.在步骤s110中获得的训练数据集可记载用户与物品之间的交互信息以及用户对于物品的标签,该标签可表示是否向用户推荐特定物品,从另一角度,也可表示用户是否购买特定物品。在步骤s110中获得的协同滤波模型集合中的每个协同滤波模型包括:输入编码函数,被配置为对用户数据和物品数据进行编码,以获得用户数据向量和物品数据向量;嵌入函数,被配置为将用户数据向量和物品数据向量分别转化为用户特征向量和物品特征向量;交互函数,被配置为基于用户特征向量和物品特征向量获得用户与物品之间的匹配关系;预测函数,被配置为基于所述匹配关系来预测物品推荐结果。
45.根据本公开的示例性实施例的协同滤波模型可基于以下的图2来进行理解。在接下来的描述中涉及各种表达形式,在本公开的上下文中,相同表达形式具有相同的定义。
46.图2是示出根据本发明的示例性实施例的协同滤波模型的框图。
47.如图2中所示,可通过索引或者通过历史数据来获得用户数据,可通过索引或者通过历史数据来获得物品数据。
48.通过输入编码函数,可将用户数据和物品数据分别转换为用户数据向量c
i
和物品数据向量c
j
,其中,c
i
=id(i)或r
i
,c
j
=id(j)或r
j
,id(x)表示获取索引为x的向量,r
i
表示获取第i个向量,r
j
表示获取第j个向量,第i个向量和第j个向量可从表示用户和商品信息的矩阵获得,例如,以上描述的历史数据可被表示为矩阵的形式,从而可通该矩阵获得用户数据向量c
i
和物品数据向量c
j

49.随后,可通过嵌入函数e
user
和e
item
将用户数据向量c
i
和物品数据向量c
j
分别转化为用户特征向量e
i
和物品特征向量e
j
,其中,e
i
=e
user
(c
i
),e
j
=e
item
(c
j
)。
50.接下来,通过交互函数g,可获得用户与物品之间的匹配关系s
ij
,其中,s
ij
=g(e
i
,e
j
)。
51.最后,通过预测函数h,预测物品推荐结果其中,
52.在本公开的示例性实施例中,协同滤波模型集合可以包括各种函数的组合,而不限于以上描述的函数。也就是说,以上函数并非用于限制本公开的保护范围,其他函数也是可行的。以上描述的函数形成的协同滤波模型集合也是多种多样的,例如,当输入编码函数的数量是n1,嵌入函数的数量是n2,交互函数的数量是n3,预测函数的数量是n4时,可存在n1
×
n2
×
n3
×
n4个候选的协同滤波模型,这里的数量可理解为相应函数(例如,输入编码函数、嵌入函数、交互函数或预测函数)的候选函数的数量,这些候选函数可被设置在搜索空间中,以便在随后的操作中选择出形成协同滤波模型的候选函数。
53.返回参照图1,性能预测模型可在步骤s120中被建立,以用于预测模型性能。例如,性能预测模型可被表示为:p(x
o
)=mlp(concat(x
o
)),其中,x
o
∈{x1,x2,x3,x4},x1、x2、x3和x4分别对应于输入编码函数的独热编码向量、嵌入函数的独热编码向量、交互函数的独热编码向量以及预测函数的独热编码向量,concat(x
o
)表示对向量x1、向量x2、向量x3和向量x4进行合并,mlp(concat(x
o
))表示计算与合并后的向量对应的多层感知机输出。p(x
o
)以独热编码向量作为输入,以模型性能作为输出。这仅仅是示例性的,并不用于限制本公开的保护范围,其他可用于预测模型性能的模型也是可行的,而不限于这里的以独热编码向量作为输入的模型。
54.图1的步骤s130中的迭代更新步骤可通过图3来进行理解。图3是示出根据本公开的示例性实施例的迭代更新建立的性能预测模型的步骤的流程图。
55.如图3中所示,迭代更新建立的性能预测模型的步骤中的每一轮迭代过程包括:步骤s210,从所述协同滤波模型集合中随机选择k个协同滤波模型,其中,k小于或等于所述协同滤波模型集合中包含的协同滤波模型数量;步骤s220,产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量;步骤s230,通过将产生的独热编码向量输入到性能预测模型,预测所述k个协同滤波模型中的每个协同滤波模型的模型性能,其中,在第一轮迭代过程中,产生的独热编码向量被输入到初始的性能预测模型,在除了第一轮迭代过程之外的任意一轮迭代过程中,产生的独热编码向量被输入到在所述任意一轮迭代过程的前一轮迭代过程中更新的性能预测模型;步骤s240,选择模型性能靠前的k1个协同滤波模型,其中,k1<k;步骤s250,利用训练数据集中的训练输入数据,获得选择的k1个协同滤波模型中的每个协同滤波模型的模型输出;步骤s260,针对选择的k1个协同滤波模型中的每个协同滤波模型,利用性能评价函数获得性能评价结果,其中,性能评价结果用于评价获得的
模型输出相对于训练数据集中的对应训练输出标签数据之间的差异;步骤s270,利用选择的k1个协同滤波模型的性能评价结果和预测的模型性能,基于预设的损失函数,更新性能预测模型;步骤s280,判断是否满足迭代终止条件,是则终止迭代,否则进入下一轮迭代。
56.这里的步骤s270可包括利用所述预设的损失函数,计算性能预测模型所预测的模型性能与对应的性能评价结果之间的差异;基于计算出的差异,更新性能预测模型中的参数。损失函数可以是成对(pairwise)损失函数。
57.根据本公开示例性实施例的用于迭代的终止条件包括可以是迭代轮数达到预设轮数。优选的,终止条件是:在经过当前迭代过程和当前迭代过程之前的各轮迭代过程之后,所述协同滤波模型集合中的每个协同滤波模型都曾经通过随机选择而被选择过。
58.此外,为了便于查找获得的性能评价结果,迭代更新建立的性能预测模型的步骤中的每一轮迭代过程还包括:将选择的k1个协同滤波模型和相应的性能评价结果存储到模型集合中。在这种情况下,更新性能预测模型的步骤包括:从模型集合中选择协同滤波模型和相应的性能评价结果;利用从模型集合中选择的性能评价结果和相应的模型性能,基于预设的损失函数,更新性能预测模型。
59.通过迭代更新,可获得较优的性能预测模型,利用这种较优的性能预测模型可从搜索空间中选择出需要的协同滤波模型。相应的,从所述协同滤波模型集合中选择至少一个协同滤波模型的步骤包括:产生所述协同滤波模型集合中的每个协同滤波模型的独热编码向量;将产生的独热编码向量输入迭代更新后的性能预测模型,预测所述协同滤波模型集合中的每个协同滤波模型的模型性能;从所述协同滤波模型集合中选择模型性能靠前的至少一个协同滤波模型。
60.为了便于理解以上结合图1至图3描述的方法,可结合表1中描述的伪代码来说明本公开的发明构思。
61.表1
62.[0063][0064]
表1示出了根据本公开的示例性实施例的迭代更新性能预测模型的伪代码。表1可理解为是一种分级随机搜索算法。性能预测模型p可被理解为一种可学习预测器,p的参数包括多层感知机权重。在训练性能预测模型p的过程中,可使用成对损失函数l
p
=∑bprloss(y

,y-),其中,y 和y-分别表示模型性能提升的概率和模型性能下降的概率。
[0065]
在以上的算法中,并非针对整个搜索空间f进行迭代更新,而是针对子集进行迭代更新,这样可减少时间消耗、提高计算效率,从而提高物品推荐方法的整体执行效率。
[0066]
本公开的示例性实施例中使用了独热编码向量,产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量的步骤可包括:获得所述k个协同滤波模型中的每个协同滤波模型的输入编码函数、嵌入函数、交互函数、以及预测函数;确定获得的输入编码函数、嵌入函数、交互函数、以及预测函数中的每个函数的候选函数集合;基于候选函数集合,获得独热编码向量,其中,获取的输入编码函数、嵌入函数、交互函数、以及预测函数中的任意一个函数的候选函数集合中所包括的多个候选函数中的一个候选函数被编码成值为1的向量元素,所述任意一个函数的候选函数集合中所包括的多个候选函数中的其余候选函数被编码成值为0的向量元素。
[0067]
例如,当输入编码函数的数量是n1,嵌入函数的数量是n2,交互函数的数量是n3,预测函数的数量是n4时,可产生包括四个向量的集合,这四个向量分别是n1维向量、n2维向量、n3维向量、n4维向量。n1维向量中的一个元素是1,其他元素是0。n2维向量、n3维向量、n4维向量与n1维向量类似,也分别是一个元素是1、其他元素是0的向量。
[0068]
以上实施例基于物品推荐方法来阐述本公开的构思。本公开的构思还可借助于物品推荐系统来实现。
[0069]
图4是示出根据本公开的示例性实施例的基于协同滤波模型的物品推荐系统的框图。
[0070]
初始化模块310,被配置为获得训练数据集和协同滤波模型集合;性能预测模型建立模块320,被配置为建立用于预测协同滤波模型的模型性能的初始的性能预测模型;性能预测模型更新模块330,被配置为基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;模型选择模块340,被配置为基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;物品推荐模块350,被配置为基于选择的所述至少一个协同滤波模型执行物品推荐。
[0071]
可选的,模型选择模块340被配置为:产生所述协同滤波模型集合中的每个协同滤波模型的独热编码向量;将产生的独热编码向量输入迭代更新后的性能预测模型,预测所述协同滤波模型集合中的每个协同滤波模型的模型性能;从所述协同滤波模型集合中选择模型性能靠前的至少一个协同滤波模型。
[0072]
可选的,训练数据集包括训练输入数据和训练输出标签数据,其中,通过性能预测模型更新模块320来迭代更新建立的性能预测模型的步骤中的每一轮迭代过程包括:从所
述协同滤波模型集合中随机选择k个协同滤波模型,其中,k小于或等于所述协同滤波模型集合中包含的协同滤波模型数量;产生与所述k个协同滤波模型中的每个协同滤波模型对应的独热编码向量;通过将产生的独热编码向量输入到性能预测模型,预测所述k个协同滤波模型中的每个协同滤波模型的模型性能,其中,在第一轮迭代过程中,产生的独热编码向量被输入到初始的性能预测模型,在除了第一轮迭代过程之外的任意一轮迭代过程中,产生的独热编码向量被输入到在所述任意一轮迭代过程的前一轮迭代过程中更新的性能预测模型;选择模型性能靠前的k1个协同滤波模型,其中,k1<k;利用训练数据集中的训练输入数据,获得选择的k1个协同滤波模型中的每个协同滤波模型的模型输出;针对选择的k1个协同滤波模型中的每个协同滤波模型,利用性能评价函数获得性能评价结果,其中,性能评价结果用于评价获得的模型输出相对于训练数据集中的对应训练输出标签数据之间的差异;利用选择的k1个协同滤波模型的性能评价结果和预测的模型性能,基于预设的损失函数,更新性能预测模型;判断是否满足迭代终止条件,是则终止迭代,否则进入下一轮迭代。
[0073]
可选的,通过性能预测模型更新模块320来迭代更新建立的性能预测模型的步骤中的每一轮迭代过程还包括:将选择的k1个协同滤波模型和相应的性能评价结果存储到模型集合中;性能预测模型更新模块320被配置为:从模型集合中选择协同滤波模型和相应的性能评价结果;利用从模型集合中选择的性能评价结果和相应的模型性能,基于预设的损失函数,更新性能预测模型。
[0074]
可选的,性能预测模型更新模块320被配置为:利用所述预设的损失函数,计算性能预测模型所预测的模型性能与对应的性能评价结果之间的差异;基于计算出的差异,更新性能预测模型中的参数。
[0075]
可选的,获得的协同滤波模型集合中的每个协同滤波模型包括:输入编码函数,被配置为对用户数据和物品数据进行编码,以获得用户数据向量和物品数据向量;嵌入函数,被配置为将用户数据向量和物品数据向量分别转化为用户特征向量和物品特征向量;交互函数,被配置为基于用户特征向量和物品特征向量获得用户与物品之间的匹配关系;预测函数,被配置为基于所述匹配关系来预测物品推荐结果。
[0076]
可选的,性能预测模型更新模块320被配置为:获得所述k个协同滤波模型中的每个协同滤波模型的输入编码函数、嵌入函数、交互函数、以及预测函数;确定获得的输入编码函数、嵌入函数、交互函数、以及预测函数中的每个函数的候选函数集合;基于候选函数集合,获得独热编码向量,其中,获取的输入编码函数、嵌入函数、交互函数、以及预测函数中的任意一个函数的候选函数集合中所包括的多个候选函数中的一个候选函数被编码成值为1的向量元素,所述任意一个函数的候选函数集合中所包括的多个候选函数中的其余候选函数被编码成值为0的向量元素。
[0077]
可选的,性能预测模型被表示为:p(x
o
)=mlp(concat(x
o
)),其中,x
o
∈{x1,x2,x3,x4},x1、x2、x3和x4分别对应于输入编码函数的独热编码向量、嵌入函数的独热编码向量、交互函数的独热编码向量以及预测函数的独热编码向量,concat(x
o
)表示对向量x1、向量x2、向量x3和向量x4进行合并,mlp(concat(x
o
))表示计算与合并后的向量对应的多层感知机输出。
[0078]
可选的,所述终止停止条件包括以下条件中的至少一个条件:迭代轮数达到预设轮数;在经过当前迭代过程和当前迭代过程之前的各轮迭代过程之后,所述协同滤波模型
集合中的每个协同滤波模型都曾经通过随机选择而被选择过。
[0079]
以上已结合图1至图3详细描述了根据本公开的示例性实施例的基于协同滤波模型的物品推荐方法的具体实现过程,因此为了简明,在针对基于协同滤波模型的物品推荐系统的描述中,将不再重复描述相同内容。
[0080]
以上参照图1至图4描述了根据本公开的示例性实施例的基于协同滤波模型的物品推荐方法和系统。然而,应理解的是:附图中示出的系统和/或系统的组成部分可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统和/或系统的组成部分可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些系统和/或系统的组成部分所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
[0081]
此外,上述方法可通过记录在计算机可读存储介质上的指令来实现,例如,根据本技术的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行以下步骤:获得训练数据集和协同滤波模型集合;建立用于预测协同滤波模型的模型性能的初始的性能预测模型;基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;基于选择的所述至少一个协同滤波模型执行物品推荐。
[0082]
上述计算机可读存储介质中存储的指令可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述指令还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1至图3进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
[0083]
应注意,根据本公开示例性实施例的基于协同滤波模型的物品推荐方法和/或系统可完全依赖计算机程序或指令的运行来实现相应的功能,即,各个装置在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
[0084]
另一方面,当系统以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得至少一个处理器或至少一个计算装置可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
[0085]
例如,根据本技术示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行下述步骤:获得训练数据集和协同滤波模型集合;建立用于预测协同滤波模型的模型性能的初始的性能预测模型;基于所述训练数据集和所述协同滤波模型集合,迭代更新建立的性能预测模型;基于迭代更新后的性能预测模型,从所述协同滤波模型集合中选择至少一个协同滤波模型;基于选择的所述至少一个协同滤波模型执行物品推荐。
[0086]
具体说来,上述系统可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点上。此外,所述系统可以是pc计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。此外,所述系统还可包括视频显示器(诸如,液晶
显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。另外,所述系统的所有组件可经由总线和/或网络而彼此连接。
[0087]
这里,所述系统并非必须是单个系统,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。所述系统还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
[0088]
在所述系统中,所述至少一个计算装置可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,所述至少一个计算装置还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。计算装置可运行存储在存储装置之一中的指令或代码,其中,所述存储装置还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
[0089]
存储装置可与计算装置集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储装置可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储装置和计算装置可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得计算装置能够读取存储在存储装置中的指令。
[0090]
以上描述了本技术的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本技术不限于所披露的各示例性实施例。在不偏离本技术的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本技术的保护范围应该以权利要求的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献