发明内容
本申请提供一种用于对社交应用中用户的聚类方法,以解决如何采用网络图数据对社交应用中的用户聚类的技术问题。本申请还提供一种数据聚类方法、一种数据聚类装置,一种电子设备以及一种计算机存储介质。
本申请提供一种用于对社交应用中用户的聚类方法,包括:
确定目标社交应用中的用户;
基于所述目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对所述用户进行向量表示的用户隐向量;
基于所述用户隐向量,获得所述用户在所述超球面模型上混合分布的目标混合分布参数;
根据所述目标混合分布参数,确定所述用户在所述超球面模型的各个簇分布的概率;
基于所述用户在所述超球面模型的各个簇分布的概率,获得所述用户的聚类结果信息。
可选的,还包括:构建包含多个用户的网络图;
所述基于所述目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对所述用户进行向量表示的用户隐向量,包括:
基于所述网络图,确定在超球面模型涉及的隐空间内用于对所述用户进行向量表示的用户隐向量。
可选的,所述构建包含多个用户的网络图,包括:
将每个用户作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图。
可选的,还包括:获得用户的属性信息;
所述将每个用户作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图,包括:
将每个用户以及对应的用户的属性信息作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图。
本申请提供一种数据聚类方法,包括:
获取待聚类的图结构化的数据点;
基于所述数据点,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量;
基于所述目标数据点隐向量,获得所述数据点在所述超球面模型上混合分布的目标混合分布参数;
根据所述目标混合分布参数,确定所述数据点在所述超球面模型的各个簇分布的概率;
基于所述数据点在所述超球面模型的各个簇分布的概率,获得所述数据点的聚类结果信息。
可选的,所述基于所述数据点,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量,包括:
基于所述数据点,获得所述数据点的属性信息与所述数据点之间的连接结构信息;
采用所述数据点的属性信息与所述数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型;
对所述预训练好的图注意神经网络模型进行更新,获得目标图注意神经网络模型;
基于所述目标图注意神经网络模型,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量。
可选的,所述采用所述数据点的属性信息与所述数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型,包括:
基于所述数据点的属性信息与所述数据点之间的连接结构信息,获得在属性空间内用于对所述数据点进行向量表示的第一向量;
采用所述第一向量,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型。
可选的,所述基于所述目标图注意神经网络模型,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量,包括:
将所述第一向量作为所述目标图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量。
可选的,所述将所述第一向量作为所述目标图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量,包括:
将所述第一向量作为所述目标图注意神经网络模型的输入数据,并将所述目标图注意神经网络模型的输出数据作为第二向量,将所述目标图注意神经网络模型压缩所述第一向量后的向量作为所述目标数据点隐向量;所述第二向量为基于所述目标数据点隐向量构造的向量;其中,当对所述初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型时,所述第一向量与所述第二向量满足预设的匹配度条件。
可选的,所述目标图注意神经网络模型包含编码器与解码器;
所述编码器用于将所述第一向量压缩为所述目标数据点隐向量,所述解码器用于将所述目标数据点隐向量解码为所述第二向量。
可选的,采用如下方式将所述目标数据点隐向量解码为所述第二向量:
采用与所述编码器编码对称的方式作为所述解码器的解码方式,解码所述目标数据点隐向量,获得所述第二向量中的属性信息向量;
采用非线性内积操作的方式,获得所述第二向量中的连接结构信息向量;
基于所述属性信息向量与所述连接结构信息向量,获得所述第二向量。
可选的,还包括:
将所述第一向量,作为所述预训练好的图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的初始数据点隐向量;
基于所述初始数据点隐向量,获得所述数据点在所述超球面模型上混合分布的初始混合分布参数;
基于所述初始混合分布参数,更新所述预训练好的图注意神经网络模型中的模型参数,获得第一次更新后的图注意神经网络模型;
基于所述第一次更新后的图注意神经网络模型,更新所述初始数据点隐向量,获得第一次更新后的数据点隐向量;
基于所述第一次更新后的数据点隐向量,更新所述初始混合分布参数,获得第一次更新后的混合分布参数;
基于所述第一次更新后的混合分布参数更新所述第一次更新后的图注意神经网络模型中的模型参数,获得第二次更新后的图注意神经网络模型;
基于所述第二次更新后的图注意神经网络模型,更新所述第一次更新后的数据点隐向量,获得第二次更新后的数据点隐向量;
基于所述第二次更新后的数据点隐向量,更新所述第一次更新后的混合分布参数,获得第二次更新后的混合分布参数;以此类推,直至所述超球面模型对应的损失函数符合预设条件,将最后一次更新的图注意神经网络模型作为所述目标图注意神经网络模型,将所述最后一次更新的数据点隐向量作为所述目标数据点隐向量,将所述最后一次更新的混合分布参数作为所述目标混合分布参数。
可选的,所述基于所述目标数据点隐向量,获得所述数据点在所述超球面模型上混合分布的目标混合分布参数,包括:
基于所述目标数据点隐向量,确定所述超球面模型的各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数;
根据所述超球面模型的各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数,确定所述数据点在所述超球面模型上混合分布的目标混合分布参数。
可选的,在基于所述目标数据点隐向量,确定所述超球面模型的各个簇的聚类中心时,采用中心吸引-排斥的策略;其中,所述吸引-排斥策略包括使聚类中心靠近数据点密集的位置、远离数据点稀疏的位置。
对应地,本申请提供一种数据聚类装置,包括:
数据点获取单元,用于获取待聚类的图结构化的数据点;
目标隐向量确定单元,用于基于所述数据点,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量;
目标混合分布参数获得单元,用于基于所述目标数据点隐向量,获得所述数据点在所述超球面模型上混合分布的目标混合分布参数;
概率确定单元,用于根据所述目标混合分布参数,确定所述数据点在所述超球面模型的各个簇分布的概率;
聚类结果信息获得单元,用于基于所述数据点在所述超球面模型的各个簇分布的概率,获得所述数据点的聚类结果信息。
对应地,本申请提供一种电子设备,包括:
处理器;
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行上述用于对社交应用中用户的聚类方法与数据聚类方法。
对应地,本申请提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行上述用于对社交应用中用户的聚类方法与数据聚类方法。
与现有技术相比,本申请实施例具有以下优点:
本申请提供一种用于对社交应用中用户的聚类方法,由于该聚类方法,在确定目标社交应用中的用户之后,基于目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对用户进行向量表示的用户隐向量,并基于用户隐向量,获得用户在超球面模型上混合分布的目标混合分布参数;根据目标混合分布参数,确定用户在超球面模型的各个簇分布的概率;基于用户在超球面模型的各个簇分布的概率,获得用户的聚类结果信息。由于该方法基于超球面模型作为整体框架,可以获得超球面模型中的不同簇的差异性。基于不同簇获得的用户在超球面模型的各个簇分布的概率,能够使得最终的用户的聚类结果更符合实际,聚类结果更为准确。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
本申请提供用于对社交应用中用户的聚类方法、数据聚类方法、装置、电子设备以及计算机存储介质。以下通过具体的实施例分别介绍用于对社交应用中用户的聚类方法、数据聚类方法、装置、电子设备以及计算机存储介质。
本申请的数据聚类方法,主要是用于对图结构化的数据进行分类,具体地,在该数据聚类方法中,由于是对图结构化的数据进行分类,首先,获取待聚类的图结构化的数据点。之所以将这些数据作为数据点,是因为在图结构中,这些数据可以作为节点。
为了便于理解图结构化的数据点,进行如下举例说明。可以理解的是,该示例仅仅是为了便于理解,而并非为了限定图结构化的数据点。
例如,在一些社交应用中,社交应用中注册的用户可以作为数据点,即作为图数据的节点。在这些社交应用的用户中,用户之间可能存在关联关系,例如一些用户是其他用户的粉丝用户,或者,一些用户与其他用户互为对方的粉丝用户。将注册用户作为数据点(可以理解为节点),将注册用户之间的关联关系信息作为边信息(边信息可以理解为数据点之间的连接结构信息),基于数据点与边信息进而可以构建网络图。该网络图中的节点(表示用户)即为图结构化的数据点。
简言之,在获得上述列举的社交应用中,如果将用户作为图结构化的节点,则将用户之间的关联关系作为边,基于节点与边则可以构建用于表示该社交应用中的用户的网络图。
本申请的数据聚类方法恰好可以基于网络图用来对该社交应用中的用户进行分类。
在该数据聚类方法中,其核心思想在于,将这些网络图中的数据点布置在超球面上,然后基于该超球面构造超球面模型。再之后,确认数据点在超球面模型上混合分布的目标混合分布参数,根据目标混合分布参数,确定数据点在超球面模型的各个簇中分布的概率;基于数据点在超球面模型的各个簇中分布的概率,获得数据点的聚类结果信息。
现有的对图数据进行聚类或者分类的方法,主要是对具有连接结构与属性特征的数据进行无监督分划。现有的这种聚类方法一般假设不同簇的密度(包括簇的大小,簇的方差)是一致的,从而在隐空间上,数据点的后验概率单调于数据点和簇中心(簇中心可以理解为聚类中心)之间的欧氏距离。然而这种假设在簇不一致(簇不一致可以包括簇的密度不同)的时候并不成立,依赖欧氏距离的后验概率计算将极大限制聚类的效果,使得最终的聚类效果并不准确。
而由于本申请的聚类方法是基于超球面模型对网络图中的数据点进行分类,进而能够将数据点聚类在不同分布密度的簇中,避免了现有技术中的不同簇的密度(包括簇的大小,簇的方差)是一致的前提或者假设,使得最终的数据点的聚类结果更加准确。
本申请将数据点布置在超球面上,具体可以是指确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的数据点隐向量。在获得用于对数据点进行向量表示的数据点隐向量之后,相当于将数据点布置在超球面上。
在本申请中,之所以采用这样的超球面,是由于通过该超球面构造的超球面模型,可以获得不同簇之间的差异性。而现有的数据聚类方法,将不同的簇假定为相同密度的簇。基于相同类型的簇对数据点进行聚类是不符合实际情形的,因为获得的聚类结果也不准确。
上述基于超球面构造超球面模型,是指在超球面上利用混合冯·米赛斯-费舍尔分布对数据点的表征进行建模,可以获得不同簇之间的差异性。进而获得的聚类结果更加准确。
上述基于数据点,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的数据点隐向量,可以是基于预训练好的图注意神经网络模型获得。在本申请中,预训练好的图注意神经网络模型是采用数据点的属性信息与数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练获得的。
在本申请中,是不断对预训练好的图注意神经网络模型与超球面模型进行相互迭代,进而确定目标混合分布参数。
具体地,请参见图1,图1为预训练的过程以及对预训练好的图注意神经网络模型与超球面模型进行相互迭代的示意图。结合图1,图1最左侧一列为对初始图注意神经网络模型进行预训练的过程,最左侧一列的元数据为数据点的属性信息与数据点之间的连接结构信息。
之所以需要对初始图注意神经网络模型进行预训练,与图注意神经网络模型的结构有关。具体地,图注意神经网络模型内部包含编码器与解码器,编码器用于对输入图注意神经网络模型的数据进行编码压缩,解码器用于对编码压缩后的数据进行解码,以获得图注意神经网络模型的输出数据。在预训练过程中,当输入数据与输出数据满足预设的匹配度条件时,认为预训练过程可以结束。
预训练好的图注意神经网络模型与超球面模型进行相互迭代至最后,将最终的图注意神经网络模型作为目标图注意神经网络模型,最终获得的混合分布参数作为目标混合分布参数。
迭代过程具体请参见图1,将第一向量作为预训练好的图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的初始数据点隐向量。图1中左侧第二列的向量即为初始数据点隐向量。
在获得初始数据点隐向量之后,基于初始数据点隐向量,即可获得数据点在超球面模型上混合分布的初始混合分布参数。图1中左侧第二列的μ (0),π (0),κ (0)即为初始混合分布参数。
在确定初始混合分布参数后,基于初始混合分布参数,更新预训练好的图注意神经网络模型中的模型参数,获得第一次更新后的图注意神经网络模型。之后,基于第一次更新后的图注意神经网络模型,更新初始数据点隐向量,获得第一次更新后的数据点隐向量。图1中左侧第三列的向量即为第一次更新后的数据点隐向量。上述基于第一次更新后的图注意神经网络模型,更新初始数据点隐向量,获得第一次更新后的数据点隐向量,实际上是将第一向量,作为第一次更新后的图注意神经网络模型的输入数据,以获得第一次更新后的数据点隐向量。
类似地,在获得第一次更新后的数据点隐向量之后,还可以基于第一次更新后的数据点隐向量,更新初始混合分布参数,获得第一次更新后的混合分布参数。图1中左侧第三列的μ (1),π (1),κ (1)即为第一次更新后的混合分布参数。
同样地,在获得第一次更新后的混合分布参数之后,可以基于第一次更新后的混合分布参数更新第一次更新后的图注意神经网络模型中的模型参数,获得第二次更新后的图注意神经网络模型。之后,基于第二次更新后的图注意神经网络模型,更新第一次更新后的数据点隐向量,获得第二次更新后的数据点隐向量。图1中左侧第四列的向量即为第二次更新后的数据点隐向量。上述基于第二次更新后的图注意神经网络模型,更新第一次更新后的数据点隐向量,获得第二次更新后的数据点隐向量,实际上是将第一向量,作为第二次更新后的图注意神经网络模型的输入数据,以获得第二次更新后的数据点隐向量。
在获得第二次更新后的数据点隐向量之后,还可以基于第二次更新后的数据点隐向量,更新第一次更新后的混合分布参数,获得第二次更新后的混合分布参数。图1中左侧第四列的μ (2),π (2),κ (2)即为第二次更新后的混合分布参数。
按照上述迭代过程,可以获得最后一次更新的图注意神经网络模型,最后一次更新的图注意神经网络模型作为目标图注意神经网络模型。将第一向量作为目标图注意神经网络模型的输入数据,即可确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量,图1中最右侧一列的向量即为目标数据点隐向量。
在获得目标数据点隐向量之后,即可基于目标数据点隐向量,获得数据点在超球面模型上混合分布的目标混合分布参数。图1中最右侧一列的μ (M),π (M),κ (M)即为目标混合分布参数。
上述最后一次迭代过程,超球面模型对应的损失函数符合预设条件。
第一实施例
本申请第一实施例提供一种数据聚类方法,以下结合图2进行说明。
请参照图2,其为本申请第一实施例提供的数据聚类方法的流程图。需要说明的是,关于本实施例的一些详细内容在上述描述中已经说明,此处不再赘述。
本申请实施例的数据聚类方法,包括如下步骤:
步骤S201:获取待聚类的图结构化的数据点。
在本实施例中,数据聚类方法用于对图结构化的数据进行分类以达到对对象分类的目的。具体地,在该数据聚类方法中,本质上是对图结构化的数据进行分类,首先,获取待聚类的图结构化的数据点。之所以将这些数据作为数据点,是因为在图结构中,这些数据点可以作为节点。
图结构化的数据点可以基于由多个数据点组成的网络图获得,在该网络图中,数据点作为节点,每个节点中包含着对应数据点自身的属性信息,数据点与数据点之间的连接结构作为边。实际上,数据点与数据点之间的连接结构可以是数据点与数据点之间的关联关系。该网络图可以是预先构建的。
例如,在一些社交应用中,社交应用中注册的用户可以作为数据点,即作为图数据的节点。在这些社交应用的用户中,用户之间可能存在关联关系,例如一些用户是其他用户的粉丝用户,或者,一些用户与其他用户互为对方的粉丝用户。将这些注册用户自身的属性信息作为数据点的属性信息;用户之间的关联关系信息作为数据点之间的连接结构信息。
在上述列举的社交应用中,如果将用户作为图结构化的节点,则将用户之间的关联关系作为边,基于节点与边则可以构建用于表示该社交应用中的用户的网络图。
本申请的数据聚类方法恰好可以用来对该社交应用中的用户进行分类,例如,可以将具有较多粉丝用户的用户分类为主播用户或者活跃用户。主播用户或者活跃用户即为用户聚类结果的一种示例。
步骤S202:基于数据点,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量。
在本实施例中,在确定数据点之后,作为基于数据点确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量的一种实施方式:首先,基于数据点,获得数据点的属性信息与数据点之间的连接结构信息;之后,采用数据点的属性信息与数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型;再之后,对预训练好的图注意神经网络模型进行更新,获得目标图注意神经网络模型;最终,基于目标图注意神经网络模型,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量。
当然,上述基于数据点获得数据点的属性信息与数据点之间的连接结构信息的过程是指对网络图进行分析获得的。
图注意神经网络模型是一种包含自编码器的模型,该编码器用来把节点从属性空间映射到隐空间,具体地,把节点从属性空间映射到隐空间,是指将用于对数据点进行向量表示从属性空间映射到隐空间。
需要说明的是,在获得目标数据点隐向量之前,需要先对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型,然后再对预训练好的图注意神经网络模型进行迭代更新,获得最终更新后的目标图注意神经网络模型。
在获得目标图注意神经网络模型后,将第一向量作为目标图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量。
具体地,作为将第一向量作为目标图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的目标数据点隐向量的一种方式:首先,将第一向量作为目标图注意神经网络模型的输入数据,并将目标图注意神经网络模型的输出数据作为第二向量,将目标图注意神经网络模型压缩第一向量后的向量作为目标数据点隐向量;第二向量为基于目标数据点隐向量构造的向量;其中,当对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型时,第一向量与第二向量满足预设的匹配度条件。
在本实施例中,目标图注意神经网络模型包含编码器与解码器;编码器用于将第一向量压缩为目标数据点隐向量,解码器用于将目标数据点隐向量解码为第二向量。
在本实施例中,第一向量与第二向量满足预设的匹配度条件可以是指二者之间的差异满足预先设定的差异标准条件。
具体地,采用如下方式将目标数据点隐向量解码为第二向量:首先,采用与编码器编码对称的方式作为解码器的解码方式,解码目标数据点隐向量,获得第二向量中的属性信息向量;同时,采用非线性内积操作的方式,获得第二向量中的连接结构信息向量;之后,基于属性信息向量与连接结构信息向量,获得第二向量。
上述第一向量是基于数据点的属性信息与数据点之间的连接结构信息,获得的在属性空间内用于对数据点进行向量表示的向量。在上述采用数据点的属性信息与数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型时,实际上也是采用第一向量对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型。
在采用第一向量对初始图注意神经网络模型进行预训练时,将第一向量作为初始图注意神经网络模型的输入数据,获得初始图注意神经网络模型的输出数据,将初始图注意神经网络模型的输出数据作为第二向量。当第一向量与第二向量满足预设的匹配度条件时,就可以认为对初始图注意神经网络模型的预训练过程完成了。
具体地,图注意神经网络模型包含编码器与解码器;编码器用于将第一向量压缩为数据点隐向量,解码器用于将数据点隐向量解码为第二向量。在本实施例中,解码器用于基于数据点隐向量重构属性信息和结构信息,以获得第二向量。当第一向量与第二向量的差异满足预设的匹配度条件时,就可以认为对初始图注意神经网络模型的预训练过程完成了。
上述解码器采用如下方式将数据点隐向量解码为第二向量:首先,采用与编码器编码对称的方式作为解码器的解码方式,解码数据点隐向量,获得第二向量中的属性信息向量;同时,采用非线性内积操作的方式,获得第二向量中的连接结构信息向量;之后,即可基于属性信息向量与连接结构信息向量,获得第二向量。
对初始图注意神经网络模型进行预训练的过程,实质上是看解码器不断重构属性信息和结构信息的过程,当解码器重构属性信息和结构信息对应的第二向量与第一向量之间的差异满足预设的匹配度条件时,即可获得预训练好的图注意神经网络模型。具体可以通过如下过程对预训练过程进行详细阐述。
在图注意神经网络模型的编码器中,第l层为:
其中,
为节点
v i 的领域,
是非线性激活函数,
是注意力因子,表示领域节点
v j 对节点
v i 的重要性,
W (l)为参数矩阵。
解码器由两部分组成,一部分用于解码属性信息,一个用来解码结构信息。前一部分的解码方式和编码器对称,后一部分采用简单的非线性内积操作,非线性内积操作如下:
其中,
为节点
v i 的中间隐层在超球面上的表示,
L为编码器中总的编码层数,通过上述公式可以构建属性重构损失函数
和结构重构损失函数
,其中,
与
表示如下:
当属性重构损失函数与结构重构损失函数的和
取得最小值时,预训练可以结束。在上述公式中,
为节点
v i 和
v j 的属性特征值的余弦相似度,
为预训练过程的学习目标函数。
N代表总共的节点个数,
x代表输入的特征。需要说明的是,上述节点可以是指数据点,输入的特征可以是指第一向量。
步骤S203:基于目标数据点隐向量,获得数据点在超球面模型上混合分布的目标混合分布参数。
在获得目标数据点隐向量之后,基于目标数据点隐向量,获得数据点在超球面模型上混合分布的目标混合分布参数。
具体地,作为基于目标数据点隐向量,获得数据点在超球面模型上混合分布的目标混合分布参数的一种方式:首先,基于目标数据点隐向量,确定超球面模型各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数;之后,根据超球面模型的各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数,确定数据点在超球面模型上混合分布的目标混合分布参数。
在本实施例中,在基于目标数据点隐向量,确定超球面模型的各个簇聚类中心时,采用中心吸引-排斥的策略;其中,吸引-排斥策略包括使聚类中心靠近数据点密集的位置、远离数据点稀疏的位置。
在本实施例中,需要将预训练好的图注意神经网络模型与超球面模型进行相互迭代,具体包括:首先,将第一向量,作为预训练好的图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对数据点进行向量表示的初始数据点隐向量。
之后,基于初始数据点隐向量,获得数据点在超球面模型上混合分布的初始混合分布参数。
在获得初始混合分布参数之后,基于初始混合分布参数,更新预训练好的图注意神经网络模型中的模型参数,获得第一次更新后的图注意神经网络模型。
再之后,基于第一次更新后的图注意神经网络模型,更新初始数据点隐向量,获得第一次更新后的数据点隐向量。
获得第一次更新后的数据点隐向量之后,基于第一次更新后的数据点隐向量,更新初始混合分布参数,获得第一次更新后的混合分布参数。
获得第一次更新后的混合分布参数之后,基于第一次更新后的混合分布参数更新第一次更新后的图注意神经网络模型中的模型参数,获得第二次更新后的图注意神经网络模型。
再之后,基于第二次更新后的图注意神经网络模型,更新第一次更新后的数据点隐向量,获得第二次更新后的数据点隐向量。
再之后,基于第二次更新后的数据点隐向量,更新第一次更新后的混合分布参数,获得第二次更新后的混合分布参数;以此类推,直至超球面模型对应的损失函数符合预设条件,将最后一次更新的图注意神经网络模型作为目标图注意神经网络模型,将最后一次更新的数据点隐向量作为目标数据点隐向量,将最后一次更新的混合分布参数作为目标混合分布参数。
上述初始混合分布参数是基于预训练好的图注意神经网络模型提供的初始数据点隐向量获得的,具体原理如下:
通过引入混合冯·米赛斯-费舍尔分布来对超球面上的节点特征分布进行建模,其概率密度函数可以表示为:
其中,
是各个成分(各个成分可以指各个簇)的混合比例,第
C个成分的质心为
,质心可以是指簇的聚类中心,聚合度系数为
,其概率密度函数中
为:
其中,
为归一化常数,
是修正的第一类
阶贝塞尔函数,用
代表迭代的索引,在第
t次迭代中,点
属于簇
C的后验概率为:
其中,
为聚类参数,即:混合分布参数。直接最大化后验概率似然会导致退化的解,为避免这种极端情况,通过限制后验概率的分布与混合比例保持一致,因此更新后的后验概率应该满足下面约束优化问题:
其中,其中H是熵函数,λ是控制簇均衡度的平滑参数,求解上述约束优化问题,可以通过Sinkhorn不动点迭代,即通过如下方式迭代:
最终更新后的
,最后预测的伪标签为
。伪标签即为输出的聚类结果标签。输出的聚类结果标签可以是指属于哪个簇的标签。
上述介绍的为初始混合分布参数的获得过程。
之后,固定节点表征,基于节点的伪标签,对聚类参数进行校正更新。对于混合比例参数
,可以通过预测到每个簇的混合比例进行估计,即:
对于簇的质心
,由于初始化的节点表征并不具备簇分离的特性,因此,簇中心应该位于后验概率预测较大的节点附近,而且要远离后验概率较小的节点,即聚类中心靠近数据点密集的位置、远离数据点稀疏的位置。因此,簇的质心更新方式为:
上述过程即为对混合分布参数进行更新的过程。
因此,从最大似然的角度,定义迭代过程的预测损失函数
,其具体为:
则在整个对初始图注意神经网络模型进行预训练与后续迭代更新的过程,全局损失函数为
,其具体为:
其中,
为平衡重建损失和预测损失的超参数。通过
来更新节点的表征。
步骤S204:根据目标混合分布参数,确定数据点在超球面模型的各个簇分布的概率,基于数据点在超球面模型的各个簇分布的概率,获得数据点的聚类结果信息。
在确定目标混合分布参数之后,即可确定各个数据点在超球面模型的各个簇分布的概率;进而基于数据点在超球面模型的各个簇分布的概率,获得数据点的聚类结果信息。
例如,可以将数据点分布概率最大的簇作为其所在的分布的簇,进而可以确定数据点属于哪个簇。
由于该实施例的聚类方法是基于超球面模型作为整体框架,可以获得不同簇的差异性。基于不同簇后续获得的数据点在所述超球面模型的各个簇分布的概率,能够使得最终的数据点的聚类结果更符合实际,因此,最终的聚类结果更为准确。
第二实施例
与本申请第一实施例提供的数据聚类方法相对应的,本申请第二实施例还提供一种数据聚类装置。由于装置实施例基本相似于第一实施例,所以描述得比较简单,相关之处参见第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图3,其为本申请第二实施例提供的数据聚类装置的示意图。
该数据聚类装置,包括:
数据点获取单元301,用于获取待聚类的图结构化的数据点;
目标隐向量确定单元302,用于基于所述数据点,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量;
目标混合分布参数获得单元303,用于基于所述目标数据点隐向量,获得所述数据点在所述超球面模型上混合分布的目标混合分布参数;
概率确定单元304,用于根据所述目标混合分布参数,确定所述数据点在所述超球面模型的各个簇分布的概率;
聚类结果信息获得单元305,用于基于所述数据点在所述超球面模型的各个簇分布的概率,获得所述数据点的聚类结果信息。
可选的,所述目标隐向量确定单元,具体用于:
基于所述数据点,获得所述数据点的属性信息与所述数据点之间的连接结构信息;
采用所述数据点的属性信息与所述数据点之间的连接结构信息,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型;
对所述预训练好的图注意神经网络模型进行更新,获得目标图注意神经网络模型;
基于所述目标图注意神经网络模型,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量。
可选的,所述目标隐向量确定单元,具体用于:
基于所述数据点的属性信息与所述数据点之间的连接结构信息,获得在属性空间内用于对所述数据点进行向量表示的第一向量;
采用所述第一向量,对初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型。
可选的,所述目标隐向量确定单元,具体用于:
将所述第一向量作为所述目标图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的目标数据点隐向量。
可选的,所述目标隐向量确定单元,具体用于:
将所述第一向量作为所述目标图注意神经网络模型的输入数据,并将所述目标图注意神经网络模型的输出数据作为第二向量,将所述目标图注意神经网络模型压缩所述第一向量后的向量作为所述目标数据点隐向量;所述第二向量为基于所述目标数据点隐向量构造的向量;其中,当对所述初始图注意神经网络模型进行预训练,获得预训练好的图注意神经网络模型时,所述第一向量与所述第二向量满足预设的匹配度条件。
可选的,所述目标图注意神经网络模型包含编码器与解码器;
所述编码器用于将所述第一向量压缩为所述目标数据点隐向量,所述解码器用于将所述目标数据点隐向量解码为所述第二向量。
可选的,还包括:第二向量获得单元,所述第二向量获得单元,具体用于:采用如下方式将所述目标数据点隐向量解码为所述第二向量:
采用与所述编码器编码对称的方式作为所述解码器的解码方式,解码所述目标数据点隐向量,获得所述第二向量中的属性信息向量;
采用非线性内积操作的方式,获得所述第二向量中的连接结构信息向量;
基于所述属性信息向量与所述连接结构信息向量,获得所述第二向量。
可选的,还包括:迭代单元,所述迭代单元,具体用于:
将所述第一向量,作为所述预训练好的图注意神经网络模型的输入数据,确定在超球面模型涉及的隐空间内用于对所述数据点进行向量表示的初始数据点隐向量;
基于所述初始数据点隐向量,获得所述数据点在所述超球面模型上混合分布的初始混合分布参数;
基于所述初始混合分布参数,更新所述预训练好的图注意神经网络模型中的模型参数,获得第一次更新后的图注意神经网络模型;
基于所述第一次更新后的图注意神经网络模型,更新所述初始数据点隐向量,获得第一次更新后的数据点隐向量;
基于所述第一次更新后的数据点隐向量,更新所述初始混合分布参数,获得第一次更新后的混合分布参数;
基于所述第一次更新后的混合分布参数更新所述第一次更新后的图注意神经网络模型中的模型参数,获得第二次更新后的图注意神经网络模型;
基于所述第二次更新后的图注意神经网络模型,更新所述第一次更新后的数据点隐向量,获得第二次更新后的数据点隐向量;
基于所述第二次更新后的数据点隐向量,更新所述第一次更新后的混合分布参数,获得第二次更新后的混合分布参数;以此类推,直至所述超球面模型对应的损失函数符合预设条件,将最后一次更新的图注意神经网络模型作为所述目标图注意神经网络模型,将所述最后一次更新的数据点隐向量作为所述目标数据点隐向量,将所述最后一次更新的混合分布参数作为所述目标混合分布参数。
可选的,所述目标混合分布参数获得单元,具体用于:
基于所述目标数据点隐向量,确定所述超球面模型的各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数;
根据所述超球面模型的各个簇的聚类中心、数据点分布在各个簇所占的混合比例、数据点的聚合度系数,确定所述数据点在所述超球面模型上混合分布的目标混合分布参数。
可选的,所述目标混合分布参数获得单元,具体用于:在基于所述目标数据点隐向量,确定所述超球面模型的各个簇的聚类中心时,采用中心吸引-排斥的策略;其中,所述吸引-排斥策略包括使聚类中心靠近数据点密集的位置、远离数据点稀疏的位置。
第三实施例
本申请第三实施例提供一种用于对社交应用中用户的聚类方法,以下结合图4进行说明。
请参照图4,其为本申请第三实施例提供的用于对社交应用中用户的聚类方法的流程图。需要说明的是,关于本实施例的一些详细内容在上述第一实施例的描述中已经说明,此处不再赘述。该实施例是为了便于理解第一实施例的方法的具体场景的实施例。
本申请实施例的用于对社交应用中用户的聚类方法,包括如下步骤:
步骤S401:确定目标社交应用中的用户。
步骤S402:基于目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对用户进行向量表示的用户隐向量。
步骤S403:基于用户隐向量,获得用户在超球面模型上混合分布的目标混合分布参数。
步骤S404:根据目标混合分布参数,确定用户在超球面模型的各个簇分布的概率;基于用户在超球面模型的各个簇分布的概率,获得用户的聚类结果信息。
在本实施例中,还包括:构建包含多个用户的网络图;
作为基于目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对用户进行向量表示的用户隐向量的一种实施方式,可以是指:基于网络图,确定在超球面模型涉及的隐空间内用于对用户进行向量表示的用户隐向量。
在本实施例中,构建包含多个用户的网络图,包括:将每个用户作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图。
在本实施例中,还包括:获得用户的属性信息;将每个用户作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图,包括:
将每个用户以及对应的用户的属性信息作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图。
在该实施例中,用户的聚类结果可以包括以下至少一种:活跃用户与非活跃用户;粉丝用户与主播用户。
本申请的数据聚类方法,本质上是对多个对象进行分类,对象具体可以是指人,也可以是指物品。在采用本申请的数据聚类方法对对象进行分类时,将对象抽象地表示为数据点,即:数据点用于表示对象。例如,假设采用该方法对注册某个应用的用户进行分类,可以将用户抽象为节点,再对节点进行聚类,进而基于对节点的聚类结果获得对用户的聚类结果。
本实施例是对图结构化的数据点(节点)进行分类的示例。例如,在社交应用的用户中,用户之间可能存在关联关系,例如一些用户是其他用户的粉丝用户,或者,一些用户与其他用户互为关注的粉丝用户。通过利用本申请的数据聚类方法可以对社交应用中的用户进行分类。
请参照图5,其为本申请构建的包含多个用户的网络图的示意图。在图5中,采用节点1表示用户1,采用节点2表示用户2,采用节点3表示用户3,采用节点4表示用户4,单向箭头的指向表示用户被关注,双向箭头表示用户之间相互关注。通过图3中的节点1指向节点2,可以看出:用户2是用户1的关注用户,即:用户1是用户2的粉丝用户。同时,通过图3中的节点3指向节点2,可以看出:用户2是用户3的关注用户,即:用户3是用户2的粉丝用户。此外,通过图3中的节点2与节点4相互指向,可以看出:用户2与用户4相互关注,即:用户2与用户4互为粉丝用户。
通过将每个用户作为一个节点,将用户之间的关联关系作为节点之间的边,构建包含多个用户的网络图,进而便于记录用户之间的关系,以便于后续过程对用户进行分类或者聚类。
该实施例实际上可以将用户抽象为数据点,以最终确定用户在超球面模型的各个簇分布的概率,而利用的本申请的数据聚类方法将用户布置在超球面模型上时,各个簇的分布密度是不同的,最终获得的聚类结果也更为精确。本申请提供一种用于对社交应用中用户的聚类方法,由于该聚类方法,在确定目标社交应用中的用户之后,基于目标社交应用中的用户,确定在超球面模型涉及的隐空间内用于对用户进行向量表示的用户隐向量,并基于用户隐向量,获得用户在超球面模型上混合分布的目标混合分布参数;根据目标混合分布参数,确定用户在超球面模型的各个簇分布的概率;基于用户在超球面模型的各个簇分布的概率,获得用户的聚类结果信息。由于该方法基于超球面模型作为整体框架,可以获得超球面模型中的不同簇的差异性。基于不同簇获得的用户在超球面模型的各个簇分布的概率,能够使得最终的用户的聚类结果更符合实际,聚类结果更为准确。
第四实施例
与本申请第一实施例与第三实施例的方法相对应的,本申请第四实施例还提供一种电子设备。
如图6所示,图6为本申请第四实施例中提供的一种电子设备的示意图。该电子设备,包括:处理器601;存储器602,用于存储计算机程序,该计算机程序被处理器运行,执行第一实施例与第三实施例的方法。
第五实施例
与本申请第一实施例与第三实施例的方法相对应的,本申请第五实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行第一实施例与第三实施例的方法。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读存储媒体(non-transitorycomputer readable storage media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。