实现用户相关推荐的系统和方法与流程

文档序号:21442809发布日期:2020-07-10 17:31阅读:288来源:国知局
实现用户相关推荐的系统和方法与流程

本申请涉及用户相关推荐技术,更具体地讲,涉及一种使用矩阵补全来实现用户相关推荐的系统和方法。



背景技术:

推荐系统被广泛应用于各种场景。例如,推荐系统可以利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。可进行推荐的对象包括商品、广告、新闻、音乐等等。

可通过在用户和对象之间建立评价矩阵来实现用户相关推荐。对于评价矩阵,其行对应于用户,列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价。然而,由于用户通常只与少量的对象进行交互,因此评价矩阵中会有大量的缺失矩阵元素。

矩阵补全旨在补全评价矩阵中的缺失矩阵元素(即,未知的矩阵元素)。在给定用户和对象的评价矩阵的情况下,矩阵补全可获得一个与评价矩阵近似的近似矩阵(或称为预测矩阵)并使用该近似矩阵中的矩阵元素来填补(或预测)评价矩阵中的相应缺失矩阵元素,由此使得能够基于补全了缺失矩阵元素的评价矩阵,估计用户对尚未探索的对象的偏好从而进行用户相关推荐。

低秩矩阵补全是一种常见矩阵补全技术。低秩矩阵补全可通过低秩假设来恢复数据不完整的矩阵,在许多应用中得到广泛应用。现有的低秩矩阵补全方法主要分为正则化方法和矩阵分解方法。非凸(nonconvex)正则化方法通常可获得较好得的矩阵补全效果,但是训练时间长,而矩阵分解方法虽然训练速度快,但是矩阵补全效果较差。因此,需要一种又快又好的低秩矩阵补全方法。

另一方面,在现有的矩阵补全方法中,通常不重视超参数搜索,这在很大程度上影响了模型的性能。对于小规模矩阵,通常可通过网格搜索、随机搜索等来训练多个不同的超参数的模型,然后根据这些模型在验证数据集上的效果选择最佳的超参数。然而,对于近年来频繁出现的大规模矩阵补全问题,其任务的数据量大,因此相应的超参数的设置要么需要代价高昂的搜索,要么严重依赖于专业知识。因此,高效的超参数搜索也成为一个挑战。



技术实现要素:

根据本公开的示例性实施例,提供了一种实现用户相关推荐的方法,所述方法包括:在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对所述目标函数的超参数集合;基于使用所述超参数集合的目标函数,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵;使用由第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素;以及基于补全了缺失矩阵元素的评价矩阵来执行用户相关推荐,其中,所述目标函数用于评估评价矩阵和预测矩阵之间的差异,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价,其中,所述预测矩阵用于推导评价矩阵中的缺失矩阵元素。

可选地,所述目标函数可由以下表达式(1)表示:

其中,f(u,v)是目标函数,u是第一子矩阵并且v是第二子矩阵,并且uvt为用于推导评价矩阵中的缺失矩阵元素的预测矩阵,并且其秩为k,g(u,v;θ,k)是用于使所述预测矩阵保持低秩的非凸低秩正则项,并且o是评价矩阵且评价矩阵o中的矩阵元素oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,1≤i≤m,1≤j≤n,并且i、j、m和n均为正整数,β={λ,θ,k}是针对目标函数f(u,v)预先确定的超参数集合并且λ≥0,θ∈(0,1]≥0且k<<min{m,n},ω是指示评价矩阵o中的能够观察到的矩阵元素的位置的矩阵且ω∈{0,1}m×n,并且如果oij是能够观察到的矩阵元素,则对应的ωij=1,如果oij不是能够观察到的矩阵元素,则对应的ωij=0,其中,当ωij=1时,[pω(a)]ij=aij,并且当ωij≠1时,[pω(a)]ij=0,其中,aij为不为0的值。

可选地,所述超参数集合β={λ,θ,k}可以是基于以下表达式(2)在由超参数λ、θ和k的候选取值构成的超参数搜索空间中搜索出的:

s.t.

其中,

,并且

其中,ω1是训练集并且由矩阵ω的一部分构成,ω2是验证集并且由矩阵ω的另一部分构成,βp={λp,θp,kp}是所述超参数搜索空间中的第p个集合,λp,θp,kp分别是λ、θ和k的候选取值之一,1≤p≤d且p和d为整数,d是超参数搜索空间中的超参数集合的总数量,选择超参数a=[αp]用于在超参数搜索空间选择一组超参数集合,c={a|||a||0=1,0≤αp≤1},超参数集合βp={λp,θp,kp}与αp对应并且αp=1时超参数集合βp={λp,θp,kp}被选择,其中,是基于选择超参数a,使用训练集ω1对训练损失函数l({(up,vp)},a)进行训练所获得的第一子矩阵和第二子矩阵的优化矩阵对,是用于基于所述优化矩阵对和验证集ω2来测量选择超参数a的性能的验证损失函数,a*是在验证集上具有最佳性能的选择超参数,其中,β={λ,θ,k}是超参数搜索空间中与a*对应的优化超参数集合。

可选地,可通过以下操作来确定超参数集合β={λ,θ,k}:获得选择超参数a的离散结构表示通过执行至少一次迭代更新操作来更新将执行了所述至少一次迭代更新操作之后获得的超参数确定为满足表达式(2)的选择超参数a*,并将与选择超参数a*对应的超参数集合确定为β={λ,θ,k}。每次迭代更新操作可包括以下操作:确定其中,w=(up,vp)并且(up,vp)是与选择超参数a对应的第一子矩阵和第二子矩阵的矩阵对;对选择超参数a进行更新,使得使用更新的选择超参数a对超参数进行更新,使得并且基于更新后的超参数使用基于梯度的优化按照梯度对w进行更新,其中,c1={a|||a||0=1},c2={a|0≤αp≤1},ε>0是预设步长,c=c1∩c2,表示关于参数w对函数l(w,a)求一阶导数的结果。

可选地,第一优化子矩阵和第二优化子矩阵可以是满足以下表达式(3)的子矩阵:

(u*,v*)=argminu,vf(u,v),…(3),

其中,u*是第一优化子矩阵,v*是第二优化子矩阵。

可选地,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵的步骤可包括:随机选择初始第一子矩阵u1和初始第二子矩阵v1,并确定预定步长η;基于初始第一子矩阵u1和初始第二子矩阵v1,通过执行至少一次迭代梯度下降操作来确定第一优化子矩阵u*和第二优化子矩阵v*,其中,在每次迭代梯度下降操作中,可使得:

并且

其中,

并且

其中,η是预定步长,1≤t≤t且t为整数,t表示所述至少一次迭代梯度下降操作的总次数,ut(vt)t≠0,并且执行了t次梯度下降操作之后所返回的ut+1和vt+1分别被确定为第一优化子矩阵u*和第二优化子矩阵v*

根据本公开的另一示例性实施例,提供了一种实现用户相关推荐的系统,所述系统包括:超参数搜索装置,被配置为在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对所述目标函数的超参数集合;子矩阵确定装置,被配置为基于使用所述超参数集合的目标函数,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵;评价矩阵处理装置,被配置为使用由第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素;以及推荐装置,被配置为基于补全了缺失矩阵元素的评价矩阵来执行用户相关推荐,其中,所述目标函数用于评估评价矩阵和预测矩阵之间的差异,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价,所述预测矩阵用于推导评价矩阵中的缺失矩阵元素。

可选地,所述目标函数可由以下表达式(1)表示:

其中,f(u,v)是目标函数,u是第一子矩阵并且v是第二子矩阵,并且uvt为用于推导评价矩阵中的缺失矩阵元素的预测矩阵,并且其秩为k,g(u,v;θ,k)是用于使所述预测矩阵保持低秩的非凸低秩正则项,并且o是评价矩阵且评价矩阵o中的矩阵元素oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,1≤i≤m,1≤j≤n,并且i、j、m和n均为正整数,β={λ,θ,k}是针对目标函数f(u,v)预先确定的超参数集合并且λ≥0,θ∈(0,1]≥0且k<<min{m,n},ω是指示评价矩阵o中的能够观察到的矩阵元素的位置的矩阵且ω∈{0,1}m×n,并且如果oij是能够观察到的矩阵元素,则对应的ωij=1,如果oij不是能够观察到的矩阵元素,则对应的ωij=0,其中,当ωij=1时,[pω(a)]ij=aij,并且当ωij≠1时,[pω(a)]ij=0,其中,aij为不为0的值。

可选地,超参数搜索装置可被配置为基于以下表达式(2),在由超参数λ、θ和k的候选取值构成的超参数搜索空间中搜索所述超参数集合β={λ,θ,k}:

s.t.

其中,

,并且

其中,ω1是训练集并且由矩阵ω的一部分构成,ω2是验证集并且由矩阵ω另一部分构成,βp={λp,θp,kp}是所述超参数搜索空间中的第p个集合,λp,θp,kp分别是λ、θ和k的候选取值之一,1≤p≤d且p和d为整数,d是超参数搜索空间中的超参数集合的总数量,选择超参数a=[αp]用于在超参数搜索空间选择一组超参数集合,c={a|||a||0=1,0≤αp≤1},超参数集合βp={λp,θp,kp}与αp对应并且αp=1时超参数集合βp={λp,θp,kp}被选择,是基于选择超参数a,使用训练集ω1对训练损失函数l({(up,vp)},a)进行训练所获得的第一子矩阵和第二子矩阵的优化矩阵对,是用于基于所述优化矩阵对和验证集ω2来测量选择超参数a的性能的验证损失函数,a*是在验证集上具有最佳性能的选择超参数,其中,β={λ,θ,k}是超参数搜索空间中与a*对应的优化超参数集合。

可选地,超参数搜索装置可被配置为通过以下操作来确定超参数集合β={λ,θ,k}:获得选择超参数a的离散结构表示通过执行至少一次迭代更新操作来更新将执行了所述至少一次迭代更新操作之后获得的超参数确定为满足表达式(2)的选择超参数a*,并将与选择超参数a*对应的超参数集合确定为β={λ,θ,k}。每次迭代更新操作可包括以下操作:确定其中,w=(up,vp)并且(up,vp)是与选择超参数a对应的第一子矩阵和第二子矩阵的矩阵对;对选择超参数a进行更新,使得使用更新的选择超参数a对超参数进行更新,使得并且基于更新后的超参数使用基于梯度的优化按照梯度对w进行更新,其中,c1={a|||a||0=1},c2={a|0≤αp≤1},ε>0是预设步长,c=c1∩c2,表示关于参数w对函数l(w,a)求一阶导数的结果。

可选地,第一优化子矩阵和第二优化子矩阵可以是满足以下表达式(3)的子矩阵:

(u*,v*)=argminu,vf(u,v),…(3),

其中,u*是第一优化子矩阵,v*是第二优化子矩阵。

可选地,子矩阵确定装置可被配置为:随机选择初始第一子矩阵u1和初始第二子矩阵v1,并确定预定步长η;基于初始第一子矩阵u1和初始第二子矩阵v1,通过执行至少一次迭代梯度下降操作来确定第一优化子矩阵u*和第二优化子矩阵v*,其中,在每次迭代梯度下降操作中,可使得:

并且

其中,

并且

其中,η是预定步长,1≤t≤t且t为整数,t表示所述至少一次迭代梯度下降操作的总次数,ut(vt)t≠0,并且执行了t次梯度下降操作之后所返回的ut+1和vt+1分别被确定为第一优化子矩阵u*和第二优化子矩阵v*

根据本公开的另一示例性实施例,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行前所述的实现用户相关推荐的方法。

根据本公开的另一示例性实施例,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行前所述的实现用户相关推荐的方法。

有益效果

通过应用根据本发明的示例性实施例的实现用户相关推荐的方法和系统,能够通过自动化机器学习来实现低秩矩阵补全,既可以取得非凸正则化方法的矩阵补全效果,其学习速度又与矩阵分解方法相当,在补全效果和学习速度方便实现兼顾,并还能够自动地快速找出合适的超参数,由此即使在数据量大的时候也能够又快又好地对用于用户相关推荐的评价矩阵进行补全以便实现准确高效的用户相关推荐。

附图说明

从结合附图的以下描述,本公开的特定实施例的上述以及其他方面、特征和优点将更加明显,其中:

图1是示出根据本公开的示例性实施例的用于实现用户相关推荐的系统的框图;

图2是示出根据本公开的示例性实施例的用于实现用户相关推荐的方法的流程图。

在整个附图中,应注意,相同的参考标号用于表示相同或相似的元件、特征和结构。

具体实施方式

在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知功能或结构,这是因为它们会不必要地模糊对本发明的理解。附图中的相同的组成元件由相同的参考标号来表示,并且对相同元件的重复描述将被省略。

可对本发明做出各种修改,并且存在本发明的各种实施例。现在将参照附图提供所述各种实施例的示例并且将详细描述所述各种实施例的示例。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同形式或替换形式也是如此。在本发明的以下详细描述中,对通过图示的方式示出可实施本发明的具体实施例的附图进行参照。这些实施例被足够详细地描述以使本领域技术人员能够实施本公开。

在下面开始对本发明构思的描述之前,为便于理解,将首先对本申请中可能使用的一些参数表达形式进行解释:

向量由小写粗体表示,矩阵由大写粗体表示,矩阵xt表示矩阵x的转置。

对于向量diag(x)表示m×m的对角矩阵并且其第i个对角元素为[xi]。i表示单位矩阵。

对于正方矩阵x,tr(x)表示正方矩阵x的迹。

对于矩阵(假设m≤n且为正整数),表示x的frobenius范数。

矩阵的奇异值分解为udiag(σ(x))vt,其中,i和k是正整数,σi(x)是矩阵x的第i个奇异值并且σ1(x)≥σ2(x)≥...≥σk(x)≥0。

||x||*=∑iσi(x)是核范数。

在本公开的上下文中,具有相同表达形式的参数具有相同或相似的定义。

图1是示出根据本公开的示例性实施例的用于实现用户相关推荐的系统100的框图。

参照图1,用于实现用户相关推荐的系统100可包括超参数搜索装置110、子矩阵确定装置120、评价矩阵处理装置130以及推荐装置140。

在本发明的示例性实施例中,超参数搜索装置110可在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对目标函数的超参数集合。

这里,所述目标函数可用于评估评价矩阵和预测矩阵之间的差异。评价矩阵的行可对应于用户,评价矩阵的列可对应于对象,并且评价矩阵中的矩阵元素可表示该矩阵元素的对应行的用户对对应列的对象的评价。所述预测矩阵可用于推导评价矩阵中的缺失矩阵元素。评价矩阵和预测矩阵之间的差异越小,则基于预测矩阵推导出的评价矩阵中的缺失矩阵元素越会接近实际情况(即,越准确)。

根据本发明的示例性实施例的目标函数可由以下表达式(1)表示:

在表达式(1)中,f(u,v)是目标函数,u是第一子矩阵并且v是第二子矩阵,uvt即为所述用于推导评价矩阵中的缺失矩阵元素的预测矩阵,并且其秩为k。g(u,v;θ,k)是用于使所述预测矩阵保持低秩的非凸低秩正则项,并且o是待补全的评价矩阵且评价矩阵o中的矩阵元素oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,1≤i≤m,1≤j≤n,并且i、j、m和n均为正整数。β={λ,θ,k}是针对目标函数f(u,v)的超参数集合并且λ≥0,θ∈(0,1]且k<<min{m,n}。ω是指示评价矩阵o中的能够观察到的矩阵元素的位置的矩阵且ω∈{0,1}m×n,并且如果oij是能够观察到的矩阵元素(即,存在用户i对对象j的评价),则对应的ωij=1,如果oij不是能够观察到的矩阵元素(即,不存在用户i对对象j的评价),则对应的ωij=0。这里,当ωij=1时,[pω(a)]ij=aij,并且当ωij≠1时,[pω(a)]ij=0,其中,矩阵a表示uvt-o,aij指示矩阵a的矩阵元素值且为不为0的值。

在本发明的示例性实施例中,所述超参数集合β={λ,θ,k}中的各个超参数λ、θ和k既可以是针对目标函数f(u,v)由用户根据经验或实验预先确定的,也可以是由超参数搜索装置110通过超参数搜索方法在由针对目标函数f(u,v)的超参数λ、θ和k的候选取值构成的超参数搜索空间中搜索出的。以下将详细解释在超参数搜索空间中搜索超参数集合β={λ,θ,k}的操作。

在本发明的示例性实施例中,超参数搜索装置110可基于以下表达式(2)在由超参数λ、θ和k的候选取值构成的超参数搜索空间中搜索超参数集合β={λ,θ,k}:

s.t.

其中,

,并且

其中,ω1是训练集并且由矩阵ω的一部分构成,ω2是验证集并且由矩阵ω的另一部分构成。也就是说,前述矩阵ω中的一部分可以用作训练集,另一部分可用作验证集,验证集和训练集两者的集合既可包括矩阵ω中的所有矩阵元素,也可仅包括矩阵ω中的一些矩阵元素。

βp={λp,θp,kp}是所述超参数搜索空间中的第p个集合,λp,θp,kp分别是λ、θ和k的候选取值之一,1≤p≤d且p和d为整数,d是超参数搜索空间中的超参数集合的总数量。具体来说,例如,假设在所述超参数搜索空间中,λ、θ和k的候选取值的数量分别为d1、d2和d3,则λp可以是从λ的d1个候选取值之中选择的一个,θp可以是从θ的d2个候选取值之中选择的一个,并且kp可以是从k的d1个候选取值之中选择的一个。在这种情况下,超参数搜索空间中存在d=d1×d2×d3个不同的超参数集合。

选择超参数a=[αp]用于在超参数搜索空间选择一组超参数集合,c={a|||a||0=1,0≤αp≤1},超参数集合βp={λp,θp,kp}与αp对应并且αp=1时超参数集合βp={λp,θp,kp}被选择用于目标函数。

是基于选择超参数a,使用训练集ω1对训练损失函数l({(up,vp)},a)进行训练所获得的第一子矩阵和第二子矩阵的优化矩阵对,是用于基于所述优化矩阵对和验证集ω2来测量选择超参数a的性能的验证损失函数,a*是在验证集上具有最佳性能的选择超参数。在本发明的示例性实施例中,β={λ,θ,k}是超参数搜索空间中与a*对应的优化超参数集合。

优选地,根据本公开的示例性实施例,超参数搜索装置110可使用各种搜索算法(例如,各种神经网络搜索算法、神经结构搜索(nas)算法、近似迭代的神经结构搜索(nasp)算法、贝叶斯裁剪(bayesnas)算法、自然梯度搜索(asng)算法)来在超参数搜索空间中搜索超参数集合。

以下示出使用nasp算法来搜索超参数集合的示例(在下文中简称为算法1):

如上所示,在算法1中,超参数搜索装置110可首先获得选择超参数a的离散结构表示(步骤1)。这里,可使用均匀随机来在选择超参数a的多个可能候选之中选择一个作为初始的选择超参数a,或者可使用完全均匀来确定选择超参数a(例如,假设选择超参数a里面有k个元素,则每个元素的数值为1/k)。

然后,超参数搜索装置110可通过执行至少一次迭代更新操作来更新超参数(步骤2至7),将执行了所述至少一次迭代更新操作之后获得的超参数确定为满足表达式(2)的选择超参数a*,并将与选择超参数a*对应的超参数集合确定为β={λ,θ,k}。

具体地,每次迭代更新操作包括以下操作:

(步骤3)确定其中,w=(up,vp)并且(up,vp)是与选择超参数a对应的第一子矩阵和第二子矩阵的矩阵对(例如,通过使用训练集对l(w,a)进行训练确定的矩阵对);

(步骤4)对选择超参数a进行更新,使得

(步骤5)使用更新的选择超参数a对超参数进行更新,使得并且基于更新后的超参数使用基于梯度的优化按照梯度对w进行更新。

在以上算法1中,c1={a|||a||0=1},c2={a|0≤αp≤1},ε>0是预设步长,c=c1∩c2,并且表示关于参数w对函数l(w,a)求一阶导数的结果。

此外,所述至少一次迭代更新操作的次数可以是预设次数,或者可设置迭代终止条件(例如,收敛),使得当满足该迭代终止条件时算法1的迭代操作结束。

使用以上算法1能够加快在超参数搜索空间中搜索超参数集合的速度,无需遍历整个超参数搜索空间中的所有超参数集合进行模型训练来搜索最优的超参数集合,这极大地加快了超参数集合的搜索速度。

在本发明的示例性实施例中,子矩阵确定装置120可基于使用超参数搜索装置110搜索出的超参数集合的目标函数,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵。

这里,子矩阵确定装置120基于目标函数f(u,v)确定第一优化子矩阵和第二优化子矩阵的过程实际是寻找使目标函数f(u,v)的计算结果最优(即,使通过目标函数f(u,v)估计出的评价矩阵和预测矩阵之间的差异最小)的第一子矩阵和第二子矩阵。因此,子矩阵确定装置110可基于以下表达式(3)来确定第一优化子矩阵u*和第二优化子矩阵v*。也就是说,第一优化子矩阵u*和第二优化子矩阵v*可以是满足以下表达式(3)的子矩阵:

(u*,v*)=argminu,vf(u,v),…(3)。

仅作为示例,子矩阵确定装置120可使用梯度下降或其变体(诸如l-bfgs、坐标下降以及随机梯度下降等)来找出满足表达式(3)的第一优化子矩阵u*和第二优化子矩阵v*

以下示出使用梯度下降来找出满足表达式(3)的第一优化子矩阵u*和第二优化子矩阵v*的示例算法(在下文中简称为算法2):

如上所示,在算法2中,可首先随机选择初始第一子矩阵u1和初始第二子矩阵v1作为该算法2的输入,并且确定该算法2中的使用的预定步长η。

之后,可初始第一子矩阵u1和初始第二子矩阵v1,通过执行至少一次迭代梯度下降操作来确定第一优化子矩阵u*和第二优化子矩阵v*(算法2的步骤1至步骤5)。

具体地讲,如上所示,在每次迭代梯度下降操作中,可使得:

并且

其中,

并且

其中,1≤t≤t且t为整数,t表示所述至少一次迭代梯度下降操作的总次数,(vt)t表示vt的转置,(ut)t表示ut的转置,ut(vt)t≠0,并且执行了t次迭代梯度下降操作之后所返回的ut+1和vt+1可分别被确定为所述第一优化子矩阵u*和第二优化子矩阵v*

此外,尽管在以上算法2中将迭代梯度下降操作的次数设置为预设次数t,但本申请不限于此,还可设置迭代终止条件,使得当满足该迭代终止条件时算法2迭代梯度下降操作结束。

此外,尽管在以上示例中示出使用梯度下降来快速找出表达式(3)的解,但本申请不限于此,还可通过其他方法(例如,自然梯度算法、贝叶斯优化、牛顿法等等)来获得表达式(3)的解。

返回参照图1,在结合以上示出的各种算法确定了构成用于推导评价矩阵中的缺失矩阵元素的预测矩阵的第一优化子矩阵和第二优化子矩阵之后,评价矩阵处理装置130可使用由子矩阵确定装置120确定的第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素。仅作为示例,可使用优化预测矩阵中的矩阵元素值来替换评价矩阵中的对应位置的缺失矩阵元素值,由此使得评价矩阵中的缺失矩阵元素被补全。

在本公开的示例性实施例中,当评价矩阵o满足特定非相干条件并且缺失矩阵元素全部遵循某些分布时,评价矩阵o中的缺失矩阵元素甚至可被全部准确恢复。

之后,推荐装置140可基于补全了缺失矩阵元素的评价矩阵o来执行用户相关推荐。

图2是示出根据本公开的示例性实施例的用于实现用户相关推荐的方法的流程图。

如图2所示,在步骤s210,可通过超参数搜索装置110在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对目标函数的超参数集合。

之后,在步骤s220,可通过上述子矩阵确定装置装置120基于使用所述超参数集合的目标函数来确定构成用于推导评价矩阵中的缺失矩阵元素的预测矩阵的第一优化子矩阵和第二优化子矩阵。这里,所述目标函数用于评估评价矩阵和预测矩阵之间的差异,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价。

在步骤s230,可由评价矩阵处理装置130使用由第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素。

最后,在步骤s240,推荐装置140可基于补全了缺失矩阵元素的评价矩阵来执行用户相关推荐。

以上已结合图1详细描述了根据本公开的示例性实施例的实现用户相关推荐的系统100的上述组成元件所执行的详细操作的具体过程,因此为了简明,在此将不再赘述。

本发明的实现用户相关推荐的系统和方法可被应用于各种领域和场景。举例来说,本发明的实现用户相关推荐的系统和方法可应用于音乐网站/音乐应用的推荐。这样的网站/应用通常具有大量的用户并提供海量的视频/音频文件,然而,对于其个体用户而言,通常仅收听有限数量的音乐,并且也只对部分音乐有所了解。因此,当用户使用这样的网站/应用时,可能难以获得关于全部音乐的知识从而挑选符合自己口味的音乐。在这种情况下,可基于各个用户对自己已听过的音乐的评价(例如,打分和/或其它能够体现评价的因素(例如,评论、收听次数、推荐次数等等))建立所有用户与所有音乐对象之间的原始评价矩阵,然后通过本发明的实现用户相关推荐的系统和方法补全该评价矩阵中的缺失矩阵元素,从而能够预测出用户对未听过的音乐的评价并根据预测结果向用户进行音乐推荐。

以上例举出了本发明的实现用户相关推荐的系统和方法被应用于推荐单类别对象(即,音乐)的示例,然而,本申请不限于此,本发明的实现用户相关推荐的系统和方法也可被应用于多种类别的海量对象的推荐。仅作为示例,本发明的实现用户相关推荐的系统和方法还可被应用于电子购物网站。在这种情况下,类似地,可基于各个用户对自己已购买、使用过、和/或收藏的商品的评价(例如,打分和/或其它能够体现评价的因素(例如,退货次数、购买次数、推荐度等等))建立所有用户与所有商品对象之间的原始评价矩阵,然后通过本发明的实现用户相关推荐的系统和方法补全该评价矩阵中的缺失矩阵元素,从而能够预测出用户对其它商品的评价并根据预测结果向用户进行商品推荐。

应该理解,以上示例仅是为了解释可应用本发明的实现用户相关推荐的系统和方法的具体实现方式,而不是为了限制本申请。本申请的实现用户相关推荐的系统和方法可类似地应用于更多的场景。

以上已参照图1至图2描述了根据本公开的示例性实施例的实现用户相关推荐的系统和方法。然而,应理解的是:附图中示出的装置和系统可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统、装置可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些系统或装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。

此外,上述方法可通过记录在计算机可读存储介质上的指令来实现,例如,根据本申请的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行以下步骤:在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对所述目标函数的超参数集合;基于使用所述超参数集合的目标函数,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵;使用由第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素;以及基于补全了缺失矩阵元素的评价矩阵来执行用户相关推荐,其中,所述目标函数用于评估评价矩阵和预测矩阵之间的差异,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价,所述预测矩阵用于推导评价矩阵中的缺失矩阵元素。

上述计算机可读存储介质中存储的指令可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述指令还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1至图2进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。

应注意,根据本公开示例性实施例的实现用户相关推荐的系统和方法可完全依赖计算机程序或指令的运行来实现相应的功能,即,各个装置在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。

另一方面,当图1所示的系统和装置以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得至少一个处理器或至少一个计算装置可通过读取并运行相应的程序代码或者代码段来执行相应的操作。

例如,根据本申请示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行下述步骤:在由针对目标函数的超参数的候选取值构成的超参数搜索空间中搜索针对所述目标函数的超参数集合;基于使用所述超参数集合的目标函数,确定构成预测矩阵的第一优化子矩阵和第二优化子矩阵;使用由第一优化子矩阵和第二优化子矩阵构成的优化预测矩阵来推导评价矩阵中的缺失矩阵元素;以及基于补全了缺失矩阵元素的评价矩阵来执行用户相关推荐,其中,所述目标函数用于评估评价矩阵和预测矩阵之间的差异,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价,所述预测矩阵用于推导评价矩阵中的缺失矩阵元素。

具体说来,上述系统可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点上。此外,所述系统可以是pc计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。此外,所述系统还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。另外,所述系统的所有组件可经由总线和/或网络而彼此连接。

这里,所述系统并非必须是单个系统,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。所述系统还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。

在所述系统中,所述至少一个计算装置可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,所述至少一个计算装置还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。计算装置可运行存储在存储装置之一中的指令或代码,其中,所述存储装置还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。

存储装置可与计算装置集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储装置可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储装置和计算装置可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得计算装置能够读取存储在存储装置中的指令。

以上描述了本申请的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本申请不限于所披露的各示例性实施例。在不偏离本申请的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本申请的保护范围应该以权利要求的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1