本发明涉及数据处理,尤其是一种推荐方法、装置、电子设备及存储介质。
背景技术:
1、互联网时代飞速发展,海量信息时刻充斥在人们身边,正因如此,人们不得不面临着信息过载的问题。推荐系统在解决这一问题时有着不可或缺的作用。推荐系统中通常包含三类实体集合:用户集合、物品集合(如视频,音乐,电影等)、用户与物品间的历史交互记录集合(如观看或收听时长,评分信息等)。因此推荐系统能够收集用户和物品间的显式或隐式偏好信息,在社交网络、云服务、文本挖掘、电子商务等领域有着非常广泛的应用。
2、推荐系统的主要任务是从用户与物品间的历史交互记录中挖掘出能够准确描述用户和物品的信息,并以此为基础利用这些信息预测未观测到的用户-物品关系对。研究人员为了更好地实现这一目的,在过往的研究中提出了许多方法,这些方法可分为三类:基于内容的推荐系统,协同过滤推荐系统和混合方法推荐系统。这三类方法中,协同过滤推荐系统由于其效果突出,显得尤为重要。而在协同过滤推荐系统涉及的众多模型中,矩阵分解模型又是一类推荐准确度高并且泛化性优秀的模型。lee等人提出非负乘法更新规则,只需在初始状态下让参数具有非负性就能够使得模型在整个训练过程中均能保证参数的非负性,并基于此实现了非负矩阵分解。
3、现今,在大数据的影响下,推荐系统涉及的三类实体集合中的实体数量越来越庞大,因此研究人员通常需要使用高维稀疏矩阵描述这些海量实体之间的关系。高维稀疏矩阵中的每一行都表示一位用户,每一列都表示一个物品实体,而矩阵中的元素表示对应的用户(行)对物品(列)的评分关系。高维稀疏矩阵不仅包含了海量的实体,同时也包含着由于实体数量过于庞大无法观测到所有元素导致的大量未知值。过往研究中的非负矩阵分解模型只适用于完全矩阵,难以处理这类存在大量未知值的高维稀疏矩阵。尽管zhang等人提出带权重的非负矩阵分解模型,引入中间矩阵使高维稀疏矩阵可以用矩阵分解的模型解决,但与此同时带来了不可接受的高额时间开销与存储开销。
技术实现思路
1、有鉴于此,本发明实施例提供一种推荐方法、装置、电子设备及存储介质,能够高效准确进行物品推荐。
2、一方面,本发明的实施例提供了一种推荐方法,包括:
3、获取评分矩阵,根据评分矩阵确定训练集和验证集;评分矩阵表征不同目标对象和不同物品的对应关系及评分值;
4、根据评分矩阵,结合预设的隐空间的秩,初始化第一矩阵;第一矩阵包括决策参数矩阵、隐因子矩阵、偏差决策参数矩阵和偏差隐因子矩阵;
5、基于第一矩阵,获得训练集中每个元素对应的预测值;
6、根据预测值与评分值的误差,通过随机梯度下降更新第一矩阵;
7、基于更新后的第一矩阵,通过验证集确定评估指标,然后返回基于第一矩阵,获得训练集中每个元素对应的预测值这一步骤,直至相邻两次的评估指标的差距小于预设阈值或者达到预设训练轮次;
8、根据最后一次更新得到的第一矩阵进行各目标对象的物品推荐。
9、可选地,根据评分矩阵,结合预设的隐空间的秩,初始化第一矩阵,包括:
10、根据评分矩阵确定目标对象数量和物品数量;
11、基于目标对象数量,结合预设的隐空间的秩,初始化目标对象的第一矩阵;
12、基于物品数量,结合预设的隐空间的秩,初始化物品的第一矩阵。
13、可选地,基于目标对象数量,结合预设的隐空间的秩,初始化目标对象的第一矩阵,包括:
14、基于目标对象数量,结合预设的隐空间的秩,通过预设区间的随机值初始化目标对象的决策参数矩阵和偏差决策参数矩阵;
15、根据目标对象的决策参数矩阵和偏差决策参数矩阵,通过非负映射对应得到目标对象的隐因子矩阵和偏差隐因子矩阵。
16、可选地,基于物品数量,结合预设的隐空间的秩,初始化物品的第一矩阵,包括:
17、基于物品数量,结合预设的隐空间的秩,通过预设区间的随机值初始化物品的决策参数矩阵和偏差决策参数矩阵;
18、根据物品的决策参数矩阵和偏差决策参数矩阵,通过非负映射对应得到物品的隐因子矩阵和偏差隐因子矩阵。
19、可选地,基于第一矩阵,获得训练集中每个元素对应的预测值,包括:
20、对目标对象的隐因子矩阵的向量与物品的隐因子矩阵的向量进行内积运算;
21、基于内积运算的结果,结合目标对象的偏差隐因子矩阵的元素与物品的偏差隐因子矩阵的元素,获得训练集中每个元素对应的预测值。
22、可选地,根据预测值与评分值的误差,通过随机梯度下降更新第一矩阵,包括:
23、根据预测值与评分值的误差,分别确定决策参数矩阵和偏差决策参数矩阵在当前状态的梯度;
24、基于随机梯度下降算法,通过梯度和预设的学习率更新决策参数矩阵和偏差决策参数矩阵;
25、基于更新后的决策参数矩阵和偏差决策参数矩阵,通过非负映射获得预期状态,进而根据预期状态更新动量项;
26、基于更新后的动量项,通过非负处理结合预期状态更新隐因子矩阵和偏差隐因子矩阵。
27、可选地,根据最后一次更新得到的第一矩阵进行各目标对象的物品推荐,包括:
28、根据最后一次更新得到的第一矩阵,获得各目标对象对应每个物品的评分预测值;
29、基于评分预测值,确定各目标对象对应不同物品的推荐优先级;
30、根据推荐优先级进行各目标对象的物品推荐。
31、另一方面,本发明的实施例提供了一种推荐装置,包括:
32、第一模块,用于获取评分矩阵,根据评分矩阵确定训练集和验证集;评分矩阵表征不同目标对象和不同物品的对应关系及评分值;
33、第二模块,用于根据评分矩阵,结合预设的隐空间的秩,初始化第一矩阵;第一矩阵包括决策参数矩阵、隐因子矩阵、偏差决策参数矩阵和偏差隐因子矩阵;
34、第三模块,用于基于第一矩阵,获得训练集中每个元素对应的预测值;
35、第四模块,用于根据预测值与评分值的误差,通过随机梯度下降更新第一矩阵;
36、第五模块,用于基于更新后的第一矩阵,通过验证集确定评估指标,然后返回基于第一矩阵,获得训练集中每个元素对应的预测值这一步骤,直至相邻两次的评估指标的差距小于预设阈值或者达到预设训练轮次;
37、第六模块,用于根据最后一次更新得到的第一矩阵进行各目标对象的物品推荐。
38、另一方面,本发明的实施例提供了一种电子设备,包括处理器以及存储器;
39、存储器用于存储程序;
40、处理器执行程序实现如前面的方法。
41、另一方面,本发明的实施例提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现如前面的方法。
42、本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
43、本发明实施例首先获取评分矩阵,根据评分矩阵确定训练集和验证集;评分矩阵表征不同目标对象和不同物品的对应关系及评分值;根据评分矩阵,结合预设的隐空间的秩,初始化第一矩阵;第一矩阵包括决策参数矩阵、隐因子矩阵、偏差决策参数矩阵和偏差隐因子矩阵;基于第一矩阵,获得训练集中每个元素对应的预测值;根据预测值与评分值的误差,通过随机梯度下降更新第一矩阵;基于更新后的第一矩阵,通过验证集确定评估指标,然后返回基于第一矩阵,获得训练集中每个元素对应的预测值这一步骤,直至相邻两次的评估指标的差距小于预设阈值或者达到预设训练轮次;根据最后一次更新得到的第一矩阵进行各目标对象的物品推荐。本发明实施例通过随机梯度下降优化方法,以此提高了模型的泛化性;其次,本发明通过决策参数矩阵、隐因子矩阵、偏差决策参数矩阵和偏差隐因子矩阵引入线性偏差以描述不同的用户实体和物品实体间的个性化偏差,用以减少由实体所具备的特殊性所造成的影响。本发明实施例能够高效准确的进行物品推荐。