CN112529115B - 一种对象聚类方法和系统 - Google Patents

一种对象聚类方法和系统 Download PDF

Info

Publication number
CN112529115B
CN112529115B CN202110159392.6A CN202110159392A CN112529115B CN 112529115 B CN112529115 B CN 112529115B CN 202110159392 A CN202110159392 A CN 202110159392A CN 112529115 B CN112529115 B CN 112529115B
Authority
CN
China
Prior art keywords
node
nodes
cluster
loss function
neural network
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
CN202110159392.6A
Other languages
English (en)
Other versions
CN112529115A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110159392.6A priority Critical patent/CN112529115B/zh
Priority to CN202110714723.8A priority patent/CN113313208A/zh
Publication of CN112529115A publication Critical patent/CN112529115A/zh
Application granted granted Critical
Publication of CN112529115B publication Critical patent/CN112529115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Abstract

本说明书涉及一种对象聚类方法和系统,在该方法包括基于多个对象及对象间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息;对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定对象聚类结果,其中一轮迭代更新包括:利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;确定每个类簇的中心点的嵌入向量,并计算各节点与其所在类簇的中心点的距离;调整所述图神经网络模型的模型参数。

Description

一种对象聚类方法和系统
技术领域
本说明书涉及图数据处理领域,特别涉及一种基于图数据的对象聚类方法和系统。
背景技术
在各种场景中,对对象进行聚类的需求广泛存在。对象可以是任一实体或信息项,仅作为示例,对象可以是商品、设备、用户,或者是图像、文本、音频数据,又或者对象可以是用户社交账号等等。由于一个对象很可能涉及较多的信息(如属性信息、特征信息等),对象之间很可能存在错综复杂的关联关系,因此对对象进行分类是一个较为困难的任务。
因此,有必要提出一种对象聚类方法,实现高效且准确的聚类。
发明内容
本说明书实施例之一提供一种对象聚类方法,所述方法包括:基于多个对象及对象间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与对象对应,所述节点间的边权信息反映对应对象间的关联关系;对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定对象聚类结果,其中一轮迭代更新包括:利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
本说明书实施例之一提供一种对象聚类系统,包括:构造模块,用于基于多个对象及对象间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与对象对应,所述节点间的边权信息反映对应对象间的关联关系;迭代模块,用于对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定对象聚类结果,其中一轮迭代更新包括:利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
本说明书实施例之一提供一种对象聚类装置,包括处理器以及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令中的至少一部分以实现如上述的对象聚类方法。
本说明书实施例之一提供一种适于对象聚类的图神经网络的训练方法,包括:基于多个对象及对象间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与对象对应,所述节点间的边权信息反映对应对象间的关联关系;对图神经网络模型进行一轮或多轮迭代更新,其中一轮迭代更新包括:利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的图数据的示意图;
图2是根据本说明书一些实施例所示的图数据的节点聚类方法中一轮迭代更新的示例性流程图;
图3是根据本说明书一些实施例所示的对象聚类系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在各种场景中,对对象进行聚类的需求广泛存在。例如,通过聚类,实现对对象的分类;又例如通过聚类可以高效的对对象打标签,以用作进行机器学习模型的训练样本。其中,对象可以是任一实体(如公司、城市、用户、设备、商品等)或信息项(如用户社交账号、图像、文本或音频数据)等等。在一些实施例中,对象可以是来自包括但不限于金融行业、保险行业、互联网行业、汽车行业、餐饮行业、电信行业、能源行业、娱乐行业、体育行业、物流行业、医疗行业、安全行业等的实体或信息项。在一些实施例中,对象可以具有多个属性或特征,对象间具有关联关系,因此可以基于多个对象及对象间的关联关系构造图数据。图数据可以包括多个节点和边权,其中,节点可以与对象对应,对象的属性或特征可以看作对应节点的属性或特征,节点之间的边权可以表示两个对应对象之间的关联。根据对象类型的不同,图数据可以是社交图(其中节点与用户对应,节点间的边权表示用户间的社会关系)、设备网络图(其中节点与网络设备对应,节点间的边权表示设备间的通信关系)、转账图(其中节点与用户账户对应,节点间的边权表示用户间的资金流向关系)等。在一些实施例中,可以对图数据的节点进行聚类,进而基于节点的聚类结果得到对象的聚类结果。例如,将一个类簇的节点对应的对象组合在一起得到一个对象类簇。
图1是根据本说明书一些实施例所示的图数据的示意图。
以图1中的转账图为例,所示图数据为转账关系,其中节点包括供应商、超市、便利店和多个用户。
在一些实施例中,可以基于节点之间的关系确定边权,继续采用转账图作为示例,比如超市从供应商A采购货物并支付(划转)货款,因此在超市和供应商A之间建立边权,用户A、用户B和用户C在超市购买商品并支付商品金额,因此用户A、用户B和用户C分别与超市建立边权,同理可以在供应商B与用户D和用户E通过便利店消费建立边权。边权的形式可以包括0或1,以体现有或无,此外边权还可以是0~1之间的数值,以进一步表现关系的强弱,如关系的强弱与转账数额的大小正相关,即用户A、用户B和用户C分别与超市建立边权可以是大小不等的0~1之间的数值。需要说明的是,在一些实施例中,边权的取值还可以根据实际的应用场景取其他值,如边权可以大于1。在一些实施例中,根据实际的应用场景,边权的取值还可以是负数,如在需要体现转账资金流向时。
在一些实施例中,节点还可以包括多个属性或特征,继续采用转账图作为示例,如超市节点可以包括其位置信息,该位置信息可以是坐标信息或地标信息(如位于软件园);节点用户B可以包括用户年龄、用户信用情况、用户性别等信息。在一些实施例中,节点的属性和特征可以进行数值化处理,示例性的。如利用“0”表示信用良好,“1”表示具有信用风险等。在一些实施例中,属性和特征数值化的方式可以是其他任意能够将非数值转换为数值的编码方式,在本说明书中不做限制。
在一些实施例中,图数据的节点聚类的方式包括将节点向量化表示,通过计算任意两个节点之间的距离函数(如欧氏距离、余弦距离等)得到两个节点之间的相似度,通过相似度的阈值判断两个节点是否相似,以及以此为参考进行聚类。但在一些实施例中,节点数量较多的情况下,每两个节点之间计算一次距离函数会导致计算量较大,节点聚类耗时较长,同时相似度的阈值由人工设置,准确定较低。此外,当节点包括的属性或特征信息较多时,会更进一步增加计算量,同时容易出现属性或特征信息考虑不充分导致的聚类结果不准确的问题。
有鉴于此,本说明书的一些实施例提供了一种结合图神经网络模型以及聚类算法的图数据的节点聚类方法,所述方法包括利用图神经网络模型处理图数据,以对节点间的边权信息进行预测,同时将图神经网络模型处理图数据过程中的节点隐层向量作为节点的嵌入向量进行聚类,对图神经网络模型进行一轮或多轮迭代更新,以减小节点间的边权预测信息与节点间原有的边权信息的差异,以及减小各节点到其聚类中心的距离,以此来对图神经网络模型进行调优,使其能学习到更准确、更适于聚类的图节点的嵌入表达方式,将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果。
在一些实施例中,聚类的结果可以包括节点所属的类簇、类簇中心点的最终嵌入向量或每个节点的最终嵌入向量中的一个或多个,具体的将在后文中详细说明。
基于前述分析可知,本说明书一些实施例提供的图数据的节点聚类方法伴随着图神经网络模型的迭代更新,可以理解为,随着图神经网络模型训练的越来越好,节点聚类结果也趋于稳定或收敛。因此,本说明书一些实施例提供的图数据的节点聚类方法包括多轮迭代更新。
图2是根据本说明书一些实施例所示的图数据的节点聚类方法中一轮迭代更新的示例性流程图。
其中,流程200的一个或多个步骤可以由迭代模块320执行,其包括以下步骤:
步骤210,利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息。
在一些实施例中,图数据可以表示为节点矩阵与邻接矩阵。节点矩阵的行数或列数与节点一一对应,一行或列表示该节点数值化的属性或特征;邻接矩阵的元素表示对应两个节点之间的关联关系。假设图数据中共包括N个节点,则邻接矩阵的维度为N×N,表示N个节点中两两节点之间的关联关系。若每个节点包括的数值化的属性或特征为30个(或30维),则节点矩阵可以是N*30的矩阵,或30*N的矩阵。
在一些实施例中,可以将节点矩阵与邻接矩阵作为图神经网络模型的输入,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息。
在一些实施例中,图神经网络模型可以包括GCN(Graph Convolutional Network,图卷积网络)或GraphSage(Graph Sample and Aggregate)等。以GCN为例,在步骤210中,将节点矩阵与邻接矩阵输入GCN的模型,在GCN内部,节点矩阵、邻接矩阵与GCN的模型参数进行运算后,可以得到节点的嵌入向量(如GCN输出层或某隐层得到的各个图节点的向量表示)。可以理解,节点的嵌入向量能否准确表示图谱的信息,在一定程度上依赖于GCN模型参数的准确性。因此在一些实施例中,可以进一步基于节点的嵌入向量完成预设的预测任务,基于预测结果与参考标准(或标签)之间的差异调整GCN的参数,以使其产生的图节点的嵌入向量更加准确。
在一些实施例中,可以基于各节点的嵌入向量预测节点间的边权信息,具体的,可以对各节点中的任意两个节点:计算该两个节点的嵌入向量的内积,将内积结果作为该两个节点的边权预测信息。
在一些实施例中,两个节点的边权预测信息还可以通过计算所述两个节点的嵌入向量之间的距离得到,在一些实施例中,距离可以是余弦距离,即利用向量空间中两个向量夹角的余弦值作为两个节点间关联关系的度量。在一些实施例中,所述距离还可以是欧氏距离、马氏距离、余弦距离或曼哈顿距离等。
在一些实施例中,在对GCN进行训练的迭代过程中,可以将节点在邻接矩阵中的边权信息作为参考标准或标签,基于边权预测信息与邻接矩阵中的边权信息构造第一损失函数,并至少基于第一损失函数调整GCN的参数,关于调参的更多内容可以参见步骤240的相关说明。
步骤220,利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇。
在一些实施例中,一个类簇表示聚类得到的一个类别,以图1转账图为例,利用聚类算法处理各节点的嵌入向量,可以得的一个或多个类簇,该类簇可以描述一个或多个节点的共性,如一个类簇可以表示喜欢在超市或便利店购买早餐的用户群体,进一步的,在一些实施例中,还可以显示该类簇中的节点,即该群体包括用户B和用户D。
在一些实施例中,所述聚类算法包括K-Means聚类算法、均值偏移聚类算法、DBSCAN聚类算法、高斯混合聚类算法或层次聚类算法。
以K-Means聚类算法为例,该算法中K值即为类簇的数量。在一些实施例中,K值可以预先设置,如希望通过聚类算法将节点中的用户划分为3大类人群时,可以将K值设置为3。在一些实施例中,K值还可以由聚类算法确定,如通过手肘法计算每个聚类的点到它们质心的距离的平方并绘制曲线,选取曲线的拐点对应的质心数量作为K值。
继续以K-Means聚类算法作为示例,通过创建k个点作为起始的质心(如从待聚类的多个节点中随机选择k个节点作为质心),计算每一个节点的嵌入向量到k个质心的距离,并把这个节点归到距离最近的质心所表示的类簇中,由此可以得到初始的k个类簇。对于每个初始的类簇,更新质心的位置,迭代重复上述过程。更新质心一定次数后,当连续两次更新质心的位置的变化小于一个阈值,即认为聚类完成,进而得到k个类簇。
在一些实施例中,所述距离包括余弦距离或欧氏距离,该距离与节点之间的距离类似,具体可以参见步骤210相关描述,在此不过多赘述。
步骤230,确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离。
在一些实施例中,类簇的中心点的嵌入向量通过所述聚类算法得到。具体的,例如K-Means和高斯混合聚类等聚类算法,其在聚类过程中会得到各个类簇的中心点(如K-Means聚类算法得到的各类簇质心),因此在该场景下可以直接得到类簇中心点的嵌入向量。在一些实施例中,聚类算法如层次聚类算法,在聚类过程中不会直接得到各类簇的中心点,对此,可以在对节点进行聚类后,根据节点的嵌入向量确定各类簇的中心点的嵌入向量。具体的,对于每一个类簇:计算类簇中各节点的嵌入向量的均值,将所述均值确定为该类簇的中心点的嵌入向量。
在一些实施例中,类簇的中心点还可以由执行者选取,所选取的类簇中心点可以是一个类簇中最靠近中心的节点或一个虚拟的点。
在一些实施例中,计算各节点与其所在类簇的中心点的距离,可以理解的是,该距离越小则聚类效果越好。所述距离包括余弦距离或欧氏距离等。在一些实施例中,可以将聚类结果反馈到图神经网络模型的调参过程中,使得图神经网络模型处理图数据得到的图节点的嵌入向量与后续的聚类算法更适配,提高聚类准确性。具体的,可以构造第二损失函数,所述第二损失函数与各节点与其所在类簇的中心点的距离之和正相关。关于第二损失函数的详细内容可以参见步骤240的相关说明。
步骤240,调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
在一些实施例中,为了使节点的嵌入向量能够更好的反应图数据的信息,同时更适于后续的聚类算法,可以对图神经网络模型中的参数进行调整。为此,可以构造第一损失函数与第二损失函数,并基于此进行调参。所述第一损失函数与节点间的边权预测信息和节点间的边权信息的差异正相关,所述第二损失函数与各节点与其所在类簇的中心点的距离之和正相关。
在一些实施例中,可以构造联合损失函数,所述联合损失函数与第一损失函数、第二损失函数均正相关。
在一些实施例中,联合损失函数可以基于以下公式获得:
Figure 765469DEST_PATH_IMAGE001
其中,
Figure 599433DEST_PATH_IMAGE002
表示第一损失函数,
Figure 941001DEST_PATH_IMAGE003
表示第二损失函数,
Figure 885824DEST_PATH_IMAGE004
为比例系数。在一些实施例中,可以通过大于零的比例系数控制两个损失函数对联合损失函数的贡献比例,该预设比例能够在训练过程中决定第一损失函数和第二损失函数对参数的影响程度。仅作为示例,比例系数
Figure 362941DEST_PATH_IMAGE004
可以取0.8,此时第一损失函数对联合损失函数的贡献更多。在一些实施例中,可以在训练过程中调整所述比例系数,进而调整两个损失函数的预设比例。例如,在训练之初将比例系数设置为较小的值,如小于0.5,以使得图神经网络模型学习到更多图数据表达的信息,而随着训练的加深,可以增加比例系数,如设置为0.8或者1,使得图神经网络模型对节点的向量表示能更好的适配后续的聚类算法。
在一些实施例中,可以基于联合损失函数确定模型梯度数据,并基于梯度下降法更新图神经网络模型的参数,使训练完成的模型输出的节点的嵌入向量能够兼顾图数据的表达以及聚类效果。
上述流程200是图神经网络模型的一次迭代更新过程,一般来说,需要进行多轮迭代,才能获得准确性较好的图神经网络模型。具体的,可以将当前轮迭代获得的各图数据的节点的嵌入向量组成矩阵,作为更新后的节点矩阵(邻接矩阵可以保持不变),进行下一轮迭代更新,以此类推。不难理解,对于每一轮迭代,都可以获得一个图数据节点的聚类结果,在一些实施例中,可以将图神经网络模型最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果。在一些实施例中,基于聚类得到的多个节点类簇还可以得到各个类簇的类簇中心点的嵌入向量,所述类簇中心点的嵌入向量具备该类簇中所有节点的共性,在一些实施例中,可以基于所述类簇中心点的嵌入向量后续的处理。在一些实施例中,还可以基于训练完成的图神经网络模型得到图数据中所有节点的最终的嵌入向量。在一些实施例中,在每一轮迭代更新时,输入到图神经网络模型的邻接矩阵保持不变的同时,节点矩阵也可以保持不变,如每轮迭代输入到模型的节点矩阵均是基于各节点的属性或特征得到的初始向量表示。
不难理解,伴随着图数据的节点聚类,还会随附获得一个训练好的图神经网络,因此,流程200也可以看作是一种适于对象聚类的图神经网络模型的训练方法。
在一些实施例中,训练完成的图神经网络模型还可以对其进行配置,使其执行其他任务,如分类任务或回归任务等。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的对象聚类系统的模块图。
如图3所示,对象聚类方法系统300包括构造模块310和迭代模块320。
构造模块310可以用于基于多个对象及对象间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与对象对应,所述节点间的边权信息反映对应对象间的关联关系。
关于图数据的更多描述可以在本说明书的其他地方(如图1及其相关描述中)找到,在此不作赘述。
迭代模块320可以用于对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定对象聚类结果,其中一轮迭代更新包括:利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
关于迭代的更多描述可以在本说明书的其他地方(如流程200及其相关描述中)找到,在此不作赘述。
在一些实施例中,为基于各节点的嵌入向量确定的节点间的边权预测信息,所述迭代模块还用于在其中一轮迭代更新中,对各节点中的任意两个节点:计算该两个节点的嵌入向量的内积,将内积结果作为该两个节点的边权预测信息。
在一些实施例中,为确定每个类簇的中心点的嵌入向量,所述迭代模块还用于在其中一轮迭代更新中,计算类簇中各节点的嵌入向量的均值;基于所述均值确定该类簇的中心点的嵌入向量。
在一些实施例中,各个类簇的中心点的嵌入向量通过所述聚类算法得到。
在一些实施例中,所述迭代模块还用于在其中一轮迭代更新中:构造第一损失函数,所述第一损失函数与节点间的边权预测信息和节点间的边权信息的差异正相关;构造第二损失函数,所述第二损失函数与各节点与其所在类簇的中心点的距离之和正相关;构造联合损失函数,所述联合损失函数与第一损失函数、第二损失函数均正相关;调整所述图神经网络模型的模型参数,以减小联合损失函数。
在一些实施例中,为构造联合损失函数,所述迭代模块还用于在其中一轮迭代更新中:将第一损失函数与第二损失函数按预设比例求和,得到所述联合损失函数;其中,预设比例可调。
在一些实施例中,所述图神经网络模型包括GCN或GraphSage;所述聚类算法包括K-Means聚类算法、均值偏移聚类算法、DBSCAN聚类算法、高斯混合聚类算法或层次聚类算法;所述距离包括余弦距离或欧氏距离。
应当理解,图3所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
本说明书实施例可能带来的有益效果包括但不限于:(1)基于图数据的节点聚类实现对对象聚类,能够充分考虑对象丰富的属性或特征数据以及对象间复杂的关联关系,发现对象中潜在的聚类模式,获得更加准确的聚类结果;(2)在图数据的节点聚类过程中,通过构造联合损失函数并基于该联合损失函数与聚类效果对模型进行训练,使得模型输出的节点的嵌入向量能够兼顾图数据的表达以及聚类效果。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (18)

1.一种用户聚类方法,所述方法包括:基于多个用户及用户间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与用户对应,所述节点间的边权信息反映对应用户间的关联关系;图数据表示为节点矩阵与邻接矩阵,节点矩阵的行或列与节点一一对应,一行或列表示该节点对应的用户的数值化的属性或特征,邻接矩阵的元素表示相应两个节点对应的用户之间的关联关系;对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定用户聚类结果,其中一轮迭代更新包括:
将图数据的节点矩阵与邻接矩阵作为图神经网络模型的输入,以便利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;所述各节点的嵌入向量为所述图神经网络模型的输出层或隐层得到的各节点的向量表示;
利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;
确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;
调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
2.如权利要求1所述的方法,所述基于各节点的嵌入向量确定的节点间的边权预测信息,包括对各节点中的任意两个节点:
计算该两个节点的嵌入向量的内积,将内积结果作为该两个节点的边权预测信息。
3.如权利要求1所述的方法,所述确定每个类簇的中心点的嵌入向量,包括:
计算类簇中各节点的嵌入向量的均值;
基于所述均值确定该类簇的中心点的嵌入向量。
4.如权利要求1所述的方法,各个类簇的中心点的嵌入向量通过所述聚类算法得到。
5.如权利要求1所述的方法,所述调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离,包括:
构造第一损失函数,所述第一损失函数与节点间的边权预测信息和节点间的边权信息的差异正相关;
构造第二损失函数,所述第二损失函数与各节点与其所在类簇的中心点的距离之和正相关;
构造联合损失函数,所述联合损失函数与第一损失函数、第二损失函数均正相关;
调整所述图神经网络模型的模型参数,以减小联合损失函数。
6.如权利要求5所述的方法,所述构造联合损失函数,包括:
将第一损失函数与第二损失函数按预设比例求和,得到所述联合损失函数;其中,预设比例可调。
7.如权利要求1所述的方法,所述图神经网络模型包括GCN或GraphSage;
所述聚类算法包括K-Means聚类算法、均值偏移聚类算法、DBSCAN聚类算法、高斯混合聚类算法或层次聚类算法;
所述距离包括余弦距离或欧氏距离。
8.如权利要求1所述的方法,所述一轮迭代更新还包括:
将当前轮迭代获得的各图数据的节点的嵌入向量组成矩阵,作为更新后的节点矩阵,邻接矩阵保持不变,以便进行下一轮迭代更新。
9.一种用户聚类系统,包括:
构造模块,用于基于多个用户及用户间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与用户对应,所述节点间的边权信息反映对应用户间的关联关系;图数据表示为节点矩阵与邻接矩阵,节点矩阵的行或列与节点一一对应,一行或列表示该节点对应的用户的数值化的属性或特征,邻接矩阵的元素表示相应两个节点对应的用户之间的关联关系;
迭代模块,用于对图神经网络模型进行一轮或多轮迭代更新,并将最后一轮迭代更新获得的图数据的节点类簇作为节点聚类结果,进而基于节点聚类结果确定用户聚类结果,其中一轮迭代更新包括:
将图数据的节点矩阵与邻接矩阵作为图神经网络模型的输入,以便利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;所述各节点的嵌入向量为所述图神经网络模型的输出层或隐层得到的各节点的向量表示;
利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;
确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;
调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
10.如权利要求9所述的系统,为基于各节点的嵌入向量确定的节点间的边权预测信息,所述迭代模块还用于在其中一轮迭代更新中,对各节点中的任意两个节点:
计算该两个节点的嵌入向量的内积,将内积结果作为该两个节点的边权预测信息。
11.如权利要求9所述的系统,为确定每个类簇的中心点的嵌入向量,所述迭代模块还用于在其中一轮迭代更新中:
计算类簇中各节点的嵌入向量的均值;
基于所述均值确定该类簇的中心点的嵌入向量。
12.如权利要求9所述的系统,各个类簇的中心点的嵌入向量通过所述聚类算法得到。
13.如权利要求9所述的系统,所述迭代模块还用于在其中一轮迭代更新中:
构造第一损失函数,所述第一损失函数与节点间的边权预测信息和节点间的边权信息的差异正相关;
构造第二损失函数,所述第二损失函数与各节点与其所在类簇的中心点的距离之和正相关;
构造联合损失函数,所述联合损失函数与第一损失函数、第二损失函数均正相关;
调整所述图神经网络模型的模型参数,以减小联合损失函数。
14.如权利要求13所述的系统,为构造联合损失函数,所述迭代模块还用于在其中一轮迭代更新中:
将第一损失函数与第二损失函数按预设比例求和,得到所述联合损失函数;其中,预设比例可调。
15.如权利要求9所述的系统,其中:
所述图神经网络模型包括GCN或GraphSage;
所述聚类算法包括K-Means聚类算法、均值偏移聚类算法、DBSCAN聚类算法、高斯混合聚类算法或层次聚类算法;
所述距离包括余弦距离或欧氏距离。
16.如权利要求9所述的系统,所述迭代模块还用于在其中一轮迭代更新中:
将当前轮迭代获得的各图数据的节点的嵌入向量组成矩阵,作为更新后的节点矩阵,邻接矩阵保持不变,以便进行下一轮迭代更新。
17.一种用户聚类装置,包括处理器以及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令中的至少一部分以实现如权利要求1~8中任意一种所述用户聚类方法。
18.一种适于用户聚类的图神经网络的训练方法,包括:基于多个用户及用户间的关联关系构造图数据;其中,所述图数据包括多个节点以及节点间的边权信息,所述节点与用户对应,所述节点间的边权信息反映对应用户间的关联关系;图数据表示为节点矩阵与邻接矩阵,节点矩阵的行或列与节点一一对应,一行或列表示该节点对应的用户的数值化的属性或特征,邻接矩阵的元素表示相应两个节点对应的用户之间的关联关系;对图神经网络模型进行一轮或多轮迭代更新,其中一轮迭代更新包括:
将图数据的节点矩阵与邻接矩阵作为图神经网络模型的输入,以便利用图神经网络模型处理图数据,得到各节点的嵌入向量,以及基于各节点的嵌入向量确定的节点间的边权预测信息;所述各节点的嵌入向量为所述图神经网络模型的输出层或隐层得到的各节点的向量表示;
利用聚类算法处理各节点的嵌入向量,得到一个或多个类簇;
确定每个类簇的中心点的嵌入向量,并基于各节点及各中心点的嵌入向量,计算各节点与其所在类簇的中心点的距离;
调整所述图神经网络模型的模型参数,以减小所述节点间的边权预测信息与所述节点间的边权信息的差异,以及减小各节点与其所在类簇的中心点的距离。
CN202110159392.6A 2021-02-05 2021-02-05 一种对象聚类方法和系统 Active CN112529115B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110159392.6A CN112529115B (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统
CN202110714723.8A CN113313208A (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110159392.6A CN112529115B (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110714723.8A Division CN113313208A (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统

Publications (2)

Publication Number Publication Date
CN112529115A CN112529115A (zh) 2021-03-19
CN112529115B true CN112529115B (zh) 2021-05-18

Family

ID=74975507

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110714723.8A Pending CN113313208A (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统
CN202110159392.6A Active CN112529115B (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110714723.8A Pending CN113313208A (zh) 2021-02-05 2021-02-05 一种对象聚类方法和系统

Country Status (1)

Country Link
CN (2) CN113313208A (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966773B (zh) * 2021-03-24 2022-05-31 山西大学 一种无人机飞行工况模式识别方法及系统
CN113672751B (zh) * 2021-06-29 2022-07-01 西安深信科创信息技术有限公司 一种背景相似图片的聚类方法、装置及电子设备、存储介质
CN113807370B (zh) * 2021-09-29 2024-01-02 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、存储介质及计算机程序产品
CN114330597B (zh) * 2022-01-14 2022-08-19 阿里巴巴达摩院(杭州)科技有限公司 用户聚类方法、数据聚类方法、装置、电子设备
CN114581693B (zh) * 2022-03-07 2023-11-03 支付宝(杭州)信息技术有限公司 一种用户行为模式的区分方法和装置
CN115293919B (zh) * 2022-07-22 2023-08-04 浙江大学 面向社交网络分布外泛化的图神经网络预测方法及系统
CN116022196B (zh) * 2023-02-13 2023-11-03 山东大学 一种基于计算机视觉的轨道变形监测系统
CN116757278B (zh) * 2023-08-21 2024-01-09 之江实验室 一种预测模型的训练方法、装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458732A (zh) * 2008-12-25 2009-06-17 浙江师范大学 面向饰品创新设计的知识应用方法
CN102201236B (zh) * 2011-04-06 2012-12-19 中国人民解放军理工大学 一种高斯混合模型和量子神经网络联合的说话人识别方法
CN104008304B (zh) * 2014-06-10 2016-12-14 北京航空航天大学 一种乏信息多传感器神经网络‑熵测量不确定度评定方法
CN115081589A (zh) * 2020-01-09 2022-09-20 支付宝(杭州)信息技术有限公司 利用lstm神经网络模型处理交互数据的方法及装置
CN111291827B (zh) * 2020-02-28 2023-12-22 北京市商汤科技开发有限公司 图像聚类方法、装置、设备及存储介质
CN111738532B (zh) * 2020-08-14 2021-02-05 支付宝(杭州)信息技术有限公司 一种事件对对象影响度的获取方法和系统

Also Published As

Publication number Publication date
CN113313208A (zh) 2021-08-27
CN112529115A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112529115B (zh) 一种对象聚类方法和系统
Kansal et al. Customer segmentation using K-means clustering
Rodriguez et al. Clustering algorithms: A comparative approach
CN106920147B (zh) 一种基于词向量数据驱动的商品智能推荐方法
US11875239B2 (en) Managing missing values in datasets for machine learning models
Das et al. Hands-On Automated Machine Learning: A beginner's guide to building automated machine learning systems using AutoML and Python
CN111241412B (zh) 一种确定用于信息推荐的图谱的方法、系统、及装置
AU2017251771B2 (en) Statistical self learning archival system
US11210673B2 (en) Transaction feature generation
RU2765884C2 (ru) Идентификация блоков связанных слов в документах сложной структуры
CN112925909B (zh) 一种考虑局部不变性约束的图卷积文献分类方法及系统
CN113378872A (zh) 多标记分类神经网络的可靠性校准
CN109063120B (zh) 一种基于聚类的协同过滤推荐方法和装置
Fu et al. A polygons Boolean operations-based adaptive slicing with sliced data for additive manufacturing
Ramasubramanian et al. Machine learning model evaluation
Kansal et al. A Comparative Study of Machine Learning Models for House Price Prediction and Analysis in Smart Cities
CN108229572B (zh) 一种参数寻优方法及计算设备
US7457788B2 (en) Reducing number of computations in a neural network modeling several data sets
CN111611228A (zh) 一种基于分布式数据库的负载均衡调整方法及装置
CN110866785A (zh) 一种成本确定方法、系统及装置
CN116151857A (zh) 一种营销模型的构建方法及装置
CN114610899A (zh) 一种知识图谱的表示学习方法和系统
CN111400413B (zh) 一种确定知识库中知识点类目的方法及系统
CN112906301B (zh) 金融交易的可信欺诈检测方法、系统、介质及终端
Zhou K-Nearest Neighbors

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