CN109255099B - 一种计算机可读存储介质、数据处理方法、装置及服务器 - Google Patents
一种计算机可读存储介质、数据处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN109255099B CN109255099B CN201810822141.XA CN201810822141A CN109255099B CN 109255099 B CN109255099 B CN 109255099B CN 201810822141 A CN201810822141 A CN 201810822141A CN 109255099 B CN109255099 B CN 109255099B
- Authority
- CN
- China
- Prior art keywords
- matrix
- iteration
- block
- target
- feature
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种计算机可读存储介质、数据处理方法、装置及服务器,在所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时,所述处理器对稀疏矩阵以及低秩矩阵构成的目标矩阵进行奇异值分解,通过目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵,根据第一分解因子矩阵以及第二分解因子矩阵,确定目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵。上述方案中,通过构建由稀疏矩阵和低秩矩阵组成的目标矩阵来表征目标图数据,在对该种结构的目标矩阵进行分解时,能够节约运算空间,提高运算速度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种计算机可读存储介质、数据处理方法、装置及服务器。
背景技术
在进行关系数据挖掘时,通常将数据看成是一个图,例如,将支付系统中的用户看成节点,将用户之间的关系看成节点之间的边。对于图数据来说,可以通过图嵌入表示技术来进行数据挖掘,即把图上的每个节点用一个向量来表示,两个节点的相似度可以通过对应的两个向量来计算。因此,在图嵌入表示技术中,如何快速准确的求解每个节点的表示向量是相当重要的。
发明内容
本说明书实施例提供及一种计算机可读存储介质、数据处理方法、装置及服务器。
第一方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取目标图数据;
根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵。
第二方面,本说明书实施例提供一种基于分布式矩阵分解的数据处理方法,包括:
获取目标图数据,其中,目标图包括节点集合以及边集合;
根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
第三方面,本说明书实施例提供一种基于分布式矩阵分解的数据处理装置,包括:
数据获取模块,用于获取目标图数据,其中,目标图包括节点集合以及边集合;
矩阵构建模块,用于根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
第一处理模块,用于根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
第二处理模块,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
第四方面,本说明书实施例提供一种服务器,包括:
数据获取模块,用于获取目标图数据,以及根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,其中,目标图包括节点集合以及边集合;
工作子服务器,用于加载目标矩阵;
参数子服务器,用于加载预设参数矩阵;
所述工作子服务器,用于根据所述目标矩阵以及在所述参数子服务器上获取的所述预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
所述工作子服务器,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
第五方面,本说明书实施例提供一种基于分布式矩阵分解的数据处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的基于分布式矩阵分解的数据处理方法中,获取目标图数据,根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵。本书实施例中的方案,通过构建由稀疏矩阵和低秩矩阵组成的目标矩阵来表征目标图数据,在对该种结构的目标矩阵进行分解时,能够节约运算空间,提高运算速度。另外,本说明书中的方案对目标矩阵的规模没有限定,当目标矩阵为超大规模的矩阵时,上述方案依然适用,本说明书中方案具有普适性,能够实现对超大规模矩阵的有效分解。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例第一方面提供的一种计算机可读存储介质中计算机程序的流程图;
图2为本说明书实施例第三方面提供的一种基于分布式矩阵分解的数据处理装置的示意图;
图3为本说明书实施例第四方面提供的一种服务器的示意框图;
图4为本说明书实施例提供的一种服务器的结构示意图;
图5为本说明书实施例第四方面提供的基于分布式矩阵分解的数据处理装置的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供的一种计算机可读存储介质,其上存储有计算机程序,如图1所示,该程序被处理器执行时实现以下步骤:
S11:获取目标图数据;
图可以用来表示各种类型的结构和系统,图可以用节点集合以及边集合来描述,对于节点集合中的任意两个节点,可以有边连接,也可以没有边连接,因此,可以通过定义权重来确定节点与节点之间的连接关系。
本说明书实施例中,目标图可以为用来表示任意结构或系统的图,如目标图可以为支付系统用户关联的图、通信网络图、交通网络图等,目标图可以是有向图或无向图,这里不做限定。目标图数据可以为目标图中包含的数据,如节点属性数据、边数据。以A支付系统用户关联图为例,目标图数据可以包括A支付系统中各个用户的特征数据,用户之间的关联数据等。获取目标图数据可以在存储有目标图数据的存储器中进行读取、接收云端服务器发送的目标图数据、或通过其他方式进行获取。
S12:根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
本说明书实施例中,通过节点与节点之间的权重可以得到图的邻接矩阵,邻接矩阵中的每个元素为对应两个节点之间的权重值。仍以A支付系统用户关联图为例,假设A支付系统中的用户数量为n,那么这n个用户可以作为图中的节点,根据用户与用户之间的关系(如好友关系、交易关系等)确定权重值,因此,可以构建一个n行n列的邻接矩阵。需要说明的是,对于用户数量庞大的系统来说,每个用户与其他小部分的用户之间存在关联,因此,该邻接矩阵是非常稀疏的。
另外,可以根据节点的自身特征来构建低秩矩阵。仍以A支付系统用户关联图为例,每个用户自身包含了多种特征,例如职业、资产等,可以将这些特征数据构建一个低秩矩阵,或者将用户与用户之间的相似性来构建低秩矩阵。在一个实施例中,该低秩矩阵中各个元素的取值为1或0。
目标矩阵可以由稀疏矩阵和低秩矩阵构成。目标矩阵也可以为预设矩阵或其他模块导出的已知矩阵,这种情况下目标矩阵可以分解为稀疏矩阵和低秩矩阵,稀疏矩阵和低秩矩阵的数量可以根据实际需要进行设定,在一个实施例中,目标矩阵由一个稀疏矩阵和一个低秩矩阵构成,该稀疏矩阵为超大规模,例如,稀疏矩阵为4亿乘4亿的矩阵。
S13:根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
本说明书实施例中的方案,目的是对目标矩阵进行截断奇异值分解(truncatedsingular value decomposition,TSVD),即求解出目标矩阵最大的若干个奇异值,以及相应的左右两个奇异向量矩阵。由于左奇异向量矩阵以及右奇异向量矩阵均为正交矩阵,在计算过程中存在限制,因此,本说明书实施例中,采用第一分解因子矩阵以及第二分解因子矩阵作为两个分解因子,来进行TSVD。应理解的是,TSVD具有误差逼近的最优性,即其中G为目标矩阵,U为左奇异向量矩阵,V为右奇异向量矩阵,S为奇异值矩阵,可以将上式转化为通过第一分解因子矩阵以及第二分解因子矩阵求解其中,W为第一分解因子矩阵,H为第二分解因子矩阵。
预设参数矩阵可以根据实际需要进行选择,预设参数矩阵可以是随机生成的,也可以是预先设置好的。在一个实施例中,预设参数矩阵为高斯随机矩阵,矩阵中的每个元素均为服从高斯分布的随机数。应理解的是,第一分解因子矩阵以及第二分解因子矩阵的列数可以大于TSVD处理后最终得到的左、右奇异向量矩阵的列数,在一个实施例中,第一分解因子矩阵的列数为目标矩阵做TSVD后得到的左奇异向量矩阵列数的二倍。这样,与第一分解因子矩阵以及第二分解因子矩阵对应的奇异值数量会大于最终得到的奇异值数量,便于最终奇异值的选取。
S14:根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵。
本说明书实施例中,可以对第一分解因子矩阵以及第二分解因子矩阵做规范化处理,例如进行三角矩阵变化等,得到最大的若干个奇异值,以及与若干个奇异值对应的左奇异向量矩阵以及右奇异向量矩阵。左奇异矩阵、右奇异向量矩阵、奇异值矩阵均可以作为目标图中各个节点的表示向量。以左奇异向量矩阵为例,左奇异向量矩阵的第i行可以作为节点i的一个表示向量,能够反映节点i在拓扑结构上的特征。应理解的是,各个节点的表示向量可以为低维度的表示向量,能够作为其他模型的输入,例如营销模型、风险模型、信用违约评估模型、以便于对节点的特征、节点与节点之间的相似度等进行分析。
可选地,所述根据目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵,包括:迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵进行迭代,直到迭代次数为预设迭代次数;将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
本说明书实施例中,通过多次迭代处理来保证第一分解因子矩阵以及第二分解因子矩阵的准确度,预设迭代次数可以根据实际需要进行选择,在一个实施例中,预设迭代次数为10次。为了便于最终奇异值的选取,第一迭代矩阵以及第二迭代矩阵的列数,可以大于TSVD处理后最终得到的左、右奇异向量矩阵的列数。
为了方便理解,下面以预设迭代次数为2次为例来进行说明,在该实施例中,预设参数矩阵为随机生成的高斯随机矩阵,在第一次迭代处理中,根据目标矩阵以及高斯随机矩阵,计算获得第一迭代矩阵,再根据第一迭代矩阵以及目标矩阵,计算获得第二迭代矩阵。在第二次迭代处理中,将第一次迭代处理获得的第二迭代矩阵作为预设参数矩阵,即根据第一次迭代处理获得的第二迭代矩阵以及目标矩阵,获得新的第一迭代矩阵,再根据新的第一迭代矩阵以及目标矩阵,获得新的第二迭代矩阵。那么在第二次迭代处理中获得的新的第一迭代矩阵即为第一分解因子矩阵,在第二次迭代处理中获得的新的第二迭代矩阵即为第二分解因子矩阵。
应理解的是,第一迭代矩阵的计算方式可以根据实际需要进行选择,在一个实施例中,可以采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1.......................(1)
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
由于第一迭代矩阵与第二迭代矩阵是互相对应的,因此可以采用相同的方式获得第二迭代矩阵,即采用以下公式获得第二迭代子矩阵:
H=GTW(WTW)-1......................(2)
其中,H为第二迭代矩阵,W为所述第一迭代矩阵,G为所述目标矩阵。
可选地,所述根据所述目标图数据,构建目标矩阵,包括:根据所述目标图数据,构建邻接矩阵,所述邻接矩阵为所述稀疏矩阵;根据所述目标图数据,构建用于表征目标图节点特征的第一特征矩阵以及第二特征矩阵;根据所述邻接矩阵、所述第一特征矩阵以及所述第二特征矩阵,采用以下公式构建所述目标矩阵:
本说明书实施例中,根据图中节点与节点之间的权重可以得到图的邻接矩阵,该邻接矩阵为稀疏矩阵。为了丰富节点的信息,可以将节点自身的属性考虑进来,利用节点自身的属性特征建第一特征矩阵以及第二特征矩阵,第一特征矩阵以及第二特征矩阵均为瘦长矩阵,即第一特征矩阵和第二特征矩阵的列数远小于行数,第一特征矩阵和第二特征矩阵能够构成低秩矩阵。
以A支付系统用户关联图为例,A支付系统中包含有4亿个用户,根据用户与用户之间的联系,如是否为好友、是否发生过转账等,构建邻接矩阵,该邻接矩阵为4亿乘4亿的矩阵。由于每个用户自身包含了许多特征,如年龄、性别、职业、资产等,将这些特征转化为哑变量构建第一特征矩阵,在该第一特征矩阵中,每一行可以代表一个用户的特征信息。例如,第i行代表用户i的特征信息,第i行第1列用来表示用户i的职业信息,第i行第2列用来表示用户i的资产信息等。对于庞大的用户数量来说,特征信息的数量较少,因此,第一特征矩阵为一瘦长矩阵,例如,第一特征矩阵为4亿乘100的瘦长矩阵。第二特征矩阵与第一特征矩阵可以相同,也可以不同,以上述第一特征矩阵为4亿乘100的矩阵为例,第二特征矩阵可以与第一特征矩阵相同,第二特征矩阵还可以是第一特征矩阵的部分矩阵,例如,第二特征矩阵为第一特征矩阵的前m行元素组成的矩阵,为低秩矩阵,可以用来表示用户各个特征之间的相似性。
将公式(3)分别带入公式(1)和(2)中,可以得到以下公式:
W=(AH0+Y1Y2 TH0)(H0 TH0)-1....................(4)
H=(ATW+Y2Y1 TW)(WTW)-1..................(5)
应理解的是,当A为超大规模矩阵时,公式(4)和公式(5)的求解会变的十分复杂,本说明书实施例中,通过分块处理的方式来优化对超大规模矩阵的分解。
在对第一分解因子矩阵进行分块求解时,可选地,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1.......................(6)
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
本说明书实施例中,N可以根据实际情况进行限定,分块处理可以按照列划分,也可以按照行划分,本说明书实施例不做限定。下面以N为4,将邻接矩阵以及第一特征矩阵按照行进行分块为例,来对第一迭代矩阵的求解过程进行说明。
在该实施例中,将目标矩阵按照行划分为4块,即将邻接矩阵按照行划分为4块,将第一特征矩阵按照行划分为4块,其中,每一个分块邻接矩阵的处理方式均相同。以第一个分块邻接矩阵A1为例,计算A1H0+Y1,1Y2 TH0,其中,在计算A1H0时,由于邻接矩阵为稀疏矩阵,所以A1中存在很多0元素,这就会导致与H0相乘时,相乘的结果为0。例如,当A1的某一行均为0元素时,与H0中对应的列相乘时,结果也均为0,为了减少运算量,以及减小数据占用的空间,可以根据A1的非0元素,在H0中确定出与A1相乘后不为0的列,构成一个新的H0矩阵,例如记作H0(J1,:),其中,J1为与A1相乘后不为0的列,这样,A1H0可以转化为A1(:,J1)H0(J1,:),A1(:,J1)为与J1对应的非0元素组成的矩阵。计算出第一个分块邻接矩阵对应的第一个第一分块迭代矩阵,即:W1=(A1(:,J1)H0(J1,:)+Y1,1Y2 TH0)(H0 TH0)-1。根据同样的方式,分别计算出W2、W3、W4,将W1、W2、W3、W4进行拼接,在该实施例中,按照行拼接,拼接出第一迭代矩阵W。另外,在进行分块计算时,为了后续方便第二迭代矩阵的计算,可以同时计算Y1,i TWi,并进行求和计算得到Y1 TW,以及计算Wi TWi,并进行求和计算得到WTW,当计算第二迭代矩阵时可以直接使用。
可选地,所述根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵,包括:将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1......................(7)
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
本说明书实施例中,第二迭代矩阵的计算方法与第一迭代矩阵的计算方法类似,即通过分块处理N个分块邻接矩阵以及第一迭代矩阵,获得N个第二分块迭代矩阵,将N个第二分块迭代矩阵按照行进行拼接,获得第二迭代矩阵H。在计算第二分块迭代矩阵时,可以使用计算第一迭代矩阵时获得的Y1 TW以及WTW。具体的步骤可以参见上述第一迭代矩阵的计算过程,这里就不在赘述了。
需要说明的是,在计算第二迭代矩阵时,邻接矩阵以及第二特征矩阵的分块数量可以是任意的,例如,将邻接矩阵以及第二特征矩阵的分块数量分别设置为M,M与N不同,每个分块数据仍然可以根据公式(7)来进行计算。另外,根据分块方式的不同,在对多个第一分块迭代矩阵或多个第二分块迭代矩阵进行拼接时,可以采用按行拼接或按列拼接,这里不做限定。
应理解的是,在每次迭代处理过程中,均可以采用上述分块处理的方式来计算每次迭代处理过程中的第一迭代矩阵以及第二迭代矩阵,并将最后一次迭代处理过程中得到的第一迭代矩阵W作为第一分解因子矩阵,将最后一次迭代处理过程中得到的第二迭代矩阵H作为第二分解因子矩阵。
可选地,所述根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,包括:根据所述第一分解因子矩阵,获得第一矩阵;根据所述第二分解因子矩阵,获得第二矩阵;根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵以及所述右奇异向量矩阵。
本说明书实施例中,在获得第一分解因子矩阵W以及第二分解因子矩阵H之后,通过以下步骤计算目标矩阵的左奇异向量矩阵以及右奇异向量矩阵:
获取HTH以及WTW;
将HTH进行乔利斯基分解,得到第一矩阵L1;
将WTW进行乔利斯基分解,得到第二矩阵L2;
对L2 TL1进行奇异值分解(Singular Value Decomposition,SVD),得到对应的左奇异向量矩阵U1、右奇异向量矩阵V1、以及奇异值矩阵d1;
根据预设的最大奇异值的数量,确定奇异值矩阵d,并按照以下公式确定截断奇异值分解的左奇异向量矩阵U、右奇异向量矩阵V:
U=W[(L2 T)-1U1(:,:r)]......................(8)
V=H[(L1 T)-1V1(:r,:)]....................(9)
其中,r为预设的最大奇异值的数量,U1(:,:r)表示在U1中选取与最大的r个奇异值对应的特征向量,V1(:r,:)表示在V1中选取与最大的r个奇异值对应的特征向量,d为在d1中选取了最大的r个奇异值构成的矩阵。应理解的是,由于第一分解因子矩阵与第二分解因子矩阵的列数大于左奇异向量矩阵U、右奇异向量矩阵V,因此,奇异值矩阵d1中包含有数量较多的奇异值,可以根据实际需要,例如,分解的精确度等来确定所需的最大奇异值的数量。
第二方面,本说明书实施例提供一种基于分布式矩阵分解的数据处理方法,该方法包括:
获取目标图数据,其中,目标图包括节点集合以及边集合;
根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
在一种可选实现方式中,所述根据目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵,包括:
迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵,直到迭代次数为预设迭代次数;
将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
在一种可选实现方式中,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
在一种可选实现方式中,所述根据所述目标图数据,构建目标矩阵,包括:
根据所述目标图数据,构建邻接矩阵,所述邻接矩阵为所述稀疏矩阵;
根据所述目标图数据,构建用于表征目标图节点特征的第一特征矩阵以及第二特征矩阵;
根据所述邻接矩阵、所述第一特征矩阵以及所述第二特征矩阵,采用以下公式构建所述目标矩阵:
在一种可选实现方式中,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;
将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
在一种可选实现方式中,所述根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵,包括:
将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
在一种可选实现方式中,所述根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,包括:
根据所述第一分解因子矩阵,获得第一矩阵;
根据所述第二分解因子矩阵,获得第二矩阵;
根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
关于上述方法,其中各个步骤的实现方式已经在本发明实施例提供的计算机可读存储介质的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,本说明书实施例提供一种基于分布式矩阵分解的数据处理装置,如图2所示,为本说明书实施例示出的一种矩阵分解装置的示意图,该装置包括:
数据获取模块21,用于获取目标图数据,其中,目标图包括节点集合以及边集合;
矩阵构建模块22,用于根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成;
第一处理模块23,用于根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
第二处理模块24,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
在一种可选实现方式中,第一处理模块23还包括:
迭代处理模块231,用于执行迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
迭代处理模块231,还用于将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵进行迭代,直到迭代次数为预设迭代次数;
迭代处理模块231,还用于将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
在一种可选实现方式中,迭代模块231,包括:
第一获取模块,用于采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
在一种可选实现方式中,矩阵构建模块22,包括:
邻接矩阵构建模块221,用于根据所述目标图数据,构建邻接矩阵,所述邻接矩阵为所述稀疏矩阵;
特征矩阵构建模块222,用于根据所述目标图数据,构建用于表征目标图节点特征的第一特征矩阵以及第二特征矩阵;
目标矩阵构建模块223,用于根据所述邻接矩阵、所述第一特征矩阵以及所述第二特征矩阵,采用以下公式构建所述目标矩阵:
在一种可选实现方式中,迭代模块231,包括:
第一分块处理模块,用于将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;
第二分块处理模块,用于将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;
第二获取模块,用于根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
第三获取模块,用于将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
在一种可选实现方式中,迭代模块231,包括:
第三分块处理模块,用于将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;
第四获取模块,用于根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
第五获取模块,用于将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
在一种可选实现方式中,第二处理模块24,包括:
第三处理模块,用于根据所述第一分解因子矩阵,获得第一矩阵;
第四处理模块,用于根据所述第二分解因子矩阵,获得第二矩阵;
第五处理模块,用于根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
关于上述装置,其中各个模块的具体功能已经在本发明实施例提供的计算机可读存储介质的实施例中进行了详细描述,此处将不做详细阐述说明。
第四方面,本说明书提供一种服务器,如图3所示,该服务器包括:
数据获取模块31,用于获取目标图数据,以及根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,其中,目标图包括节点集合以及边集合;
工作子服务器32,用于加载目标矩阵;
参数子服务器33,用于加载预设参数矩阵;
工作子服务器32,用于根据所述目标矩阵以及在参数子服务器33上获取的所述预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
工作子服务器32,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
在一种可选实现方式中,工作子服务器32,用于执行迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
参数子服务器33,用于将当前迭代处理的预设参数矩阵更新为上一次迭代处理步骤中得到的第二迭代矩阵;
工作子服务器32,用于将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵进行迭代,直到迭代次数为预设迭代次数;将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
在一种可选实现方式中,所述工作子服务器32,用于采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
在一种可选实现方式中,数据处理模块31用于:
根据所述目标图数据,构建邻接矩阵,所述邻接矩阵为所述稀疏矩阵;
根据所述目标图数据,构建用于表征目标图节点特征的第一特征矩阵以及第二特征矩阵;
根据所述邻接矩阵、所述第一特征矩阵以及所述第二特征矩阵,采用以下公式构建所述目标矩阵:
在一种可选实现方式中,所述第一邻接矩阵由N个分块邻接矩阵构成,所述第一特征矩阵由N个第一分块特征矩阵构成,N为大于1的正整数;
工作子服务器32包括多个工作设备,所述多个工作设备中的每个工作设备用于加载所述N个分块邻接矩阵中的一个分块邻接矩阵,以及所述N个第一分块特征矩阵中的一个第一分块特征矩阵;
所述每个工作设备,用于按照以下公式获取与加载的所述一个分块邻接矩阵对应的第一分块迭代矩阵,所述多个工作设备共计获取N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
参数子服务器33,用于将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
在一种可选实现方式中,所述第二特征矩阵由N个第二分块低秩矩阵构成;
所述多个工作设备中的每个工作设备用于加载所述N个分块邻接矩阵中的一个分块邻接矩阵,以及所述N个第二分块特征矩阵中的一个第二分块特征矩阵;
所述每个工作设备,用于按照以下公式获取与加载的所述一个分块邻接矩阵对应的第二分块迭代矩阵,所述多个工作设备共计获取N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
参数子服务器33,用于将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
在一种可选实现方式中,工作子服务器32用于:根据所述第一分解因子矩阵,获得第一矩阵;根据所述第二分解因子矩阵,获得第二矩阵;根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
为了对本说明书实施例提供的服务器进行说明,如图4所示,为本说明书实施例提供的服务器的结构示意图。其中,工作子服务器包括多个工作设备,参数子服务器包括多个参数服务器设备。其中多个参数服务器设备用来存储预设参数矩阵,可以根据参数服务器设备的内存大小,对预设参数矩阵进行分块,例如,存储参数矩阵需要400G的内存,每个参数服务器设备的内存为20G,那么可以将预设参数矩阵划分为20块,存入20个参数服务器设备中。
多个工作设备可以用来加载分块处理后的目标矩阵,以计算第一迭代矩阵为例,多个工作设备用来加载分块处理后的邻接矩阵以及分块处理后的第一特征矩阵。分块处理后的矩阵数据以数据流的方式被工作设备读取。例如,实际需要处理的目标矩阵为4亿行,工作子服务器中包括有100个工作设备,每个工作设备在一次批量处理中能够处理1万行数据,那么平均一个工作设备平均处理400个批次。由于实际上每个工作设备的配置不同,处理效率也会不同,因此可以根据工作设备的计算速度快慢,自动进行调整。每个工作设备可以在多个参数服务器设备中的任意参数服务器中读取所需要的矩阵数据。
下面,以计算第一分解矩阵为例,来对本说明书实施例提供的服务器的处理流程进行说明。在该实施例中,工作子服务器包括4个工作设备,参数服务器设备包括3个服务器设备,通过多次迭代处理过程实现第一分解矩阵以及第二分解矩阵的求解。由于每次迭代处理的步骤均相同,下面以第一次迭代处理为例来进行说明。
在第一次迭代过程中,将预设参数矩阵H0分块存储在3个参数服务器设备中,第二特征矩阵Y2可以加载在工作设备中,也可以加载在参数服务器设备中,参数服务器设备还用于计算并存储H0 TH0以及Y2 TH0,以供后续计算使用。将邻接矩阵以及第一特征矩阵按照行进行分块处理,分别获得4个分块邻接矩阵,以及4个第一分块特征矩阵,并对应装载到4个工作设备中,其中,每个工作设备的处理流程均相同。以第一个工作设备为例,读取第一个分块邻接矩阵A1以及第一个分块特征矩阵Y1,1,同时,在参数服务器设备中获取所需的目标参数矩阵H0(J1,:),以及获取Y2 TH0、H0 TH0,在第一个工作设备上根据下列公式计算W1:W1=(A1(:,J1)H0(J1,:)+Y1,1Y2 TH0)(H0 TH0)-1,第一个工作设备还用于计算Y1,1 TW1以及W1 TW1,并将Y1, 1 TW1以及W1 TW1发送给参数服务器设备。通过相同的方法,各个工作设备分别计算出W2、W3、W4,通过对W1、W2、W3、W4进行拼接得到第一迭代矩阵W,工作设备还将Y1,2 TW2、W2 TW2、Y1,3 TW3、W3 TW3、Y1,4 TW4、W4 TW4发送给参数服务器设备。参数服务器设备对接收到的Y1,i TWi求和,得到Y1 TW,对接收到的Wi TWi求和,得到WTW,其中,i为1~4的正整数。
在第一次迭代过程中计算第二分解因子矩阵时,过程与上述计算第一分解因子矩阵的过程相似,需要说明的是,在计算第二分解因子矩阵H时,可以直接读取Y1 TW以及WTW进行计算。
将第一次迭代过程中得到的第二分解因子矩阵H作为第二次迭代过程中的预设参数矩阵,计算第二次迭代过程中的第一迭代矩阵以及第二迭代矩阵,以此类推,直到达到预设迭代次数为止。将最后一次迭代过程中得到的第一迭代矩阵作为第一分解因子矩阵,将最后一次迭代过程中的第二迭代矩阵作为第二分解因子矩阵。
最后,在工作设备上根据第一分解因子矩阵、第二分解因子矩阵、以及预设的最大奇异值数量,确定目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵。
关于上述服务器,其中各个子服务器的具体功能已经在本发明实施例提供的计算机可读存储介质的实施例中进行了详细描述,此处将不做详细阐述说明。
第五方面,基于与前述实施例中基于分布式矩阵分解的数据处理方法同样的发明构思,本发明还提供一种基于分布式矩阵分解的数据处理装置,如图5所示,包括存储器1104、处理器1102及存储在存储器1104上并可在处理器1102上运行的计算机程序,所述处理器1102执行所述程序时实现前文所述基于分布式矩阵分解的数据处理方法中的步骤。
其中,在图11中,总线架构(用总线1100来代表),总线1100可以包括任意数量的互联的总线和桥,总线1100将包括由处理器1102代表的一个或多个处理器和存储器1104代表的存储器的各种电路链接在一起。总线1100还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口1106在总线1100和接收器1101和发送器1103之间提供接口。接收器1101和发送器1103可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1102负责管理总线1100和通常的处理,而存储器1104可以被用于存储处理器1102在执行操作时所使用的数据。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (23)
1.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取目标图数据,其中,所述目标图数据包括支付系统中各个用户的特征数据,以及用户之间的关联数据;
根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,包括:将所述支付系统中的每个用户分别作为图中的节点,根据用户与用户之间的关系确定权重值,以构建所述稀疏矩阵,以及根据每个用户的特征数据构建所述低秩矩阵;
根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
2.根据权利要求1所述的计算机可读存储介质,所述根据目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵,包括:
迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵,直到迭代次数为预设迭代次数;
将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
3.根据权利要求2所述的计算机可读存储介质,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
5.根据权利要求4所述的计算机可读存储介质,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;
将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
6.根据权利要求5所述的计算机可读存储介质,所述根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵,包括:
将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
7.根据权利要求2所述的计算机可读存储介质,所述根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,包括:
根据所述第一分解因子矩阵,获得第一矩阵;
根据所述第二分解因子矩阵,获得第二矩阵;
根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
8.一种基于分布式矩阵分解的数据处理方法,所述方法包括:
获取目标图数据,其中,目标图包括节点集合以及边集合,所述目标图数据包括支付系统中各个用户的特征数据,以及用户之间的关联数据;
根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,包括:将所述支付系统中的每个用户分别作为图中的节点,根据用户与用户之间的关系确定权重值,以构建所述稀疏矩阵,以及根据每个用户的特征数据构建所述低秩矩阵;
根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
9.根据权利要求8所述的方法,所述根据目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵,包括:
迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵,直到迭代次数为预设迭代次数;
将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
10.根据权利要求9所述的方法,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
12.根据权利要求11所述的方法,所述根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,包括:
将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;
将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
13.根据权利要求12所述的方法,所述根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵,包括:
将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;
根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
14.根据权利要求9所述的方法,所述根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,包括:
根据所述第一分解因子矩阵,获得第一矩阵;
根据所述第二分解因子矩阵,获得第二矩阵;
根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
15.一种基于分布式矩阵分解的数据处理装置,所述装置包括:
数据获取模块,用于获取目标图数据,其中,目标图包括节点集合以及边集合,所述目标图数据包括支付系统中各个用户的特征数据,以及用户之间的关联数据;
矩阵构建模块,用于根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,包括:将所述支付系统中的每个用户分别作为图中的节点,根据用户与用户之间的关系确定权重值,以构建所述稀疏矩阵,以及根据每个用户的特征数据构建所述低秩矩阵;
第一处理模块,用于根据所述目标矩阵以及预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
第二处理模块,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
16.根据权利要求15所述的装置,所述第一处理模块还包括:
迭代处理模块,用于执行迭代处理步骤,所述迭代处理步骤包括:根据所述目标矩阵以及所述预设参数矩阵,获得第一迭代矩阵,根据所述目标矩阵以及所述第一迭代矩阵,获得第二迭代矩阵;
所述迭代处理模块,还用于将上一次迭代处理步骤中得到的第二迭代矩阵作为当前迭代处理步骤的预设参数矩阵进行迭代,直到迭代次数为预设迭代次数;
所述迭代处理模块,还用于将最后一次迭代处理步骤中得到的第一迭代矩阵作为所述第一分解因子矩阵,以及将最后一次迭代处理步骤中得到的第二迭代矩阵作为所述第二分解因子矩阵。
17.根据权利要求16所述的装置,所述迭代模块,包括:
第一获取模块,用于采用以下公式获得所述第一迭代矩阵:
W=GH0(H0 TH0)-1
其中,W为所述第一迭代矩阵,G为所述目标矩阵,H0为所述预设参数矩阵。
19.根据权利要求18所述的装置,所述迭代模块,包括:
第一分块处理模块,用于将所述邻接矩阵进行分块处理,获得N个分块邻接矩阵,N为大于1的正整数;
第二分块处理模块,用于将所述第一特征矩阵进行分块处理,获得N个第一分块特征矩阵;
第二获取模块,用于根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第一分块特征矩阵中的每个第一分块特征矩阵,按照以下公式获得与每个分块邻接矩阵对应的第一分块迭代矩阵,共计获得N个第一分块迭代矩阵:
Wi=(AiH0+Y1,iY2 TH0)(H0 TH0)-1
其中,Wi为与第i个分块邻接矩阵对应的第i个第一分块迭代矩阵,Ai为第i个分块邻接矩阵,Y1,i为第i个第一分块特征矩阵,H0为所述预设参数矩阵,i为1到N的正整数;
第三获取模块,用于将所述N个第一分块迭代矩阵进行拼接,获得所述第一迭代矩阵。
20.根据权利要求19所述的矩阵分解装置,所述迭代模块,包括:
第三分块处理模块,用于将所述第二特征矩阵进行分块处理,获得N个第二分块特征矩阵;
第四获取模块,用于根据所述N个分块邻接矩阵中的每个分块邻接矩阵、所述N个第二分块特征矩阵中的每个第二分块特征矩阵,按照以下公式获得与所述每个分块邻接矩阵对应的第二分块迭代矩阵,共计获得N个第二分块迭代矩阵:
Hi=(Ai TW+Y2,iY1 TW)(WTW)-1
其中,Hi为与第i个分块邻接矩阵对应的第i个第二分块迭代矩阵,Y2,i为第i个第二分块特征矩阵,W为所述第一迭代矩阵,i为1到N的正整数;
第五获取模块,用于将所述N个第二分块迭代矩阵进行拼接,获得所述第二迭代矩阵。
21.根据权利要求16所述的装置,所述第二处理模块,包括:
第三处理模块,用于根据所述第一分解因子矩阵,获得第一矩阵;
第四处理模块,用于根据所述第二分解因子矩阵,获得第二矩阵;
第五处理模块,用于根据所述第一矩阵、所述第二矩阵、以及预设的最大奇异值数量,确定所述左奇异向量矩阵、所述右奇异向量矩阵以及所述奇异值矩阵。
22.一种服务器,所述服务器包括:
数据获取模块,用于获取目标图数据,以及根据所述目标图数据,构建目标矩阵,所述目标矩阵由稀疏矩阵以及低秩矩阵构成,其中,目标图包括节点集合以及边集合,所述目标图数据包括支付系统中各个用户的特征数据,以及用户之间的关联数据,将所述支付系统中的每个用户分别作为图中的节点,根据用户与用户之间的关系确定权重值,以构建所述稀疏矩阵,以及根据每个用户的特征数据构建所述低秩矩阵;
工作子服务器,用于加载目标矩阵;
参数子服务器,用于加载预设参数矩阵;
所述工作子服务器,用于根据所述目标矩阵以及在所述参数子服务器上获取的所述预设参数矩阵,获得第一分解因子矩阵以及第二分解因子矩阵;
所述工作子服务器,用于根据所述第一分解因子矩阵以及所述第二分解因子矩阵,确定所述目标矩阵的左奇异向量矩阵、右奇异向量矩阵以及奇异值矩阵,以得到与所述节点集合中的各个节点对应的表示向量,以便对所述各个节点的特征进行分析。
23.一种基于分布式矩阵分解的数据处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求8-16任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810822141.XA CN109255099B (zh) | 2018-07-24 | 2018-07-24 | 一种计算机可读存储介质、数据处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810822141.XA CN109255099B (zh) | 2018-07-24 | 2018-07-24 | 一种计算机可读存储介质、数据处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109255099A CN109255099A (zh) | 2019-01-22 |
CN109255099B true CN109255099B (zh) | 2023-04-07 |
Family
ID=65048935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810822141.XA Active CN109255099B (zh) | 2018-07-24 | 2018-07-24 | 一种计算机可读存储介质、数据处理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255099B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866806B (zh) * | 2019-11-28 | 2022-09-09 | 武汉瓯越网视有限公司 | 一种识别目标团体的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815322A (zh) * | 2016-12-27 | 2017-06-09 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN107403311A (zh) * | 2017-06-27 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 账户用途的识别方法及装置 |
CN107562795A (zh) * | 2017-08-01 | 2018-01-09 | 广州市香港科大霍英东研究院 | 基于异构信息网络的推荐方法及装置 |
CN107885754A (zh) * | 2016-09-30 | 2018-04-06 | 阿里巴巴集团控股有限公司 | 基于lda模型从交易数据中提取信用变量的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160078520A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Modified matrix factorization of content-based model for recommendation system |
US20160259826A1 (en) * | 2015-03-02 | 2016-09-08 | International Business Machines Corporation | Parallelized Hybrid Sparse Matrix Representations for Performing Personalized Content Ranking |
US10515127B2 (en) * | 2015-04-09 | 2019-12-24 | Oath Inc. | Inductive matrix completion and graph proximity for content item recommendation |
-
2018
- 2018-07-24 CN CN201810822141.XA patent/CN109255099B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885754A (zh) * | 2016-09-30 | 2018-04-06 | 阿里巴巴集团控股有限公司 | 基于lda模型从交易数据中提取信用变量的方法和装置 |
CN106815322A (zh) * | 2016-12-27 | 2017-06-09 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN107403311A (zh) * | 2017-06-27 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 账户用途的识别方法及装置 |
CN107562795A (zh) * | 2017-08-01 | 2018-01-09 | 广州市香港科大霍英东研究院 | 基于异构信息网络的推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于边界矩阵低阶近似和近邻模型的协同过滤算法;温占考等;《计算机应用》;20171210(第12期);全文 * |
融合社交网络信息的协同过滤方法;贺超波等;《暨南大学学报(自然科学与医学版)》;20130615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109255099A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950638B (zh) | 基于模型蒸馏的图像分类方法、装置和电子设备 | |
CN107358293B (zh) | 一种神经网络训练方法及装置 | |
CN111226238A (zh) | 一种预测方法及终端、服务器 | |
CN108833458B (zh) | 一种应用推荐方法、装置、介质及设备 | |
CN110929886A (zh) | 模型训练、预测方法及其系统 | |
Kukelova et al. | A minimal solution to the autocalibration of radial distortion | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
CN111814804B (zh) | 基于ga-bp-mc神经网络的人体三维尺寸信息预测方法及装置 | |
CN110246037A (zh) | 交易特征预测方法、装置、服务器及可读存储介质 | |
EP3961507A1 (en) | Optimal policy learning and recommendation for distribution task using deep reinforcement learning model | |
CN113868523A (zh) | 推荐模型训练方法、电子设备及存储介质 | |
CN111008631A (zh) | 图像的关联方法及装置、存储介质和电子装置 | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
CN109255099B (zh) | 一种计算机可读存储介质、数据处理方法、装置及服务器 | |
CN113077058B (zh) | 一种由用户终端执行的推送模型优化方法和装置 | |
CN113689270B (zh) | 黑产设备的确定方法、电子设备、存储介质及程序产品 | |
CN113158550B (zh) | 一种联邦学习方法、装置、电子设备及存储介质 | |
CN110377769B (zh) | 基于图数据结构的建模平台系统、方法、服务器及介质 | |
CN115202890A (zh) | 数据元件生产资源空间分配方法、系统及设备 | |
CN116402366A (zh) | 基于联合学习的数据贡献评价方法及装置 | |
CN114564801A (zh) | 液压系统模型辨识方法及装置 | |
CN111291019B (zh) | 数据模型的相似判别方法及装置 | |
CN108346080B (zh) | 一种流量套餐组合优化方法及装置 | |
Ashtari Nezhad et al. | The modified permutation entropy-based independence test of time series | |
CN113763080A (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 |