CN110288444B - 实现用户相关推荐的方法和系统 - Google Patents

实现用户相关推荐的方法和系统 Download PDF

Info

Publication number
CN110288444B
CN110288444B CN201910576468.8A CN201910576468A CN110288444B CN 110288444 B CN110288444 B CN 110288444B CN 201910576468 A CN201910576468 A CN 201910576468A CN 110288444 B CN110288444 B CN 110288444B
Authority
CN
China
Prior art keywords
vector
function
interaction function
matrix
interaction
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
CN201910576468.8A
Other languages
English (en)
Other versions
CN110288444A (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.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology 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 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN201910576468.8A priority Critical patent/CN110288444B/zh
Publication of CN110288444A publication Critical patent/CN110288444A/zh
Application granted granted Critical
Publication of CN110288444B publication Critical patent/CN110288444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种实现用户相关推荐的方法和系统。所述方法包括:建立用于推荐系统中的协同滤波的交互函数的统一表示;基于所述交互函数的统一表示构建交互函数搜索空间;针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。

Description

实现用户相关推荐的方法和系统
技术领域
本申请涉及用户相关推荐技术,更具体地讲,涉及一种使用协同滤波来实现用户相关推荐的方法和系统。
背景技术
推荐系统被广泛应用于各种场景。例如推荐系统可以利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。可进行推荐的对象包括商品、广告、新闻、音乐等等。
协同滤波(CF)是推荐系统的一种关键技术。在给定用户和对象的评价矩阵的情况下,CF旨在预测该评价矩阵中遗失的矩阵元素(即,未知的矩阵元素),并通过这些预测进行用户相关推荐,估计用户对尚未探索的对象的偏好。
对于评价矩阵,其行对应于用户,列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价。由于用户通常只与少量的对象进行交互,因此评价矩阵中会有大量的遗失的矩阵元素。CF可通过捕获评价矩阵中的行和列之间的交互,根据观察到的矩阵元素(即,已有的矩阵元素)来预测这些遗失的矩阵元素。
交互函数(IFC)通常被用于捕获评价矩阵中的行和列之间的交互,因此在CF中具有重要作用。近些年来,低秩矩阵分解是针对CF最流行的解决方案,而由于向量内积在低秩矩阵分解上取得成功,因此,向量内积成为最受欢迎的交互函数,使用向量内积作为交互函数的CF可表述为以下表达式(1)所呈现的优化问题:
Figure GDA0003366912740000011
其中,ui Tvj是交互函数,l(ui Tvj,Oij)是损失函数,O是给定评价矩阵且
Figure GDA0003366912740000021
Oij是表示用户i对对象j的评价的标量(例如,评分数值),m表示用户数量,n表示对象的数量,λ是预设的超参数并且λ≥0,评价矩阵O中的能够观察到的矩阵元素的位置的集合可包括在训练集Ω中,U是用户嵌入向量集合,V是对象嵌入向量集合,
Figure GDA0003366912740000022
是U中的第i列并且表示针对用户i的嵌入向量,
Figure GDA0003366912740000023
是V中的第j列并且表示针对对象j的嵌入向量,k表示嵌入向量的维度。可通过基于训练集Ω对
Figure GDA0003366912740000024
Figure GDA0003366912740000025
进行模型训练对以上优化问题求解,学习得到嵌入向量ui和vj及其维度k(相应地,得到了U和V)。
然而,在实际应用中,用户和对象之间的交互可能更加复杂,向量内积作为交互函数可能无法针对各种CF任务获得最佳性能,除向量内积以外的其它运算(例如,向量加法、向量串联、向量外积等、向量卷积)用作交互函数有时可能比向量内积具有更好的性能表现。
另一方面,尽管如上所述的多种向量运算可被用作CF中的交互函数,但这些交互函数大多是人工设计的,针对具体CF任务人工选择和设计合适的交互函数通常并不容易,并且仅使用一个简单的运算也可能无法确保良好的性能表现。此外,随着深度网络在各个领域取得成功,多层感知器(MLP)近来也被用作CF中的交互函数,并且实现了良好的性能,但直接使用MLP会导致架构选择困难并且相当耗时。
因此,如何快速高效地针对具体的CF任务确定一个能保证良好性能的合适交互函数已经成为一个非常重要的问题。
发明内容
根据本公开的示例性实施例,提供了一种实现用户相关推荐的方法,所述方法包括:建立用于推荐系统中的协同滤波的交互函数的统一表示;基于所述交互函数的统一表示构建交互函数搜索空间;针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。
可选地,所述交互函数的统一表示可以为:
Figure GDA0003366912740000031
其中,
Figure GDA0003366912740000032
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure GDA0003366912740000033
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure GDA0003366912740000034
是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量
Figure GDA0003366912740000035
Figure GDA0003366912740000036
执行向量运算的向量运算函数,
Figure GDA0003366912740000037
中的第个l元素
Figure GDA0003366912740000038
Figure GDA0003366912740000039
中的第个l元素
Figure GDA00033669127400000310
g(β;x)是用于基于超参数x对输入的标量
Figure GDA00033669127400000311
执行简单非线性变换的非线性变换函数并且
Figure GDA00033669127400000312
超参数x用于控制非线性变换函数g(β;x)。这里,交互函数搜索空间F可由具有不同超参数p和q的交互函数构成。
可选地,所述交互函数的统一表示可以为:
Figure GDA00033669127400000313
其中,
Figure GDA00033669127400000314
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure GDA00033669127400000315
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure GDA00033669127400000316
是表示用于使用预设的多种向量运算算子中的第h个向量运算算子对输入的嵌入向量
Figure GDA00033669127400000317
Figure GDA00033669127400000318
执行向量运算的向量运算函数,
Figure GDA00033669127400000319
且h为整数,
Figure GDA00033669127400000328
是所述预设的多种向量运算算子的数量,超参数a=[αh],C={a|||a||0=1,0≤αh≤1},
Figure GDA00033669127400000320
中的第个l元素
Figure GDA00033669127400000321
Figure GDA00033669127400000322
中的第个l元素
Figure GDA00033669127400000323
g(β;x)是用于基于超参数x对输入的标量
Figure GDA00033669127400000324
执行简单非线性变换的非线性变换函数并月
Figure GDA00033669127400000325
超参数x用于控制非线性变换函数g(β;x)。这里,交互函数搜索空间F可由具有不同超参数a、p和q的交互函数构成。
可选地,确定相应交互函数的步骤可包括基于以下表达式在交互函数搜索空间F中确定最佳交互函数f*作为所述相应交互函数:
Figure GDA00033669127400000326
s.t.[U*,V*,w*]=argU,V,w minF(U,V,w)
其中,
Figure GDA00033669127400000327
其中,0是评价矩阵且
Figure GDA0003366912740000041
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure GDA0003366912740000042
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure GDA0003366912740000043
指示,[U*,V*,w*]是基于交互函数搜索空间F中的交互函数f,使用训练集Ω对F(U,V,w)进行训练得到的优化嵌入向量集,M(f(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集[U*,V*,w*]和验证集
Figure GDA0003366912740000044
来测量该交互函数f的性能,l(wTf(ui,vj),Oij)是损失函数,f*是交互函数搜索空间F中在验证集
Figure GDA00033669127400000412
上具有最高性能的交互函数。
可选地,确定相应交互函数的步骤可包括:
基于以下表达式确定最佳交互函数fα *的超参数集合S*={a*,p*,q*}:
S*=args minH(S)
其中,
Figure GDA0003366912740000045
s.t.a∈C并且
T*=argTminFα(T;S)
其中,
T={U,V,w},T*={U*,V*,w*},并且S={a,p,q},
Figure GDA0003366912740000046
其中,O是评价矩阵且
Figure GDA0003366912740000047
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure GDA0003366912740000048
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure GDA0003366912740000049
指示,T*是基于交互函数搜索空间F中的交互函数fα,使用训练集Ω对Fα(T;S)进行训练得到的优化嵌入向量集,M(fα(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集T*和验证集
Figure GDA00033669127400000410
来测量该交互函数fα的性能,l(wTfα(ui,vj),Oij)是损失函数,S*是与交互函数搜索空间F中在验证集
Figure GDA00033669127400000411
上具有最高性能的交互函数对应的超参数集合;以及,基于超参数集合S*在交互函数搜索空间F中确定最佳交互函数fα *
可选地,确定超参数集合S*={a*,p*,q*}的步骤包括:在交互函数搜索空间F中随机选择一具有超参数a、p和q的交互函数f;通过执行至少一次迭代操作来更新所述超参数a、p和q;将更新后的超参数a、p和q分别确定为a*,p*,q*。每次迭代操作可包括以下操作:
使
Figure GDA0003366912740000051
其中,
Figure GDA0003366912740000052
C1={a|||a||0=1},C2={a|0≤αh≤1},ε>0是预设超参数,C=C1∩C2
使
Figure GDA0003366912740000053
Figure GDA0003366912740000054
以及
通过关于Fα(T;S)进行梯度下降来更新T,
其中,
Figure GDA0003366912740000055
Figure GDA0003366912740000056
Figure GDA0003366912740000057
其中,
Figure GDA0003366912740000058
其中,
Figure GDA0003366912740000059
表示关于参数x对函数F()求一阶导数的结果,
Figure GDA00033669127400000510
表示首先关于参数x对函数F()求出一阶导数
Figure GDA00033669127400000511
然后再关于参数y对
Figure GDA00033669127400000512
求二阶导数的结果。
根据本公开的另一示例性实施例,提供了一种实现用户相关推荐的系统,所述系统包括:构建装置,被配置为建立用于推荐系统中的协同滤波的交互函数的统一表示,并基于所述交互函数的统一表示构建交互函数搜索空间;交互函数确定装置,被配置为针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;评价矩阵处理装置,被配置为基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及推荐装置,被配置为基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。
可选地,所述交互函数的统一表示可以为:
Figure GDA00033669127400000513
其中,
Figure GDA00033669127400000514
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure GDA00033669127400000515
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure GDA00033669127400000516
是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量
Figure GDA00033669127400000517
Figure GDA00033669127400000518
执行向量运算的向量运算函数,
Figure GDA00033669127400000519
中的第个l元素
Figure GDA0003366912740000061
Figure GDA0003366912740000062
中的第个l元素
Figure GDA0003366912740000063
g(β;x)是用于基于超参数x对输入的标量
Figure GDA0003366912740000064
执行简单非线性变换的非线性变换函数并且
Figure GDA0003366912740000065
超参数x用于控制非线性变换函数g(β;x)。这里,其中,交互函数搜索空间F可由具有不同超参数p和q的交互函数构成。
可选地,所述交互函数的统一表示可以为:
Figure GDA0003366912740000066
其中,
Figure GDA0003366912740000067
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure GDA0003366912740000068
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure GDA0003366912740000069
是表示用于使用预设的多种向量运算算子中的第h个向量运算算子对输入的嵌入向量
Figure GDA00033669127400000610
Figure GDA00033669127400000611
执行向量运算的向量运算函数,
Figure GDA00033669127400000612
且h为整数,
Figure GDA00033669127400000613
是所述预设的多种向量运算算子的数量,超参数a=[αh],C={a|||a||0=1,0≤αh≤1},
Figure GDA00033669127400000614
中的第个l元素
Figure GDA00033669127400000615
Figure GDA00033669127400000616
中的第个l元素
Figure GDA00033669127400000617
g(β;x)是用于基于超参数x对输入的标量
Figure GDA00033669127400000618
执行简单非线性变换的非线性变换函数并且
Figure GDA00033669127400000619
超参数x用于控制非线性变换函数g(β;x)。这里,交互函数搜索空间F可由具有不同超参数a、p和q的交互函数构成。
可选地,交互函数确定装置可被配置为基于以下表达式在交互函数搜索空间F中确定最佳交互函数f*作为所述相应交互函数:
Figure GDA00033669127400000620
s.t.[U*,V*,w*]=argU,V,wminF(U,V,w)
其中,
Figure GDA00033669127400000621
其中,O是评价矩阵且
Figure GDA00033669127400000622
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure GDA00033669127400000623
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure GDA00033669127400000624
指示,[U*,V*,w*]是基于交互函数搜索空间F中的交互函数f,使用训练集Ω对F(U,V,w)进行训练得到的优化嵌入向量集,M(f(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集[U*,V*,w*]和验证集
Figure GDA0003366912740000071
来测量该交互函数f的性能,l(wTf(ui,vj),Oij)是损失函数,f*是交互函数搜索空间F中在验证集
Figure GDA0003366912740000072
上具有最高性能的交互函数。
可选地,交互函数确定装置可被配置为基于以下表达式确定最佳交互函数fα *的超参数集合S*={a*,p*,q*}:
S*=args minH(S)
其中,
Figure GDA0003366912740000073
并且
T*=argT minFα(T;S)
其中,
T={U,V,w},T*={U*,V*,w*},并且S={a,p,q},
Figure GDA0003366912740000074
其中,O是评价矩阵且
Figure GDA0003366912740000075
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure GDA0003366912740000076
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure GDA0003366912740000077
指示,T*是基于交互函数搜索空间F中的交互函数fα,使用训练集Ω对Fα(T;S)进行训练得到的优化嵌入向量集,M(fα(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集T*和验证集
Figure GDA0003366912740000078
来测量该交互函数fα的性能,l(wTfα(ui,vj),Oij)是损失函数,S*是与交互函数搜索空间F中在验证集
Figure GDA0003366912740000079
上具有最高性能的交互函数对应的超参数集合。
交互函数确定装置可基于超参数集合S*在交互函数搜索空间F中确定最佳交互函数fα *
可选地,交互函数确定装置可通过以下操作来确定超参数集合S*={a*,p*,q*}:在交互函数搜索空间F中随机选择一具有超参数a、p和q的交互函数f;通过执行至少一次迭代操作来更新所述超参数a、p和q;将更新后的超参数a、p和q分别确定为a*,p*,q*,其中,每次迭代操作可包括以下操作:
使
Figure GDA00033669127400000710
其中,
Figure GDA00033669127400000711
C1={a|||a||0=1},C2={a|0≤αh≤1},ε>0是预设超参数,C=C1∩C2
使
Figure GDA00033669127400000712
Figure GDA00033669127400000713
以及
通过关于Fα(T;S)进行梯度下降来更新T,
其中,
Figure GDA0003366912740000081
Figure GDA0003366912740000082
Figure GDA0003366912740000083
其中,
Figure GDA0003366912740000084
M(S,T)=M(fα(ui *,vj *)Tw*,Oij),
其中,
Figure GDA0003366912740000085
表示关于参数x对函数F()求一阶导数的结果,
Figure GDA0003366912740000086
表示首先关于参数x对函数F()求出一阶导数
Figure GDA0003366912740000087
然后再关于参数y对
Figure GDA0003366912740000088
求二阶导数的结果。
根据本公开的另一示例性实施例,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如前所述的实现用户相关推荐的方法。
根据本公开的另一示例性实施例,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如前所述的实现用户相关推荐的方法。
有益效果
通过应用根据本发明的示例性实施例的实现用户相关推荐的方法和系统,能够自动、快速、高效地为给定评价矩阵确定具有更好性能的交互函数。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1是示出根据本公开的示例性实施例的用于实现用户相关推荐的系统的框图;
图2是示出根据本发明的示例性实施例的通过结构化的MLP来表现交互函数搜索空间的示例图示;
图3是示出根据本公开的示例性实施例的用于实现用户相关推荐的方法的流程图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
在下面开始对本发明构思的描述之前,为便于理解,将首先对本申请中所使用的一些参数表达形式进行解释:
向量由小写粗体表示,矩阵由大写粗体表示。
对于两个向量x和y,<x,y>表示x和y的向量内积,x⊙y表示逐元素乘积,
Figure GDA0003366912740000091
表示向量外积,[x,y]表示将两个向量x和y串联为一个更长的向量,x*y表示对向量x和y进行卷积,Tr(X)表示正方矩阵X的迹,||X||F表示X的Frobenius范数,||x||2表示向量x的l2范数,并且||x||2表示对向量x中的非零元素的计数。
此外,在本公开的上下文中,具有相同表达形式的参数具有相同的定义。
图1是示出根据本公开的示例性实施例的用于实现用户相关推荐的系统100的框图。
参照图1,用于实现用户相关推荐的系统100可包括构建装置110、交互函数确定装置120、评价矩阵处理装置130以及推荐装置140。
在本发明的示例性实施例中,构建装置110可用于建立用于推荐系统中的协同滤波的交互函数的统一表示,并基于所述交互函数的统一表示构建交互函数搜索空间。
具体地讲,构建装置110可如以下表达式(2)来构建交互函数的统一表示:
Figure GDA0003366912740000092
在表达式(2)中,如前所述,
Figure GDA0003366912740000093
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure GDA0003366912740000094
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度。f(ui,vj)的输入是两个向量,输出是一个向量。
Figure GDA0003366912740000095
(在下文中有时也简写为
Figure GDA0003366912740000096
)是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量
Figure GDA0003366912740000097
Figure GDA0003366912740000098
执行向量运算的向量运算函数。选择的向量运算算子的数量可以是一个或多个。所述预设的多种向量运算算子包括例如向量内积、向量外积、向量串联、向量加法、求最大值、求最小值、向量卷积等各种向量运算算子。例如,当选择的向量运算算子是向量内积时,
Figure GDA0003366912740000101
表示对输入的向量
Figure GDA0003366912740000102
Figure GDA0003366912740000103
执行向量内积运算。此外,所述预设的多种向量运算算子也可仅包括指定的一种或更多种向量运算算子。例如,所述预设的多种向量运算算子可不包括向量外积和卷积,这是因为向量外积和卷积运算通常耗费大量的计算时间,并且相对于其他向量运算性能表现不佳。
此外,
Figure GDA0003366912740000104
中的第个l元素
Figure GDA0003366912740000105
Figure GDA0003366912740000106
中的第个l元素
Figure GDA0003366912740000107
g(β;x)是用于基于超参数x对输入的标量
Figure GDA0003366912740000108
执行简单非线性变换的非线性变换函数并且
Figure GDA0003366912740000109
超参数x用于控制非线性变换函数g(β;x)。
从以上表达式(2)可知,ui和vj是所述统一表示f(ui,vj)的输入,因此,在本发明的实施例中,是通过不同的超参数p和q来限定不同的交互函数。
由此,构建装置110基于交互函数的统一表示构建交互函数搜索空间F的过程实际可转换为基于超参数p和q来构建交互函数搜索空间F,使得该交互函数搜索空间F由具有不同超参数p和q的交互函数构成。在交互函数搜索空间F中确定或搜索一交互函数的处理实际是确定与该交互函数相关的超参数p和q的处理。
返回参照图1,在本公开的示例性实施例中,交互函数确定装置120可针对输入的具体评价矩阵O,在所述交互函数搜索空间F中确定与该评价矩阵O相应的交互函数。所述相应的交互函数可以是交互函数搜索空间F中使针对该评价矩阵的协同滤波任务性能表现最好的一交互函数(在下文中简称为最佳交互函数),以下将详细描述交互函数确定装置120确定这样的最佳交互函数的处理。
具体地讲,交互函数确定装置120可基于以下表达式(3)在交互函数搜索空间F中确定最佳交互函数f*作为所述相应交互函数:
Figure GDA00033669127400001010
其中,
Figure GDA00033669127400001011
w是线性预测器,||w||2≤1用于保证argU,V,w minF(U,V,w)的解存在。λ是预设的超参数(例如,实验性地确定的或根据经验确定的预设超参数)并且λ≥0。
Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合可由Ω指示,
Figure GDA0003366912740000111
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合可由
Figure GDA0003366912740000112
指示。也就是说,评价矩阵O中的能够观察到的矩阵元素中的一部分可以用作训练集,另一部分可用作验证集,验证集和训练集两者的集合可包括所有能够观察到的矩阵元素,也可仅包括所有能够观察到的矩阵元素中的一些矩阵元素。
[U*,V*,w*]是基于交互函数搜索空间F中的交互函数f,使用训练集Ω对F(U,V,w)进行训练得到的优化嵌入向量集,U*,V*,w*分别指示基于交互函数f训练得到的优化的用户嵌入向量集合、优化的对象嵌入向量集合和优化的线性预测器。ui *是U*中的第i列,vj *是V*中的第j列。M(f(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集[U*,V*,w*]和验证集
Figure GDA0003366912740000113
来测量该交互函数f的性能(M(f(ui *,vj *)Tw*,Oij)的值越小表明性能表现越好),可以是损失函数。l(wTf(ui,vj),Oij)是损失函数,f*是交互函数搜索空间F中在验证集
Figure GDA0003366912740000114
上具有最高性能的交互函数。
更详细地,上述表达式(3)包括两个级别的优化。首先,可基于特定交互函数f来训练F(U,V,w)并在训练集Ω上获得使F(U,V,w)具有最小值的优化嵌入向量集[U*,V*,w*]。然后,可使用训练获得的优化嵌入向量集[U*,V*,w*],在验证集
Figure GDA0003366912740000115
上测量与该交互函数f对应的性能(即,计算
Figure GDA0003366912740000116
)。由此,可获得交互函数搜索空间F中的各个交互函数的性能,并可将性能最好(即,任
Figure GDA0003366912740000117
最小)的交互函数确定为最佳交互函数f*
在本公开的示例性实施例中,利用上述表达式(3)寻找最佳交互函数f*时,由于基于表达式(2)所构建的交互函数搜索空间F是离散的,因此可能难以在交互函数搜索空间F中快速高效地搜索到最佳交互函数f*
对此,在本公开的示例性实施例中,可将所述交互函数搜索空间F转换为连续的空间,将对向量运算算子的选择松弛为连续空间中的稀疏向量。
具体地,构建装置110可对表达式(2)中所示的交互函数的统一表示进行变换,如以下表达式(4)来构建交互函数的统一表示:
Figure GDA0003366912740000121
在表达式(4)中,
Figure GDA0003366912740000122
是表示用于使用预设的多种向量运算算子中的第h个向量运算算子对输入的嵌入向量
Figure GDA0003366912740000123
Figure GDA0003366912740000124
执行向量运算的向量运算函数,
Figure GDA0003366912740000125
且h为整数,
Figure GDA0003366912740000126
是所述预设的多种向量运算算子的数量。a=[αh],C={a|||a||0=1,0≤αh≤1}。这里,超参数a用于强制仅选择一个运算。表达式(4)中的其他参数的定义与表达式(2)中的相同,因此为了简明,在此不再一一说明。
从以上表达式(4)可知,ui和vj是所述统一表示fα(ui,vj)的输入,因此,在本发明的实施例中,是通过不同的超参数a、p和q来限定不同的交互函数fα
由此,构建装置110基于交互函数的统一表示构建交互函数搜索空间F的过程实际可转换为基于超参数a、p和q来构建交互函数搜索空间F,使得该交互函数搜索空间F由具有不同超参数a、p和q的交互函数构成。在交互函数搜索空间F中确定或搜索一交互函数fα的处理实际是确定与该交互函数fα相关的超参数a、p和q的处理。
此时,交互函数确定装置120可基于以下表达式(5)确定最佳交互函数fα *的超参数集合S*={a*,p*,q*}:
S*=args minH(S)...(5)
其中,
Figure GDA0003366912740000127
s.t.a∈C并且
T*=argT minFα(T;S)
其中,
T={U,V,w},T*={U*,V*,w*},并且S={a,p,q},
Figure GDA0003366912740000128
其中,T*是基于交互函数搜索空间F中的交互函数fα,使用训练集Ω对Fα(T;S)进行训练得到的优化嵌入向量集,U*,V*,w*分别指示基于交互函数fα训练得到的优化的用户嵌入向量集合、优化的对象嵌入向量集合和优化的线性预测器。ui *是U*中的第i列,vj *是V*中的第j列。M(fα(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集T*和验证集
Figure GDA0003366912740000129
来测量该交互函数fα的性能,l(wTfα(ui,vj),Oij)是损失函数,S*是与交互函数搜索空间F中在验证集
Figure GDA00033669127400001210
上具有最高性能的交互函数对应的超参数集合。
在如上确定了超参数集合S*之后,交互函数确定装置120可基于超参数集合S*在交互函数搜索空间F中确定最佳交互函数fα *
在本公开的示例性实施例中,仅作为示例,可使用具有固定架构(例如,单输入、单输出、五个隐藏单元(激活函数是sigmoid))的小规模MLP来对前述非线性变换函数g(β;x)进行参数化,并且将小规模MLP的权重(即,p和q)的2范数约束为不大于1。由此,可将交互函数搜索空间F表示为结构化的MLP,利用MLP来实现超参数p和q。
图2是示出根据本发明的示例性实施例的通过结构化的MLP来表示交互函数搜索空间的示例图示,该结构化的MLP对应于基于表达式(4)的交互函数的统一表示构建的交互函数搜索空间F。
如图2所示,在交互函数搜索空间F中搜索交互函数的过程实际为首先在元素层针对输入的嵌入向量的每个元素搜索对应非线性变换,然后在向量层选择向量运算算子对经过线性变换的元素进行逐元素运算并组合运算结果。
然而,应该理解,实现超参数p和q方式不限于MLP,还可使用任何其他方式来实现。
优选地,根据本公开的示例性实施例,可使用梯度下降算法(例如,随机梯度下降)来优化在交互函数搜索空间F中搜索交互函数的过程。
以下示出用于搜索交互函数的一个示例算法(在下文中简称为算法1):
Figure GDA0003366912740000131
如上所示,算法1旨在通过梯度下降处理来确定一组超参数集合S*={a*,p*,q*}并将使用所述超参数a*,p*,q*的交互函数确定为交互函数搜索空间F中针对输入的评价矩阵的最佳交互函数。
仅作为示例,针对使用表达式(4)的交互函数的统一表示构建的交互函数搜索空间F,交互函数确定装置120可首先在交互函数搜索空间F中随机选择一具有超参数a、p和q的交互函数f,然后通过执行至少一次迭代操作来更新所述超参数a、p和q,并将更新后的超参数a、p和q分别确定为a*,p*,q*,从而确定所述超参数集合S*={a*,p*,q*}。
如以上算法1所示,每次迭代操作可包括以下操作:
(1)通过
Figure GDA0003366912740000141
来更新超参数a(算法1的步骤4),其中,ab是通过对超参数a执行懒惰临近迭代(lazy-proximal step)
Figure GDA0003366912740000142
Figure GDA0003366912740000143
获得的(算法1的步骤3)。该懒惰临近迭代获得超参数a到C的投影,即,离散化的ab,从而使用关于ab(而非a)的梯度来更新a。这里C1={a|||a||0=1},C2={a|0≤αh≤1},ε>0是预设超参数(例如,实验性地确定的或根据经验确定的预设超参数),C=C1∩C2
(2)通过
Figure GDA0003366912740000144
以及
Figure GDA0003366912740000145
来更新超参数p和q(算法1的步骤5);以及
(3)通过关于Fα(T;S)进行梯度下降(例如,随机梯度下降)来更新T(算法1的步骤6)。
在以上操作(1)、(2)和(3)中,
Figure GDA0003366912740000146
Figure GDA0003366912740000147
Figure GDA0003366912740000148
Figure GDA0003366912740000149
Figure GDA00033669127400001410
表示关于参数x对函数F()求一阶导数的结果,
Figure GDA00033669127400001411
表示首先关于参数x对函数F()求出一阶导数
Figure GDA00033669127400001412
然后再关于参数y对
Figure GDA00033669127400001413
求二阶导数的结果。
此外,以上操作(1)、(2)和(3)的顺序不限于以上所列出的,而是可以以不同的顺序或被同时执行,并且上述迭代操作的次数可以是预设的,或者可设置迭代终止条件,使得当满足该迭代终止条件时迭代操作结束。
优选地,对于操作(1)和(2),可在验证集上进行小批量采样来进行梯度下降,对于操作(3),可在训练集上进行小批量采样来进行梯度下降,以便提高处理效率。
使用以上算法1能够加快在交互函数搜索空间F中搜索交互函数的速度,无需遍历整个交互函数搜索空间F进行搜索。
返回参照图1,评价矩阵处理装置130可基于使用交互函数确定装置130所确定的交互函数的协同滤波来推导所述评价矩阵O中遗失的矩阵元素。
具体来说,在如上确定了最佳交互函数及其超参数(即,f*及其超参数p和q,或者fα *及其超参数a、p和q)之后,交互函数确定装置120可基于该最佳交互函数,使用从评价矩阵获得的一训练集来对minF(U,V,w)或minFα(T;S)进行再次训练以获得最终的用户嵌入向量集合U和对象嵌入向量V作为该最佳交互函数的输入。评价矩阵处理装置130可基于使用所述最佳交互函数(其输入为所述最终的用户嵌入向量集合U和对象嵌入向量V)的协同滤波来推导所述评价矩阵O中遗失的矩阵元素。
在本公开的示例性实施例中,当评价矩阵O满足特定非相干条件并且遗失的矩阵元素全部遵循某些分布时,评价矩阵O中遗失的矩阵元素甚至可被全部准确恢复。
之后,推荐装置140可基于恢复了遗失的矩阵元素的评价矩阵O来执行用户相关推荐。
根据本公开的示例性实施例的前述搜索最佳交互函数的过程实际属于自动机器学习(AutoML)的过程,所设计的交互函数搜索空间F满足AutoML的要求,其包括额外的非线性变换,并且包含了比现有的由人工设计的向量运算更多的向量运算类型。因此,这种使用AutoML从交互函数搜索空间F搜索出的交互函数性能上通常优于人工设计的交互函数,无需人工参与且搜索效率更高。
此外,根据本公开的示例性实施例的交互函数搜索空间F比一般的MLP受到更多的约束,因为只需要选择向量运算算子并确定具有固定架构的小规模MLP的权重(即,p和q),因此解决了现有技术中的MLP架构选择困难并且耗时的问题。
此外,在本公开的前述实施例中具体解释了针对输入的评价矩阵来确定相应的使用两个嵌入向量(即,ui和vj)作为输入的交互函数的方案,但本申请不限于此,根据本公开的示例性实施例的确定交互函数的方案还适用于针对其他数据确定使用更多嵌入向量作为输入的交互函数的情况。
仅作为示例,根据本公开的示例性实施例的确定交互函数的方案还适用于张量数据(tensor data),以3阶张量数据为例(更高阶的张量数据以相似
Figure GDA0003366912740000161
个嵌入向量作为输入的方案不同的是,由于使用三个向量,因此
Figure GDA0003366912740000162
不再是单个运算,而是枚举出所允许的基本运算的所有可能组合。例如,如果仅允许使用max(求最大值)和⊙(逐元素乘积)运算,则
Figure GDA0003366912740000163
可包括max(ui,vj)⊙sl、max(max(ui,vj),sl)、ui⊙max(vj⊙sl)和ui⊙vj⊙sl
图3是示出根据本公开的示例性实施例的用户相关推荐的方法的流程图。
如图3所示,在步骤S310,可通过上述构建装置110建立用于推荐系统中的协同滤波的交互函数的统一表示。
在步骤S320,构建装置110可进一步基于所述交互函数的统一表示构建交互函数搜索空间。
之后,在步骤S330,交互函数确定装置120可针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数。所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价。
在步骤340,可由评价矩阵处理装置130基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素。
在步骤S350,推荐装置140可基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。
以上已结合图1和图2详细描述了根据本公开的示例性实施例的实现用户相关推荐的系统100的上述组成元件所执行的详细操作的具体过程,因此为了简明,在此将不再赘述。
以上参照图1至图3描述了根据本公开的示例性实施例的实现用户相关推荐的方法和系统。然而,应理解的是:附图中示出的装置和系统可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统、装置可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些系统或装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,上述方法可通过记录在计算机可读存储介质上的指令来实现,例如,根据本申请的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行以下步骤:建立用于推荐系统中的协同滤波的交互函数的统一表示;基于所述交互函数的统一表示构建交互函数搜索空间;针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;基于使用搜索出的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。
上述计算机可读存储介质中存储的指令可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述指令还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1至图3进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
应注意,根据本公开示例性实施例的实现用户相关推荐的系统可完全依赖计算机程序或指令的运行来实现相应的功能,即,各个装置在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,当图1所示的系统和装置以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得至少一个处理器或至少一个计算装置可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,根据本申请示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行下述步骤:建立用于推荐系统中的协同滤波的交互函数的统一表示;基于所述交互函数的统一表示构建交互函数搜索空间;针对输入的评价矩阵,在所述交互函数搜索空间中确定相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;基于使用搜索出的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐。
具体说来,上述系统可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点上。此外,所述系统可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。此外,所述系统还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。另外,所述系统的所有组件可经由总线和/或网络而彼此连接。
这里,所述系统并非必须是单个系统,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。所述系统还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在所述系统中,所述至少一个计算装置可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,所述至少一个计算装置还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。计算装置可运行存储在存储装置之一中的指令或代码,其中,所述存储装置还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储装置可与计算装置集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储装置可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储装置和计算装置可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得计算装置能够读取存储在存储装置中的指令。
以上描述了本申请的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本申请不限于所披露的各示例性实施例。在不偏离本申请的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本申请的保护范围应该以权利要求的范围为准。

Claims (14)

1.一种实现用户相关推荐的方法,所述方法包括:
建立用于推荐系统中的协同滤波的交互函数的统一表示;
基于所述交互函数的统一表示构建交互函数搜索空间,其中,不同交互函数通过不同超参数来限定;
针对输入的评价矩阵,通过使用自动机器学习来在所述交互函数搜索空间中确定相应交互函数的相关超参数以确定所述相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;
基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及
基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐,
其中,所述统一表示是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量执行向量运算的向量运算函数,
其中,所述输入的嵌入向量包括通过对基于评价矩阵得到的用户嵌入向量进行非线性变换而获得的嵌入向量以及通过对基于评价矩阵得到的对象嵌入向量进行非线性变换而获得的嵌入向量。
2.如权利要求1所述的方法,其中,所述交互函数的统一表示为:
Figure FDA0003366912730000011
其中,
Figure FDA0003366912730000012
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure FDA0003366912730000013
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure FDA0003366912730000014
是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量
Figure FDA0003366912730000015
Figure FDA0003366912730000016
执行向量运算的向量运算函数,
Figure FDA0003366912730000017
中的第l个 元素
Figure FDA0003366912730000018
Figure FDA0003366912730000019
中的第l个 元素
Figure FDA00033669127300000110
g(β;x)是用于基于超参数x对输入的标量
Figure FDA00033669127300000111
执行简单非线性变换的非线性变换函数并且
Figure FDA00033669127300000112
超参数x用于控制非线性变换函数g(β;x),
其中,交互函数搜索空间F由具有不同超参数p和q的交互函数构成。
3.如权利要求1所述的方法,其中,所述交互函数的统一表示为:
Figure FDA00033669127300000113
其中,
Figure FDA0003366912730000021
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure FDA0003366912730000022
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure FDA0003366912730000023
是表示用于使用预设的多种向量运算算子中的第h个向量运算算子对输入的嵌入向量
Figure FDA0003366912730000024
Figure FDA0003366912730000025
执行向量运算的向量运算函数,
Figure FDA0003366912730000026
且h为整数,
Figure FDA0003366912730000027
是所述预设的多种向量运算算子的数量,超参数a=[αh],C={a|||a||0=1,0≤αh≤1},
Figure FDA0003366912730000028
中的第l个 元素
Figure FDA0003366912730000029
Figure FDA00033669127300000210
中的第l个 元素
Figure FDA00033669127300000211
g(β;x)是用于基于超参数x对输入的标量
Figure FDA00033669127300000212
执行简单非线性变换的非线性变换函数并且
Figure FDA00033669127300000213
超参数x用于控制非线性变换函数g(β;x),
其中,交互函数搜索空间F由具有不同超参数a、p和q的交互函数构成。
4.如权利要求2所述的方法,其中,确定相应交互函数的步骤包括:
基于以下表达式在交互函数搜索空间F中确定最佳交互函数f*作为所述相应交互函数:
Figure FDA00033669127300000214
s.t.[U*,V*,w*]=argU,V,wminF(U,V,w)
其中,
Figure FDA00033669127300000215
其中,O是评价矩阵且
Figure FDA00033669127300000216
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure FDA00033669127300000217
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure FDA00033669127300000218
指示,[U*,V*,w*]是基于交互函数搜索空间F中的交互函数f,使用训练集Ω对F(U,V,w)进行训练得到的优化嵌入向量集,M(f(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集[U*,V*,w*]和验证集
Figure FDA00033669127300000219
来测量该交互函数f的性能,l(wTf(ui,vj),Oij)是损失函数,f*是交互函数搜索空间F中在验证集
Figure FDA00033669127300000220
上具有最高性能的交互函数。
5.如权利要求3所述的方法,其中,确定相应交互函数的步骤包括:
基于以下表达式确定最佳交互函数fα *的超参数集合S*={a*,p*,q*}:
S*=argsminH(S)
其中,
Figure FDA0003366912730000031
s.t.a∈C并且
T*=argTminFα(T;S)
其中,
T={U,V,w},T*={U*,V*,w*},并且S={a,p,q},
Figure FDA0003366912730000032
其中,O是评价矩阵且
Figure FDA0003366912730000033
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure FDA0003366912730000034
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure FDA0003366912730000035
指示,T*是基于交互函数搜索空间F中的交互函数fα,使用训练集Ω对Fα(T;S)进行训练得到的优化嵌入向量集,M(fα(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集T*和验证集
Figure FDA0003366912730000036
来测量该交互函数fα的性能,l(wTfα(ui,vj),Oij)是损失函数,S*是与交互函数搜索空间F中在验证集
Figure FDA0003366912730000037
上具有最高性能的交互函数对应的超参数集合;
基于超参数集合S*在交互函数搜索空间F中确定最佳交互函数fα *
6.如权利要求5所述的方法,确定超参数集合S*={a*,p*,q*}的步骤包括:
在交互函数搜索空间F中随机选择一具有超参数a、p和q的交互函数f;
通过执行至少一次迭代操作来更新所述超参数a、p和q;
将更新后的超参数a、p和q分别确定为a*,p*,q*
其中,每次迭代操作包括以下操作:
使
Figure FDA0003366912730000038
其中,ab是通过对超参数a执行懒惰临近迭代获得的且
Figure FDA0003366912730000039
C1={a|||a||0=1},C2={a|0≤αh≤1},ε>0是预设超参数,C=C1∩C2
使
Figure FDA00033669127300000310
Figure FDA00033669127300000311
以及
通过关于Fα(T;S)进行梯度下降来更新T,
其中,
Figure FDA00033669127300000312
Figure FDA0003366912730000041
Figure FDA0003366912730000042
其中,
Figure FDA0003366912730000043
M(S,T)=M(fα(ui *,vj *)Tw*,Oij),
其中,
Figure FDA0003366912730000044
表示关于参数x对函数F()求一阶导数的结果,
Figure FDA0003366912730000045
表示首先关于参数x对函数F()求出一阶导数
Figure FDA0003366912730000046
然后再关于参数y对
Figure FDA0003366912730000047
求二阶导数的结果。
7.一种实现用户相关推荐的系统,所述系统包括:
构建装置,被配置为建立用于推荐系统中的协同滤波的交互函数的统一表示,并基于所述交互函数的统一表示构建交互函数搜索空间,其中,不同交互函数通过不同超参数来限定;
交互函数确定装置,被配置为针对输入的评价矩阵,通过使用自动机器学习来在所述交互函数搜索空间中确定相应交互函数的相关超参数以确定所述相应交互函数,其中,所述评价矩阵的行对应于用户,所述评价矩阵的列对应于对象,并且所述评价矩阵中的矩阵元素表示该矩阵元素的对应行的用户对对应列的对象的评价;
评价矩阵处理装置,被配置为基于使用所确定的交互函数的协同滤波来推导所述评价矩阵中遗失的矩阵元素;以及
推荐装置,被配置为基于恢复了遗失的矩阵元素的评价矩阵来执行用户相关推荐,
其中,所述统一表示是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量执行向量运算的向量运算函数,
其中,所述输入的嵌入向量包括通过对基于评价矩阵得到的用户嵌入向量进行非线性变换而获得的嵌入向量以及通过对基于评价矩阵得到的对象嵌入向量进行非线性变换而获得的嵌入向量。
8.如权利要求7所述的系统,其中,所述交互函数的统一表示为:
Figure FDA0003366912730000048
其中,
Figure FDA0003366912730000049
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure FDA00033669127300000410
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure FDA00033669127300000411
是表示用于使用从预设的多种向量运算算子选择的向量运算算子对输入的嵌入向量
Figure FDA00033669127300000412
Figure FDA00033669127300000413
执行向量运算的向量运算函数,
Figure FDA00033669127300000414
中的第l个 元素
Figure FDA0003366912730000051
Figure FDA0003366912730000052
中的第l个 元素
Figure FDA0003366912730000053
g(β;x)是用于基于超参数x对输入的标量
Figure FDA0003366912730000054
执行简单非线性变换的非线性变换函数并且
Figure FDA0003366912730000055
超参数x用于控制非线性变换函数g(β;x),
其中,交互函数搜索空间F由具有不同超参数p和q的交互函数构成。
9.如权利要求7所述的系统,其中,所述交互函数的统一表示为:
Figure FDA0003366912730000056
其中,
Figure FDA0003366912730000057
是基于评价矩阵得到的用户嵌入向量集合U中的第i列,表示针对用户i的嵌入向量,
Figure FDA0003366912730000058
是基于评价矩阵得到的对象嵌入向量集合V中的第j列,并且表示针对对象j的嵌入向量,k表示嵌入向量的维度,
Figure FDA0003366912730000059
是表示用于使用预设的多种向量运算算子中的第h个向量运算算子对输入的嵌入向量
Figure FDA00033669127300000510
Figure FDA00033669127300000511
执行向量运算的向量运算函数,
Figure FDA00033669127300000512
且h为整数,
Figure FDA00033669127300000513
是所述预设的多种向量运算算子的数量,超参数a=[αh],C={a|||a||0=1,0≤αh≤1},
Figure FDA00033669127300000514
中的第l个 元素
Figure FDA00033669127300000515
Figure FDA00033669127300000516
中的第l个 元素
Figure FDA00033669127300000517
g(β;x)是用于基于超参数x对输入的标量
Figure FDA00033669127300000518
执行简单非线性变换的非线性变换函数并且
Figure FDA00033669127300000519
超参数x用于控制非线性变换函数g(β;x),
其中,交互函数搜索空间F由具有不同超参数a、p和q的交互函数构成。
10.如权利要求8所述的系统,其中,交互函数确定装置被配置为基于以下表达式在交互函数搜索空间F中确定最佳交互函数f*作为所述相应交互函数:
Figure FDA00033669127300000520
s.t.[U*,V*,w*]=argU,V,wminF(U,V,w)
其中,
Figure FDA00033669127300000521
其中,O是评价矩阵且
Figure FDA00033669127300000522
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure FDA00033669127300000523
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure FDA0003366912730000061
指示,[U*,V*,w*]是基于交互函数搜索空间F中的交互函数f,使用训练集Ω对F(U,V,w)进行训练得到的优化嵌入向量集,M(f(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集[U*,V*,w*]和验证集
Figure FDA0003366912730000062
来测量该交互函数f的性能,l(wTf(ui,vj),Oij)是损失函数,f*是交互函数搜索空间F中在验证集
Figure FDA0003366912730000063
上具有最高性能的交互函数。
11.如权利要求9所述的系统,其中,交互函数确定装置被配置为基于以下表达式确定最佳交互函数fα *的超参数集合S*={a*,p*,q*}:
S*=argSminH(S)
其中,
Figure FDA0003366912730000064
s.t.a∈C并且
T*=artTminFα(T;S)
其中,
T={U,V,w},T*={U*,V*,w*},并且S={a,p,q},
Figure FDA0003366912730000065
其中,O是评价矩阵且
Figure FDA0003366912730000066
Oij是表示用户i对对象j的评价的标量,m表示用户数量,n表示对象的数量,w是线性预测器,λ是预设的超参数并且λ≥0,Ω是训练集并且评价矩阵O中的能够观察到的矩阵元素的第一集合由Ω指示,
Figure FDA0003366912730000067
是验证集并且评价矩阵O中的能够观察到的矩阵元素的第二集合由
Figure FDA0003366912730000068
指示,T*是基于交互函数搜索空间F中的交互函数fα,使用训练集Ω对Fα(T;S)进行训练得到的优化嵌入向量集,M(fα(ui *,vj *)Tw*,Oij)用于基于所述嵌入向量集T*和验证集
Figure FDA0003366912730000069
来测量该交互函数fα的性能,l(wTfα(ui,vj),Oij)是损失函数,S*是与交互函数搜索空间F中在验证集
Figure FDA00033669127300000610
上具有最高性能的交互函数对应的超参数集合,并且
交互函数确定装置基于超参数集合S*在交互函数搜索空间F中确定最佳交互函数fα *
12.如权利要求11所述的系统,其中,交互函数确定装置通过以下操作来确定超参数集合S*={a*,p*,q*}:
在交互函数搜索空间F中随机选择一具有超参数a、p和q的交互函数f;
通过执行至少一次迭代操作来更新所述超参数a、p和q;
将更新后的超参数a、p和q分别确定为a*,p*,q*
其中,每次迭代操作包括以下操作:
使
Figure FDA0003366912730000071
其中,ab是通过对超参数a执行懒惰临近迭代获得的且
Figure FDA0003366912730000072
C1={a|||a||0=1},C2={a|0≤αh≤1},ε>0是预设超参数,C=C1∩C2
使
Figure FDA0003366912730000073
Figure FDA0003366912730000074
以及
通过关于Fα(T;S)进行梯度下降来更新T,
其中,
Figure FDA0003366912730000075
Figure FDA0003366912730000076
Figure FDA0003366912730000077
其中,
Figure FDA0003366912730000078
M(S,T)=M(fα(ui *,vj *)Tw*,Oij),
其中,
Figure FDA0003366912730000079
表示关于参数x对函数F()求一阶导数的结果,
Figure FDA00033669127300000710
表示首先关于参数x对函数F()求出一阶导数
Figure FDA00033669127300000711
然后再关于参数y对
Figure FDA00033669127300000712
求二阶导数的结果。
13.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的方法。
14.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的方法。
CN201910576468.8A 2019-06-28 2019-06-28 实现用户相关推荐的方法和系统 Active CN110288444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910576468.8A CN110288444B (zh) 2019-06-28 2019-06-28 实现用户相关推荐的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910576468.8A CN110288444B (zh) 2019-06-28 2019-06-28 实现用户相关推荐的方法和系统

Publications (2)

Publication Number Publication Date
CN110288444A CN110288444A (zh) 2019-09-27
CN110288444B true CN110288444B (zh) 2022-03-01

Family

ID=68019597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910576468.8A Active CN110288444B (zh) 2019-06-28 2019-06-28 实现用户相关推荐的方法和系统

Country Status (1)

Country Link
CN (1) CN110288444B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111402003B (zh) * 2020-03-13 2023-06-13 第四范式(北京)技术有限公司 实现用户相关推荐的系统和方法
CN115203585B (zh) * 2022-09-15 2022-12-27 江苏鸿程大数据技术与应用研究院有限公司 一种协同过滤模型的自动化架构搜索方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077351A (zh) * 2014-05-26 2014-10-01 东北师范大学 基于异构信息网络的内容提供方法及系统
CN107368540A (zh) * 2017-06-26 2017-11-21 北京理工大学 基于用户自相似度的多模型相结合的电影推荐方法
US20180053210A1 (en) * 2016-08-17 2018-02-22 Adobe Systems Incorporated Personalization of Digital Content Recommendations
CN108320187A (zh) * 2018-02-02 2018-07-24 合肥工业大学 一种基于深度社交关系的推荐方法
CN108694232A (zh) * 2018-04-26 2018-10-23 武汉大学 一种基于信任关系特征学习的社会化推荐方法
CN109241442A (zh) * 2018-10-10 2019-01-18 南京邮电大学 基于预测值填充的项目推荐方法、可读存储介质和终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077351A (zh) * 2014-05-26 2014-10-01 东北师范大学 基于异构信息网络的内容提供方法及系统
US20180053210A1 (en) * 2016-08-17 2018-02-22 Adobe Systems Incorporated Personalization of Digital Content Recommendations
CN107368540A (zh) * 2017-06-26 2017-11-21 北京理工大学 基于用户自相似度的多模型相结合的电影推荐方法
CN108320187A (zh) * 2018-02-02 2018-07-24 合肥工业大学 一种基于深度社交关系的推荐方法
CN108694232A (zh) * 2018-04-26 2018-10-23 武汉大学 一种基于信任关系特征学习的社会化推荐方法
CN109241442A (zh) * 2018-10-10 2019-01-18 南京邮电大学 基于预测值填充的项目推荐方法、可读存储介质和终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Matrix factorization in Cross-domain Recommendations Framework by Shared Users Latent Factors;A.K. Sahu, P. Dwivedi;《Procedia Computer Science》;20181231;第387-394页 *
OBOE: Collaborative Filtering for AutoML Initialization;C.R. YANG 等;《https://arxiv.org/pdf/1808.03233v1.pdf》;20180809;第1-18页 *
基于图书语义信息的推荐方法研究;严凡,张霁月;《图书馆学援救》;20181231;第40-45页 *

Also Published As

Publication number Publication date
CN110288444A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
US11068658B2 (en) Dynamic word embeddings
CN109389168B (zh) 项目推荐模型训练方法、项目推荐方法以及装置
US11861464B2 (en) Graph data structure for using inter-feature dependencies in machine-learning
GB2560410A (en) Loop and library fusion
US20150058331A1 (en) Search result ranking using machine learning
US10290040B1 (en) Discovering cross-category latent features
EP4181026A1 (en) Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium
US10572929B2 (en) Decision factors analyzing device and decision factors analyzing method
CN103502899A (zh) 动态预测建模平台
US20190228105A1 (en) Dynamic website content optimization
CN107273979B (zh) 基于服务级别来执行机器学习预测的方法及系统
EP4242955A1 (en) User profile-based object recommendation method and device
JP6334431B2 (ja) データ分析装置、データ分析方法、およびデータ分析プログラム
CN111931054B (zh) 一种基于改进残差结构的序列推荐方法和系统
CN111738780A (zh) 一种推荐对象的方法及系统
US20140058882A1 (en) Method and Apparatus for Ordering Recommendations According to a Mean/Variance Tradeoff
CN110288444B (zh) 实现用户相关推荐的方法和系统
CN111783810A (zh) 用于确定用户的属性信息的方法和装置
CN111402003B (zh) 实现用户相关推荐的系统和方法
CN111680213B (zh) 信息推荐方法、数据处理方法及装置
CN111461757B (zh) 信息处理方法及装置、计算机存储介质、电子设备
CN113592593A (zh) 序列推荐模型的训练及应用方法、装置、设备及存储介质
Chang et al. Combining STRONG with screening designs for large-scale simulation optimization
CN111967941A (zh) 一种构建序列推荐模型的方法和序列推荐方法
US10204362B2 (en) Marketplace listing analysis systems and methods

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