CN117272075A - 数据聚类方法、装置、电子设备及存储介质 - Google Patents
数据聚类方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117272075A CN117272075A CN202211376008.9A CN202211376008A CN117272075A CN 117272075 A CN117272075 A CN 117272075A CN 202211376008 A CN202211376008 A CN 202211376008A CN 117272075 A CN117272075 A CN 117272075A
- Authority
- CN
- China
- Prior art keywords
- data
- sample
- distribution
- time sequence
- loss
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000009826 distribution Methods 0.000 claims abstract description 329
- 238000012549 training Methods 0.000 claims abstract description 84
- 238000006243 chemical reaction Methods 0.000 claims abstract description 48
- 238000005070 sampling Methods 0.000 claims abstract description 46
- 230000008485 antagonism Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 80
- 238000013507 mapping Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 7
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000007634 remodeling Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 18
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 26
- 238000012360 testing method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 238000011084 recovery Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据聚类方法、装置、电子设备及存储介质,通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的所述编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性,可以广泛应用于云技术、人工智能等技术领域。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种数据聚类方法、装置、电子设备及存储介质。
背景技术
聚类即是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,随着互联网技术的快速发展,聚类在互联网中的应用变得越来越广泛。当前,传统聚类算法往往基于数据之间的欧氏距离或曼哈顿距离进行类间划分,不能直接运用到多维时序数据聚类任务中,因为当待聚类数据的数据维度大小增加时,往往传统的聚类算法的性能会下降,从而降低了聚类的准确性。
发明内容
以下是对本申请详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种数据聚类方法、装置、电子设备及存储介质,能够提升多维时序数据的聚类准确性。
一方面,本申请实施例提供了一种数据聚类方法,包括:
获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练;
获取多个目标多维时序数据,根据训练后的所述编码器对所述目标多维时序数据进行映射,得到目标编码数据,根据所述目标编码数据得到多个所述目标多维时序数据的聚类结果。
另一方面,本申请实施例还提供了一种模型训练方法,包括:
获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练。
另一方面,本申请实施例还提供了一种数据聚类装置,包括:
数据获取模块,用于获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
第一处理模块,用于基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
训练模块,用于根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练;
第二处理模块,用于获取多个目标多维时序数据,根据训练后的所述编码器对所述目标多维时序数据进行映射,得到目标编码数据,根据所述目标编码数据得到多个所述目标多维时序数据的聚类结果。
进一步,上述数据获取模块具体用于:
根据所述参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量;
确定预设的聚类类别数量,根据所述聚类类别数量,利用随机数生成第一离散变量;
将所述第一连续变量和所述第一离散变量进行拼接,得到所述样本分布数据。
进一步,所述目标连续分布为正态分布,上述数据获取模块具体用于:
根据预设的分布平均值和预设的分布标准差获取对应的正态分布;
对所述参考多维时序数据的序列长度进行取整,得到采样数量;
根据所述采样数量在所述正态分布中进行采样,得到所述第一连续变量。
进一步,所述生成器包括第一线性层和反卷积层,上述第一处理模块具体用于:
将所述样本分布数据输入至所述生成对抗网络的生成器中;
基于所述第一线性层对所述样本分布数据进行全连接处理,得到第一分布数据;
基于所述反卷积层对所述第一分布数据进行反卷积处理,得到维度大小与所述参考多维时序数据相同的所述样本对抗数据。
进一步,所述第一线性层的数量为两个,所述生成器还包括第一重塑单元,上述第一处理模块具体用于:
基于其中一个所述第一线性层对所述样本分布数据进行变换处理,得到第二分布数据;
基于另一个所述第一线性层对所述第二分布数据进行升维处理,得到第三分布数据;
基于所述第一重塑单元对所述第三分布数据进行重塑处理,得到所述第一分布数据。
进一步,所述编码器包括第一卷积层和第二线性层,上述第一处理模块具体用于:
将所述样本对抗数据输入至所述编码器中;
基于所述第一卷积层对所述样本对抗数据进行卷积处理,得到第四分布数据;
基于所述第二线性层对所述第四分布数据进行全连接处理,得到维度大小与所述样本分布数据相同的所述样本编码数据。
进一步,所述样本分布数据由第一连续变量和第一离散变量拼接得到,所述第二线性层的数量为两个,所述编码器还包括第二重塑单元和分割单元,上述第一处理模块具体用于:
基于所述第二重塑单元对所述第四分布数据进行重塑处理,得到第五分布数据;
基于其中一个所述第二线性层对所述第五分布数据进行降维处理,得到第六分布数据;
基于另一个所述第二线性层对所述第六分布数据进行变换处理,得到第七分布数据;
基于所述分割单元对所述第七分布数据进行分割处理,得到所述第二连续变量和所述第二离散变量,将所述第二连续变量和所述第二离散变量作为所述样本编码数据,其中,所述第二连续变量与所述第一连续变量的维度大小相同,所述第二离散变量与所述第一离散变量的维度大小相同。
进一步,上述训练模块具体用于:
基于所述生成对抗网络的判别器得到所述参考多维时序数据的第一判别结果,基于所述判别器得到所述样本对抗数据的第二判别结果;
根据所述第一判别结果和所述第二判别结果计算所述判别器的判别损失;
根据所述第二判别结果计算所述生成器的生成损失;
将所述判别损失和所述生成损失作为所述生成对抗网络的对抗损失。
进一步,所述样本分布数据由第一连续变量和第一离散变量拼接得到,所述样本编码数据由第二连续变量和第二离散变量拼接得到,上述训练模块具体用于:
根据所述第一连续变量和所述第二连续变量计算第一损失;
根据所述第一离散变量和所述第二离散变量计算第二损失;
将所述第一损失和所述第二损失进行加权,得到加权损失;
根据所述第二判别结果和所述加权损失计算所述生成器的生成损失。
进一步,上述训练模块具体用于:
计算所述参考多维时序数据和所述样本对抗数据进行加权后的梯度,根据所述梯度计算正则项;
计算所述第一判别结果和所述第二判别结果之差,得到第一差值;
根据所述第一差值和所述正则项计算所述判别器的判别损失。
进一步,上述训练模块具体用于:
计算所述样本分布数据和所述样本编码数据之差,得到第二差值;
计算所述参考多维时序数据和所述样本对抗数据之差,得到第三差值;
计算所述第二差值和所述第三差值之和的第一平均值,将所述第一平均值作为所述编码器的转换损失。
进一步,上述数据获取模块具体用于:
获取原始多维时序数据,基于预设时长的滑动窗口对所述原始多维时序数据进行裁切,得到分割多维时序数据;
对所述分割多维时序数据进行归一化处理,得到所述参考多维时序数据。
进一步,所述分割多维时序数据包括多个维度类型的时间序列数据,上述数据获取模块具体用于:
从所述时间序列数据中提取出多个原始子数据,根据多个所述原始子数据计算所述时间序列数据的序列平均值、序列最大值以及序列最小值;
计算所述时间序列数据中各个原始子数据与所述序列平均值之差,得到第四差值;
计算所述序列最大值以及序列最小值之差,得到第五差值;
根据所述第四差值与所述第五差值得到所述参考多维时序数据。
另一方面,本申请实施例还提供了一种模型训练装置,包括:
数据获取模块,用于获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
第一处理模块,用于基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
训练模块,用于根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练。
另一方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的数据聚类方法或者模型训练方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述的数据聚类方法或者模型训练方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的数据聚类方法或者模型训练方法。
本申请实施例至少包括以下有益效果:通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据,此时,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,再根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的所述编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性;另外,在训练过程中,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,能够提升生成对抗网络中生成器的映射性能,使得样本对抗数据更加接近参考多维时序数据,有利于提升编码器的训练效果。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种可选的实施环境的示意图;
图2为本申请实施例提供的数据聚类方法的一种可选的流程示意图;
图3为本申请实施例提供的一种可选的训练架构示意图;
图4为本申请实施例提供的生成器的一种可选的结构示意图;
图5为本申请实施例提供的生成器的另一种可选的结构示意图;
图6为本申请实施例提供的编码器的一种可选的结构示意图;
图7为本申请实施例提供的编码器的另一种可选的结构示意图;
图8为本申请实施例提供的判别器的一种可选的结构示意图;
图9为本申请实施例提供的模型训练方法的一种可选的流程示意图;
图10为本申请实施例提供的训练流程的一种可选的总体示意图;
图11为本申请实施例提供的训练流程的一种可选的细化示意图;
图12为本申请实施例提供的数据分析系统的一种可选的架构示意图;
图13本申请实施例提供的数据聚类装置的一种可选的结构示意图;
图14本申请实施例提供的模型训练装置的一种可选的结构示意图;
图15为本申请实施例提供的终端的部分结构框图;
图16为本申请实施例提供的服务器的部分结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准其中,目标对象可以是用户。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
聚类:聚类是一个无监督任务,将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。聚类是一种无监督学习方法,聚类就是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使类内差异最小,类间差异最大。其目的是根据某种相似度度量对数据集进行划分,将没有类别的数据样本划分成若干个不同的子集,这样的一个子集称为簇(cluster),聚类使得同一个簇中的数据对象彼此相似,不同簇中的数据对象彼此不同,即通常所说的“物以类聚”。
时序数据:即时间序列数据(time series data),是在不同时间点上收集到的数据,用于所描述现象随时间变化的情况。时间序列是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内,依照给定的采样率,对某种潜在过程进行观测的结果。是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。这类数据反映了某一事物、现象等随时间的变化状态或程度。
多维时序数据(Multidimension time series data):指的是一组衡量事物或现象多个特征的时间序列数据,由多条时序数据组成,每一条描述了一个维度随时间的变化状态或程度。
生成对抗网络:即GAN(Generative Adversarial Network),由两个部分组成,生成器G和判别器D(又称鉴别器),GAN的工作原理是已经知道最终鉴别的目标是什么,但不知道假目标是什么,它会对生成器所产生的假目标做惩罚并对真目标进行奖励,这样判别器就知道了不好的假目标与好的真目标具体是什么。生成器则是希望通过进化,产生比上一次更好的假目标,使判别器对自己的惩罚更小。以上是一个循环,在下一个循环中判别器通过学习上一个循环进化出的假目标和真目标,再次进化对假目标的惩罚,同时生成器再次进化,直到与真目标一致,结束进化。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
当前,传统聚类算法往往基于数据之间的欧氏距离或曼哈顿距离进行类间划分,不能直接运用到多维时序数据聚类任务中,因为当待聚类数据的数据维度大小增加时,往往传统的聚类算法的性能会下降,从而降低了聚类的准确性。
基于此,本申请实施例提供了一种数据聚类方法、装置、电子设备及存储介质,能够提升多维时序数据的聚类准确性。
参照图1,图1为本申请实施例提供的一种可选的实施环境的示意图,该实施环境包括多个终端101和服务器102,其中,终端101和服务器102之间通过通信网络连接。
示例性地,各个终端101可以将自身的参考多维时序数据发送至服务器102,服务器102接收各个终端101的参考多维时序数据,并在预设的目标连续分布中进行采样得到样本分布数据;基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据;根据样本编码数据和样本分布数据确定编码器的转换损失,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练;获取多个目标多维时序数据,根据训练后的编码器对目标多维时序数据进行映射,得到目标编码数据,根据目标编码数据得到多个目标多维时序数据的聚类结果。
除此以外,也可以是服务器102将训练后的编码器下发至任意一个终端101,该终端101根据训练后的编码器对目标多维时序数据进行映射,得到目标编码数据,根据目标编码数据得到多个目标多维时序数据的聚类结果。
服务器102通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据,此时,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,再根据样本编码数据和样本分布数据确定编码器的转换损失,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性;另外,在训练过程中,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,能够提升生成对抗网络中生成器的映射性能,使得样本对抗数据更加接近参考多维时序数据,有利于提升编码器的训练效果。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。另外,服务器102还可以是区块链网络中的一个节点服务器。
终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端101以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
本申请实施例提供的方法可应用于各种技术领域,包括但不限于云技术、人工智能等技术领域。
参照图2,图2为本申请实施例提供的数据聚类方法的一种可选的流程示意图,该数据聚类方法可以由终端执行,或者也可以由服务器执行,或者也可以由终端和服务器配合执行,该数据聚类方法包括但不限于以下步骤201至步骤204。
步骤201:获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据。
在一种可能的实现方式中,参考多维时序数据可以是真实采集的多维时序数据,作为后续的比对基准数据,多维时序数据可以由多个维度类型的时序数据组合而成,例如,多维时序数据可以由终端的带宽、延迟、丢包、帧率、CPU负载、RAM负载等探测值组成,带宽、延迟、丢包、帧率、CPU负载、RAM负载分别为多维时序数据的不同的维度类型,各个维度类型的时序数据由多个时间点的采样值组成,例如带宽维度的时序数据由终端在多个时间点的带宽值组成。可以理解的是,多维时序数据所涉及的场景并不局限于前述例子中带宽、延迟这类能够体现终端的运行状态的参数,例如多维时序数据也可以是某个网页的在线终端数、点击次数、登录次数等,本申请实施例不做限定。
在一种可能的实现方式中,目标连续分布即连续型函数的分布,例如正态分布、均匀分布、伽马分布、指数分布等,样本分布数据为从目标连续分布中采样得到的变量,在预设的目标连续分布中进行采样,可以是采用逆变换等采样方式,例如平移或者拉伸等。在此基础上,还可以利用参考分布来对目标连续分布进行采样,具体可以计算参考分布的密度函数,利用逆变换的方式采样该参考分布的样本,然后计算该参考分布的样本的接受概率,根据接收概率来判断从目标连续分布中采样得到的样本分布数据是否符合要求,以正态分布为例,参考分布可以是指数分布等等,本申请实施例不做限定。通过引入参考分布来对目标连续分布进行采样,有利于提升从目标连续分布中采样得到的样本分布数据的合理性。
其中,采样得到样本分布数据用于后续映射为维度大小与参考多维时序数据相同的样本对抗数据,在预设的目标连续分布中进行采样得到样本分布数据时,可以是在预设的目标连续分布中进行采样得到第一连续变量,将第一连续变量直接作为样本分布数据,在预设的目标连续分布中进行采样得到的第一连续变量,能够保持良好的类间插值,在进行聚类时有利于提升数据的恢复效果。
除此以外,在预设的目标连续分布中进行采样得到样本分布数据时,具体也可以根据参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量,确定预设的聚类类别数量,根据聚类类别数量,利用随机数生成第一离散变量,将第一连续变量和第一离散变量进行拼接,得到样本分布数据。
一方面,在预设的目标连续分布中进行采样时,采样数量是根据参考多维时序数据的序列长度而定的,参考多维时序数据的序列长度即参考多维时序数据的采样时间步长,例如若参考多维时序数据的序列长度为3,则得到的第一连续变量的数量也为3。通过根据参考多维时序数据的序列长度,在预设的目标连续分布中进行采样得到第一连续变量,可以使得第一连续变量的数据规模更加接近参考多维时序数据,后续在对样本分布数据进行映射时,有利于提升数据的恢复效果。
另一方面,除了在预设的目标连续分布中进行采样,还进一步根据聚类类别数量,利用随机数生成第一离散变量,聚类类别数量可以根据实际情况预先设定,假设需要聚类的簇的数量为3,即聚类类别数量为3,则第一离散变量的数量也为3个。其中,第一离散变量可以采用独热编码的形式。通过利用随机数生成第一离散变量,可以使得在进行聚类时特征更好划分,提升聚类效率。
例如,假设第一连续变量的数量为Latent_dim,第一离散变量的数量为N_Class,则样本分布数据的维度大小为Latent_dim+N_Class。
可见,除了直接利用第一连续变量作为样本分布数据以外,还可以进一步引入第一离散变量,将第一连续变量和第一离散变量进行拼接,得到样本分布数据,此时,样本分布数据既包括连续部分,也包括离散部分,第一连续变量可以用于进行数据恢复,提升数据恢复效果,而第一离散变量可以用于后续进行聚类操作,提升聚类效率,从而既能够保持良好的类间插值(正态随机变量),又能实现更好的聚类效果(独热编码),可以从整体上提升样本分布数据在聚类应用场景下的可靠性。
在一种可能的实现方式中,当目标连续分布为正态分布时,根据参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量,具体可以根据预设的分布平均值和预设的分布标准差获取对应的正态分布,对参考多维时序数据的序列长度进行取整,得到采样数量,根据采样数量在正态分布中进行采样,得到第一连续变量。
其中,预设的分布平均值和预设的分布标准差可以根据实际情况设定,在一种可能的实现方式中,分布平均值可以为0,分布标准差可以为1,此时目标连续分布为标准正态分布,可以表示为N(0,1),能够更加契合聚类任务。
并且,为了应对参考多维时序数据的序列长度不是整数的情况,通过对参考多维时序数据的序列长度进行取整,保持采样数量为整数。其中,对序列长度的取整方式可以是向上取整,也可以是向下取整,本申请实施例不做限定。
步骤202:基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据。
在一种可能的实现方式中,参照图3,图3为本申请实施例提供的一种可选的训练架构示意图,在该训练架构中设置有生成对抗网络和编码器,生成对抗网络的生成器用于对样本分布数据进行映射,生成维度大小与参考多维时序数据相同的样本对抗数据,实际上是将样本分布数据所在的特征空间转移为参考多维时序数据所在的特征空间。
例如,假设参考多维时序数据的维度大小为D*S,其中,D表示参考多维时序数据的维度类型,S表示参考多维时序数据的的序列长度,则生成的样本对抗数据的维度大小为D*S。
类似地,编码器用于对样本对抗数据进行映射,生成维度大小与样本分布数据相同的样本编码数据,实际上是将样本对抗数据所在的特征空间转移为样本编码数据所在的特征空间,可见,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,从而能够利用生成对抗网络的生成器来训练编码器,进而后续可以利用训练后的编码器将待聚类的多个目标多维时序数据进行映射,得到的目标编码数据所在的特征空间能够具备样本分布数据所在的特征空间的优点,即当样本分布数据包括第一连续变量时,得到的目标编码数据能够保持良好的类间插值,在进行聚类时有利于提升数据的恢复效果;当样本分布数据包括第一连续变量和第一离散变量时,得到的目标编码数据既能够保持良好的类间插值,又能实现更好的聚类效果。
步骤203:根据样本编码数据和样本分布数据确定编码器的转换损失,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练。
其中,由于样本编码数据和样本分布数据是一组相互对应的数据,因此,可以基于样本编码数据和样本分布数据来计算编码器的转换损失,例如,当样本分布数据只包括第一连续变量时,可以采用平均均方误差等方式来计算样本编码数据和样本分布数据之间的平均均方误差,来得到编码器的转换损失。
而对于生成对抗网络来说,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,具体可以是利用生成对抗网络的判别器分别对样本对抗数据和参考多维时序数据进行判别,得到参考多维时序数据的第一判别结果和样本对抗数据的第二判别结果,根据第一判别结果和第二判别结果确定生成对抗网络的对抗损失。在此基础上,为了进一步细化生成对抗网络的损失值计算,根据第一判别结果和第二判别结果确定生成对抗网络的对抗损失,具体可以是根据第一判别结果和第二判别结果计算判别器的判别损失,根据第二判别结果计算生成器的生成损失,将判别损失和生成损失作为生成对抗网络的对抗损失。
在一种可能的实现方式中,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练,可以是根据转换损失对编码器进行训练,根据对抗损失对生成对抗网络进行训练,由于编码器的训练需要基于生成器生成的样本对抗数据,因此对编码器和对生成对抗网络的训练具备关联性。除此以外,也可以根据转换损失和对抗损失加权计算目标损失,根据目标损失一并对编码器和生成对抗网络进行训练。另外,对于生成对抗网络来说,具体可以根据生成损失对生成器进行训练,根据判别损失对判别器进行训练,或者,也可以根据生成损失和判别损失加权计算对抗损失,根据对抗损失一并对生成器和判别器进行训练。
步骤204:获取多个目标多维时序数据,根据训练后的编码器对目标多维时序数据进行映射,得到目标编码数据,根据目标编码数据得到多个目标多维时序数据的聚类结果。
其中,目标多维时序数据即待聚类的多维时序数据,在对多个目标多维时序数据进行聚类时,只需要使用到编码器,对目标多维时序数据进行映射,得到目标编码数据,利用目标编码数据来适应多维时序数据的聚类任务,从而提升多维时序数据的聚类鲁棒性与泛化性能。
在一种可能的实现方式中,在得到目标编码数据后,可以对目标编码数据进行降维处理,根据降维处理后的目标编码数据来对多个目标多维时序数据进行聚类,具体地,可以确定目标编码数据中任意一个数据点与目标编码数据中其余的数据点之间的距离,接着将目标编码数据中各个数据点随机投影到维度比目标编码数据所在的特征空间低的另一个特征空间中,然后根据目标编码数据中任意一个数据点与目标编码数据中其余的数据点之间的距离,移动目标编码数据中的数据点,直至在另一个特征空间中的数据点分布与目标编码数据所在的原始的特征空间中的数据点分布一致时,得到降维处理后的目标编码数据。在得到目标编码数据后,通过对目标编码数据进行降维处理,能够进一步地提升对多个目标多维时序数据进行聚类的效率。
在一种可能的实现方式中,在根据目标编码数据对多个目标多维时序数据进行聚类时,具体可以将多个目标多维时序数据划分为若干个数据集合,随机选取若干个目标多维时序数据作为初始的聚类中心,计算各个目标多维时序数据与初始的聚类中心之间的距离,将各个目标多维时序数据分配至距离最近的聚类中心,每分配一个目标多维时序数据就更新一次各个数据集合以及相应的聚类中心,如此重复直至没有目标多维时序数据被分配至新的聚类中心,或者聚类中心不再变化为止。
通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据,此时,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,再根据样本编码数据和样本分布数据确定编码器的转换损失,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性;另外,在训练过程中,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,能够提升生成对抗网络中生成器的映射性能,使得样本对抗数据更加接近参考多维时序数据,有利于提升编码器的训练效果。
在一种可能的实现方式中,参考多维时序数据可以由原始多维时序数据预处理得到,基于此,在获取参考多维时序数据时,具体可以获取原始多维时序数据,基于预设时长的滑动窗口对原始多维时序数据进行裁切,得到分割多维时序数据,对分割多维时序数据进行归一化处理,得到参考多维时序数据。
其中,原始多维时序数据是直接采集到的数据,往往数值分布比较分散,若直接用来进行模型训练会降低训练效果。因此,通过基于预设时长的滑动窗口对原始多维时序数据进行裁切,可以使得不同的原始多维时序数据的长度一致,在此基础上,再对分割多维时序数据进行归一化处理,可以使得不同的原始多维时序数据的数值范围一致,从而可以从整体上使得得到的参考多维时序数据更加适合进行模型训练,提升利用参考多维时序数据的模型训练性能。
在一种可能的实现方式中,由于分割多维时序数据包括多个维度类型的时间序列数据,因此在对分割多维时序数据进行归一化处理,得到参考多维时序数据时,具体可以从时间序列数据中提取出多个原始子数据,根据多个原始子数据计算时间序列数据的序列平均值、序列最大值以及序列最小值;计算时间序列数据中各个原始子数据与序列平均值之差,得到第四差值;计算序列最大值以及序列最小值之差,得到第五差值;根据第四差值与第五差值得到参考多维时序数据。
其中,原始子数据即时间序列数据中某个时刻的数据,例如对于带宽维度的时间序列数据来说,原始子数据即终端在某个时刻中的带宽。序列平均值即时间序列数据中所有数据的平均值,例如终端在时间序列数据对应的时间段中的带宽平均值;序列最大值即时间序列数据中所有数据的最大值,例如终端在时间序列数据对应的时间段中的带宽最大值;序列最小值即时间序列数据中所有数据的最大值,例如终端在时间序列数据对应的时间段中的带宽最小值。
相应地,参考多维时序数据具体可以表示为:
其中,seq*表示参考多维时序数据,seq表示分割多维时序数据中的一条时间序列数据,seqmean表示时间序列数据中多个原始子数据的序列平均值,seqmax表示时间序列数据中多个原始子数据的序列最大值,seqmin表示时间序列数据中多个原始子数据的序列最小值。
通过根据时间序列数据的序列平均值、序列最大值以及序列最小值来对分割多维时序数据进行归一化处理,可以使得对分割多维时序数据进行归一化处理后得到的参考多维时序数据更加合理化,降低归一化处理后损失的信息量。
例如,可以利用时长为Wb的滑动窗口对原始多维时序数据进行裁切,原始多维时序数据的序列长度为S,裁切后得到的分割多维时序数据的结构为即D条序列长度为的时间序列数据seq。进而计算每条时间序列数据的均值seqmean、最大值seqmax、最小值seqmin,再将每条时间序列进行归一化处理,将数据范围映射到[-1,1],得到参考多维时序数据seq*。
下面详细说明本申请实施例提供的生成器、编码器和判别器的具体结构。
对于生成器来说,参照图4,图4为本申请实施例提供的生成器的一种可选的结构示意图,其中,生成器包括第一线性层和反卷积层,基于图4所示的生成器的结构,在基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据时,具体可以将样本分布数据输入至生成对抗网络的生成器中;基于第一线性层对样本分布数据进行全连接处理,得到第一分布数据;基于反卷积层对第一分布数据进行反卷积处理,得到维度大小与参考多维时序数据相同的样本对抗数据。
其中,第一线性层的作用主要是改变样本分布数据的维度大小,在一种可能的实现方式中,当样本分布数据包括第一连续变量时,可以先通过第一线性层提升样本分布数据的维度大小,得到第一分布数据,然后通过反卷积层将第一分布数据的维度大小,进而得到维度大小与参考多维时序数据相同的样本对抗数据。反卷积层的数量、卷积核大小和卷积步长可以根据实际的参考多维时序数据的维度大小而定,本申请实施例不做限定。
例如,对于Bs个样本分布数据来说,维度大小可以为Bs*(Latent_dim+N_Class),而参考多维时序数据的维度大小为D*S,则第一分布数据的维度大小可以为Bs*(128*D*S),样本对抗数据的维度大小可以为Bs*1*D*S。
通过对样本分布数据进行维度大小的先提升再降低的操作,相比较于直接将样本分布数据映射为样本对抗数据,一方面,可以使得样本分布数据携带更多的信息量,另一方面,由于提升了样本分布数据的维度大小,因而样本分布数据的维度大小相较于参考多维时序数据的维度大小存在一定的冗余量,在初始状态下,无论样本分布数据的维度大小是大于参考多维时序数据的维度大小,或者是小于参考多维时序数据的维度大小,均能够可靠地将样本分布数据映射为与参考多维时序数据相同的样本对抗数据。
在一种可能的实现方式中,参照图5,图5为本申请实施例提供的生成器的另一种可选的结构示意图,在图4所示的结构的基础上,生成器中的第一线性层的数量为两个,并且生成器中还包括第一重塑单元,此时,在基于线性层对样本分布数据进行全连接处理,得到第一分布数据时,具体可以基于其中一个第一线性层对样本分布数据进行变换处理,得到第二分布数据;基于另一个第一线性层对第二分布数据进行升维处理,得到第三分布数据;基于第一重塑单元对第三分布数据进行重塑处理,得到第一分布数据。
例如,第二分布数据的维度大小可以为Bs*1024,第三分布数据的维度大小可以为Bs*128*D*S。
其中,通过设置两个第一线性层,其中一个第一线性层用于对样本分布数据进行变换处理,当样本分布数据包括第一连续变量和第一离散变量时,并不能直接对样本分布数据进行直接的全连接处理,此时,可以先将样本分布数据的结构进行变换,再通过另外一个第一线性层进行升维处理,以保持对样本分布数据进行维度大小变换的可行性。并且,通过设置第一重塑单元对第三分布数据进行重塑处理,进而得到第一分布数据,可以使得第一分布数据的数据结构更加紧凑,有利于提升生成器输出的样本对抗数据的质量,提升生成器的性能。
对于编码器来说,当样本分布数据包括第一连续变量时,对应地,编码器可以设置第一卷积层来对样本对抗数据进行卷积处理,得到维度大小与样本分布数据相同的样本编码数据。
而当样本分布数据包括第一连续变量和第一离散变量时,参照图6,图6为本申请实施例提供的编码器的一种可选的结构示意图,其中,编码器包括编码器包括第一卷积层和第二线性层,基于图6所示的编码器的结构,在基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据时,具体可以将样本对抗数据输入至编码器中;基于第一卷积层对样本对抗数据进行卷积处理,得到第四分布数据;基于第二线性层对第四分布数据进行全连接处理,得到维度大小与样本分布数据相同的样本编码数据。
其中,第一卷积层的作用主要是调整样本对抗数据的维度大小,例如,假设样本对抗数据的维度大小为Bs*1*D*S,则第四分布数据的维度大小可以为Bs*128*D*S,样本编码数据的维度大小可以为Bs*(Latent_dim+N_Class)。
在此基础上,参照图7,图7为本申请实施例提供的编码器的另一种可选的结构示意图,其中,在图6所示的结构的基础上,第二线性层的数量为两个,编码器还包括第二重塑单元和分割单元,此时,在基于第二线性层对第四分布数据进行全连接处理,得到维度大小与样本分布数据相同的样本编码数据时,具体可以基于第二重塑单元对第四分布数据进行重塑处理,得到第五分布数据;基于其中一个第二线性层对第五分布数据进行降维处理,得到第六分布数据;基于另一个第二线性层对第六分布数据进行变换处理,得到第七分布数据;基于分割单元对第七分布数据进行分割处理,得到第二连续变量和第二离散变量,将第二连续变量和第二离散变量作为样本编码数据。
其中,当样本分布数据由第一连续变量和第一离散变量拼接得到时,相应地,样本编码数据由第二连续变量和第二离散变量拼接得到,并且,第一连续变量与第二连续变量的维度大小相同,第一离散变量与第二离散变量的维度大小相同。
例如,样本编码数据的维度大小可以为Bs*(Latent_dim+N_Class),则第二连续变量的数量为Bs*Latent_dim,第二离散变量的数量为Bs*N_Class。其中,第五分布数据的维度大小可以是Bs*(128*D*S),第六分布数据的维度大小可以是Bs*1024。
类似地,通过设置第二重塑单元对第四分布数据进行重塑处理,进而得到样本编码数据,可以使得样本编码数据的数据结构更加紧凑,有利于提升编码器输出的样本编码数据的质量,提升编码器的性能。
通过设置分割单元对第五分布数据进行分割处理,将得到的第二连续变量和第二离散变量作为样本编码数据,能够在训练时便于分别根据第二连续变量和第二离散变量来细化生成损失的计算,从而提升生成损失的准确性,提高生成器的训练效果。
可以理解的是,当编码器训练完成以后,在根据训练后的编码器对目标多维时序数据进行映射时,可无须使用到编码器中的分割单元,此时可以对分割单元进行屏蔽,从而提升编码器的运行效率。
基于此,在一种可能的实现方式中,当样本分布数据由第一连续变量和第一离散变量拼接得到,样本编码数据由第二连续变量和第二离散变量拼接得到时,根据第二判别结果计算生成器的生成损失,具体可以根据第一连续变量和第二连续变量计算第一损失;根据第一离散变量和第二离散变量计算第二损失;将第一损失和第二损失进行加权,得到加权损失;根据第二判别结果和加权损失计算生成器的生成损失。
具体地,根据第一连续变量和第二连续变量计算第一损失时,可以采用平均均方误差的计算方式,具体可以表示为:
其中,Zn_loss表示第一损失,Zn表示第一连续变量,表示第二连续变量,MSE表示平均均方误差。
而根据第一离散变量和第二离散变量计算第二损失时,可以采用交叉熵的计算方式,具体可以表示为:
其中,Zc_loss表示第二损失,Zc表示第一离散变量,表示第二离散变量,CrossEntropy表示交叉熵。
则生成器的生成损失可以表示为:
Gloss=mean(pred_Xfake)+βn*Zn_loss+βc*Zc_loss
其中,Gloss表示生成损失,pred_Xfake表示第二判别结果,Zn_loss表示第一损失,Zc_loss表示第二损失,βn表示第一损失对应的权重,βc表示第二损失对应的权重,mean表示平均值。βn和βc可以根据实际情况设定。
在一种可能的实现方式中,βc可以大于βn,即第二损失对应的权重大于第一损失对应的权重,使得生成器在训练时更加倾向于聚类任务,由于编码器是与生成对抗网络联合训练的,这种处理方式可以有利于提升编码器对聚类任务的适配程度。
对于判别器来说,参照图8,图8为本申请实施例提供的判别器的一种可选的结构示意图,判别器可以设置有第二卷积层、两个第三线性层和第三重塑单元,用于调整参考多维时序数据和样本对抗数据的维度大小,得到参考多维时序数据的第一判别结果和样本对抗数据的第二判别结果,其中,第一判别结果和第二判别结果为一维数据,用于指示参考多维时序数据或者样本对抗数据是真数据还是假数据,例如,第一判别结果可以是“1”,表示参考多维时序数据是真数据,或者,第二判别结果可以是“0”,表示参考多维时序数据是假数据,样本对抗数据同理,在此不再赘述。
具体地,可以通过第二卷积层对参考多维时序数据或者样本对抗数据进行卷积处理,例如将维度大小由Bs*1*D*S变为Bs*128*D*S,接着通过第三重塑单元进行重塑处理,例如将维度大小由Bs*128*D*S变为Bs*(128*D*S),接着通过第一个第三线性层将维度大小变为Bs*1024,再通过第二个第三线性层将维度大小变为Bs*1,即第一判别结果或者第二判别结果的维度大小为Bs*1。
基于此,在根据第一判别结果和第二判别结果计算判别器的判别损失时,具体可以计算参考多维时序数据和样本对抗数据进行加权后的梯度,根据梯度计算正则项;计算第一判别结果和第二判别结果之差,得到第一差值;根据第一差值和正则项计算判别器的判别损失。
具体可以表示为:
其中,Dloss表示判别损失,表示第一判别结果,表示第二判别结果,表示正则项,Xr表示参考多维时序数据,Xg表示样本对抗数据,λ和α为可调整的权重参数,mean表示平均值。
通过在计算判别损失时参考多维时序数据和样本对抗数据进行加权后的梯度,根据梯度计算正则项,有利于防止判别器过拟合,提升判别器的训练效果。
而对于编码器的转换损失来说,在根据样本编码数据和样本分布数据确定编码器的转换损失时,具体可以计算样本分布数据和样本编码数据之差,得到第二差值;计算参考多维时序数据和样本对抗数据之差,得到第三差值;计算第二差值和第三差值之和的第一平均值,将第一平均值作为编码器的转换损失。
具体可以表示为:
其中,Eloss表示转换损失,Z表示样本分布数据,表示样本编码数据,Xr表示参考多维时序数据,Xg表示样本对抗数据,mean表示平均值。
通过在计算样本分布数据和样本编码数据之差的基础上,进一步引入参考多维时序数据和样本对抗数据之差,即在通过样本分布数据和样本编码数据之差计算编码器自身处理过程的误差的基础上,进一步通过参考多维时序数据和样本对抗数据之差引入了生成对抗网络处理过程误差,从而提升编码器与生成对抗网络之间的关联程度,提升编码器的训练效果。
在一种可能的实现方式中,参照图9,图9为本申请实施例提供的模型训练方法的一种可选的流程示意图,该模型训练方法可以由终端执行,或者也可以由服务器执行,或者也可以由终端和服务器配合执行,该模型训练方法包括但不限于以下步骤901至步骤903。
步骤901:获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据。
步骤902:基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据。
步骤903:根据样本编码数据和样本分布数据确定编码器的转换损失,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练。
其中,图9所示的模型训练方法与图2所示的数据聚类方法基于相同的发明构思,因此,通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据,此时,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,再根据样本编码数据和样本分布数据确定编码器的转换损失,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性;另外,在训练过程中,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,能够提升生成对抗网络中生成器的映射性能,使得样本对抗数据更加接近参考多维时序数据,有利于提升编码器的训练效果。
在一种可能的实现方式中,在基于前面提到的几种损失值来进行参数调整,完成针对编码器和生成对抗网络的联合训练后,还可以进一步利用训练后的编码器对多个测试多维时序数据进行聚类处理,具体可以是将测试多维时序数据输入至训练后的编码器中,得到测试编码数据,根据测试编码数据得到多个测试多维时序数据的聚类结果。这种情况下,测试多维时序数据标注有自身对应的聚类标签,在得到多个测试多维时序数据的聚类结果后,可以与聚类标签进行比较,进一步校验训练后的编码器的性能。
例如,假设测试多维时序数据的聚类标签为{1,1,1,2,2,3,4,4,…,7,7,7,9,9},而根据测试编码数据得到多个测试多维时序数据的聚类结果为{3,3,3,1,1,4,6,6,…,9,9,7,7,7},此时聚类结果与聚类标签的匹配程度较低,因此可以重新对编码器进行训练,以提升编码器的性能,例如可以获取不同的测试多维时序数据或者样本分布数据来重复前述的训练步骤。
在一种可能的实现方式中,为了提升聚类结果与聚类标签之间的比较准确性,由于可能存在标签的规则不一致的情况,因此,在得到测试多维时序数据的聚类结果以后,可以对聚类结果进行重新调整,例如,可以基于匈牙利算法(Kuhn-Munkres)来对聚类结果进行重调,再将重调后的聚类结果与聚类标签进行比对,从而提升聚类结果与聚类标签之间的比对可靠性和比对准确性。
参照表1,表1为本申请实施例提供的相关技术中的数据聚类方法与本申请实施例提供的数据聚类方法之间的性能指标比较情况,以开源序列数据集PenDigits为例,将相关技术中的Kmeans、SoftDTW-Kmeans和DTW-Kmeans与本申请实施例提供的数据聚类方法进行性能指标比较,所使用的参数如下:
准确度(ACC):指聚类算法给出的标签与真实标签的比值,反映了聚类标签对应的程度,范围[0,1],越高越好。
标准互信息(NMI):当聚类数量等于样本数量,即每个文本都在一个类中时,会达到最大互信息值,取值范围为[0,1],值越大意味着聚类结果与真实情况越吻合。
兰德系数(RI):衡量决策中,正确决策的百分比,取值范围为[0,1],值越大意味着聚类结果与真实情况越吻合。
调整兰德系数(ARI),对于随机结果,RI并不能保证分数接近零。为了实现“在聚类结果随机产生的情况下,指标应该接近零”,它具有更高的区分度,ARI取值范围为[-1,1],值越大意味着聚类结果与真实情况越吻合。
表1
Kmeans | SoftDTW-Kmeans | DTW-Kmeans | 本申请实施例 | |
ACC | 0.66 | 0.659 | 0.684 | 0.785 |
NMI | 0.676 | 0.7 | 0.706 | 0.735 |
RI | 0.906 | 0.905 | 0.914 | 0.936 |
ARI | 0.534 | 0.546 | 0.56 | 0.652 |
可见,本申请实施例提供的数据聚类方法相较于相关技术中的几种数据聚类方法,性能指标上均有一定程度的提高。
下面结合实际例子说明本申请实施例提供的数据聚类方法的整体原理。
参照图10,图10为本申请实施例提供的训练流程的一种可选的总体示意图,主要包括数据采集与预处理、生成对抗网络与编码器训练、编码器输出和标签重调,具体地,先对流程中的一些概念进行解释:
生成器G:用于从高斯分布白噪声Zn和独热编码Zc组成的联合分布(即前述的样本分布数据),即潜在变量Z=(Zn+Zc)中生成数据Xg(即前述的样本对抗数据),试图将生成数据Xg尽可能逼近真实数据Xr(即前述的参考多维时序数据);
判别器D:用于将生成数据Xg和真实数据Xr判别出来,与生成器G形成对抗;
编码器E:用于将生成数据Xg编码生成新的特征空间进行聚类任务,即生成恢复变量
潜在变量Zc:由随机数生成聚类数量(N_Class,即需要聚类的类别数,如需要聚5类,则N_Class=5)个独热编码的离散变量(即前述的第一离散变量);
潜在变量Zn:从均值为0,标准差为1的正态分布中生成的连续变量(即前述的第一连续变量),即从一个N(0,1)分布中采样Latent_dim(具体可以根据真实数据Xr的序列长度来确定)个数值;
恢复潜在变量从生成数据Xg恢复出的连续变量(即第二连续变量),数量与Zn同样为Latent_dim;
恢复潜在变量从生成数据Xg恢复出的离散变量(即第二离散变量),数量与Zc同样为N_Class;
接下来,参照图11,图11为本申请实施例提供的训练流程的一种可选的细化示意图,首先进行数据采集与预处理:
假设原始多维时序数据有D维特征,在每个时间间隔ΔT对D维特征采集若干时间步长S的时序数据,这里的时间步长指的是每隔一个时间间隙ΔT采集一个数据,共采集S个数据点,总共采集N组数据。这样原始多维时序数据的数量为N*D*S,然后利用时长为Wb的滑动窗口对原始多维时序数据进行分割,原始多维时序数据的序列长度为S,分割后一组数据结构为即D条长度为的时间序列数据seq。接着计算每条时间序列数据的均值seqmean、最大值seqmax,最小值seqmin,再根据均值seqmean、最大值seqmax,最小值seqmin对归一化处理,将数据范围映射到[-1,1],得到归一化处理后的序列seq*,作为真实数据Xr。
接着是生成对抗网络与编码器训练:
生成器G实现编码空间Z到数据Xg的生成,在每个训练的Batchsize(批处理,简称Bs),从N(0,1)正态分布中随机采样(Bs*Latent_dim)个随机连续变量与(Bs*N_Class)个独热编码离散变量组成Z,维度大小为Bs*(Latent_dim+N_Class),将该数据输入生成器,首先经过一次线性层+LeakyReLu激活函数,将Z从Bs*(Latent_dim+N_Class)变换为(Bs*1024),再经过一次线性层+LeakyReLu激活函数将数据维度大小升高为当然,具体升高的维度大小可以根据实际情况设定,此处仅用于示例性说明。然后进行重塑(reshape)将数据维度大小变换为再通过二维反卷积(卷积核1*1,步长1,填充0)处理,将数据维度大小变换为这样就由潜在变量Z生成了与真实数据Xr相同规模的生成数据Xg,当然,反卷积层的数量可以根据实际情况设定,本申请实施例不做限定。
在得到了生成数据Xg后,将生成数据Xg输入到判别器D中,判别器D需要判断输入生成数据Xg的真假,具体是通过二维第一卷积层(卷积核2*2,步长1,填充0)+LeakyReLu激活函数将维度大小为生成数据Xg逐步减小规模,先通过卷积将维度大小变换为再通过重塑将维度大小变换为再通过全连接变换为(Bs*1024),最终缩减到维度大小为(Bs*1),即pred_Xfake,即生成数据Xg经过判别器D判别后得到该数据真或假的判断,当然,卷积层的数量可以根据实际情况设定,本申请实施例不做限定。类似地,也把真实数据Xr输入判别器D,得到pred_Xreal,即真实数据Xr经过判别器D后得到该数据真或假的判断,维度大小同样为(Bs*1)。
编码器E的输入同样是生成数据Xg,将输入的维度大小为的生成数据Xg通过二维卷积层(卷积核2*2,步长1,填充0)+LeakyReLu激活函数,将维度大小变换为然后进行一次重塑操作将数据再次变换为接着经过一次线性层将维度大小变换至(Bs*1024),再经过一次线性层将维度大小变换至Bs*(Latent_dim+N_Clsaa),再进行数据分割,即将维度大小为Bs*(Latent_dim+N_Class)的数据分割为Bs*Latent_dim和Bs*N_Class数量的两组数据,将维度大小为Bs*Latent_dim的数据作为恢复潜在变量将维度大小为Bs*N_Class的数据作为恢复潜在变量
如此一来,就得到了一轮训练里所需要的数据,根据上述数据分别计算生成器的生成损失、判别器的判别损失和编码器的转换损失,具体计算方式前面已经进行详细说明,在此不再赘述。计算了各个损失后,计算梯度并反向传播梯度,使用Adam优化器(学习率lr=0.01,decay=0.000025,β1=0.5,β2=0.9)进行参数更新,记录损失,一个Batchsize批处理训练完成,如此循环将所有数据训练完为一个轮次,共训练200个轮次,当然,具体的训练轮次数量可以根据实际情况而定,本申请实施例不做限定。
接着是编码器输出:
在完成生成对抗网络和编码器的联合训练以后,可以进一步利用多个测试多维时序数据输入至训练好的编码器中,维度大小为Ntest*D*seq*,获得编码器输出维度大小为Ntest*(Latent_dim+N_class),对进行降维处理,维度大小由Ntest*(Latent_dim+N_class)变换到Ntest*2(或3),再利用降维后的进行聚类处理,得到labelpre。
接着是标签重调:
在得到多个测试多维时序数据的聚类结果以后,还可以进一步获取预先为测试多维时序数据标注的聚类标签labeltrue,对测试多维时序数据的聚类结果进行重调,得到labelpre_final,将与labelpre_final对应的labeltrue进行比对,确定编码器的聚类性能,进而确定是否需要对编码器进行重新训练。
下面结合实际例子说明本申请实施例提供的数据聚类方法的其中一种应用场景。
当前,云端化服务是一个重点的发展方向,面对云系统采集的具有时序结构的海量数据,对其进行分析和聚类仍面临巨大挑战。例如,由带宽、延迟、丢包、帧率、CPU负载、RAM负载等探测值组成的多维时序数据,是一种重要的分析数据。在复杂通讯网络环境下进行低延迟、高体验的多媒体数据传输过程中,为适应复杂网络模态下带宽、延时和丢包的随机性,相关技术均在广泛探索基于深度增强学习的自适应编解码、自适应速率控制和自适应前向纠错码等技术。然而现网实测数据表明,网络的带宽、延时和丢包等网络参量呈明显的长尾分布,这意味着现网中存在着大量未知的网络模态类型,其分布广泛、尾部占比高,人工标注成本高,使得现网实测数据集属于弱监督数据集。而现有深度增强学习技术,对弱监督数据集学习能力不足,导致训练后的深度增强学习模型鲁棒性较差,难以工程落地,不利于网络提供商对网络状态进行分析以及优化。
基于此,在一种可能的实现方式中,参照图12,图12为本申请实施例提供的数据分析系统的一种可选的架构示意图,服务器通过采集和预处理多个终端的运行日志,并通过存储集群进行存储,同时提供分布式文件系统接口和数据库接口,其中,数据库接口用于快速查询某个终端的运行日志,从而能够快速地对有问题的终端进行单例定位;而分布式文件系统接口用于供计算集群获取终端的多维时序数据,然后基于多维时序数据,通过计算引擎来对多个终端当前的多维时序数据进行特征抽取与分析,最后得到多个终端的聚类结果。对多个终端当前的多维时序数据进行特征抽取与分析可以基于本申请实施例提供的训练好的编码器实现。在得到多个终端的聚类结果后,可以根据终端的聚类结果将多个终端划分成多个簇,每个簇为网络状态相似的终端,从而可以进一步利用网络状态相似的终端来对网络进行分析,进一步采集网络状态相似的终端的共性特征,从而根据共性特征来发现网络的故障点或者可优化点,提升网络优化的效率。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
参照图13,图13本申请实施例提供的数据聚类装置的一种可选的结构示意图,该数据聚类装置1300包括:
数据获取模块1301,用于获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
第一处理模块1302,用于基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据;
训练模块1303,用于根据样本编码数据和样本分布数据确定编码器的转换损失,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练;
第二处理模块1304,用于获取多个目标多维时序数据,根据训练后的编码器对目标多维时序数据进行映射,得到目标编码数据,根据目标编码数据得到多个目标多维时序数据的聚类结果。
进一步,上述数据获取模块1301具体用于:
根据参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量;
确定预设的聚类类别数量,根据聚类类别数量,利用随机数生成第一离散变量;
将第一连续变量和第一离散变量进行拼接,得到样本分布数据。
进一步,目标连续分布为正态分布,上述数据获取模块1301具体用于:
根据预设的分布平均值和预设的分布标准差获取对应的正态分布;
对参考多维时序数据的序列长度进行取整,得到采样数量;
根据采样数量在正态分布中进行采样,得到第一连续变量。
进一步,生成器包括第一线性层和反卷积层,上述第一处理模块1302具体用于:
将样本分布数据输入至生成对抗网络的生成器中;
基于第一线性层对样本分布数据进行全连接处理,得到第一分布数据;
基于反卷积层对第一分布数据进行反卷积处理,得到维度大小与参考多维时序数据相同的样本对抗数据。
进一步,第一线性层的数量为两个,生成器还包括第一重塑单元,上述第一处理模块1302具体用于:
基于其中一个第一线性层对样本分布数据进行变换处理,得到第二分布数据;
基于另一个第一线性层对第二分布数据进行升维处理,得到第三分布数据;
基于第一重塑单元对第三分布数据进行重塑处理,得到第一分布数据。
进一步,编码器包括第一卷积层和第二线性层,上述第一处理模块1302具体用于:
将样本对抗数据输入至编码器中;
基于第一卷积层对样本对抗数据进行卷积处理,得到第四分布数据;
基于第二线性层对第四分布数据进行全连接处理,得到维度大小与样本分布数据相同的样本编码数据。
进一步,样本分布数据由第一连续变量和第一离散变量拼接得到,第二线性层的数量为两个,编码器还包括第二重塑单元和分割单元,上述第一处理模块1302具体用于:
基于第二重塑单元对第四分布数据进行重塑处理,得到第五分布数据;
基于其中一个第二线性层对第五分布数据进行降维处理,得到第六分布数据;
基于另一个第二线性层对第六分布数据进行变换处理,得到第七分布数据;
基于分割单元对第七分布数据进行分割处理,得到第二连续变量和第二离散变量,将第二连续变量和第二离散变量作为样本编码数据,其中,第二连续变量与第一连续变量的维度大小相同,第二离散变量与第一离散变量的维度大小相同。
进一步,上述训练模块1303具体用于:
基于生成对抗网络的判别器得到参考多维时序数据的第一判别结果,基于判别器得到样本对抗数据的第二判别结果;
根据第一判别结果和第二判别结果计算判别器的判别损失;
根据第二判别结果计算生成器的生成损失;
将判别损失和生成损失作为生成对抗网络的对抗损失。
进一步,样本分布数据由第一连续变量和第一离散变量拼接得到,样本编码数据由第二连续变量和第二离散变量拼接得到,上述训练模块1303具体用于:
根据第一连续变量和第二连续变量计算第一损失;
根据第一离散变量和第二离散变量计算第二损失;
将第一损失和第二损失进行加权,得到加权损失;
根据第二判别结果和加权损失计算生成器的生成损失。
进一步,上述训练模块1303具体用于:
计算参考多维时序数据和样本对抗数据进行加权后的梯度,根据梯度计算正则项;
计算第一判别结果和第二判别结果之差,得到第一差值;
根据第一差值和正则项计算判别器的判别损失。
进一步,上述训练模块1303具体用于:
计算样本分布数据和样本编码数据之差,得到第二差值;
计算参考多维时序数据和样本对抗数据之差,得到第三差值;
计算第二差值和第三差值之和的第一平均值,将第一平均值作为编码器的转换损失。
进一步,上述数据获取模块1301具体用于:
获取原始多维时序数据,基于预设时长的滑动窗口对原始多维时序数据进行裁切,得到分割多维时序数据;
对分割多维时序数据进行归一化处理,得到参考多维时序数据。
进一步,分割多维时序数据包括多个维度类型的时间序列数据,上述数据获取模块1301具体用于:
从时间序列数据中提取出多个原始子数据,根据多个原始子数据计算时间序列数据的序列平均值、序列最大值以及序列最小值;
计算时间序列数据中各个原始子数据与序列平均值之差,得到第四差值;
计算序列最大值以及序列最小值之差,得到第五差值;
根据第四差值与第五差值得到参考多维时序数据。
参照图14,图14本申请实施例提供的模型训练装置的一种可选的结构示意图,该模型训练装置1400包括:
数据获取模块1301,用于获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
第一处理模块1302,用于基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据;
训练模块1303,用于根据样本编码数据和样本分布数据确定编码器的转换损失,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,根据转换损失和对抗损失,对编码器和生成对抗网络进行联合训练。
上述数据聚类装置1300与数据聚类方法基于相同的发明构思,上述模型训练装置1400与模型训练方法基于相同的发明构思,因此通过在预设的目标连续分布中进行采样得到样本分布数据,引入生成对抗网络,基于生成对抗网络的生成器对样本分布数据进行映射,得到维度大小与参考多维时序数据相同的样本对抗数据,基于编码器对样本对抗数据进行映射,得到维度大小与样本分布数据相同的样本编码数据,此时,编码器与生成对抗网络的生成器的输入输出实际上是互逆的,再根据样本编码数据和样本分布数据确定编码器的转换损失,可以基于转换损失使得样本编码数据更加接近样本分布数据的分布,因而训练后的编码器能够将目标多维时序数据映射到新的特征空间,便于适应多维时序数据的聚类任务,从而提升多维时序数据的聚类准确性;另外,在训练过程中,根据参考多维时序数据和样本对抗数据确定生成对抗网络的对抗损失,能够提升生成对抗网络中生成器的映射性能,使得样本对抗数据更加接近参考多维时序数据,有利于提升编码器的训练效果。
本申请实施例提供的用于执行上述数据聚类方法或者模型训练方法的电子设备可以是终端,参照图15,图15为本申请实施例提供的终端的部分结构框图,该终端包括:射频(Radio Frequency,简称RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,简称WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图15中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。
输入单元1530可用于接收输入的数字或字符信息,以及产生与终端的设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触摸面板1531以及其他输入装置1532。
显示单元1540可用于显示输入的信息或提供的信息以及终端的各种菜单。显示单元1540可包括显示面板1541。
音频电路1560、扬声器1561,传声器1562可提供音频接口。
在本实施例中,该终端所包括的处理器1580可以执行前面实施例的数据聚类方法或者模型训练方法。
本申请实施例提供的用于执行上述数据聚类方法或者模型训练方法的电子设备也可以是服务器,参照图16,图16为本申请实施例提供的服务器的部分结构框图,服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1622(例如,一个或一个以上处理器)和存储器1632,一个或一个以上存储应用程序1642或数据1644的存储介质1630(例如一个或一个以上海量存储装置)。其中,存储器1632和存储介质1630可以是短暂存储或持久存储。存储在存储介质1630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器1600中的一系列指令操作。更进一步地,中央处理器1622可以设置为与存储介质1630通信,在服务器1600上执行存储介质1630中的一系列指令操作。
服务器1600还可以包括一个或一个以上电源1626,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1658,和/或,一个或一个以上操作系统1641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器1600中的处理器可以用于执行数据聚类方法或者模型训练方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的数据聚类方法或者模型训练方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的数据聚类方法或者模型训练方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本申请实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本申请实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。
Claims (17)
1.一种数据聚类方法,其特征在于,包括:
获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练;
获取多个目标多维时序数据,根据训练后的所述编码器对所述目标多维时序数据进行映射,得到目标编码数据,根据所述目标编码数据得到多个所述目标多维时序数据的聚类结果。
2.根据权利要求1所述的数据聚类方法,其特征在于,所述在预设的目标连续分布中进行采样得到样本分布数据,包括:
根据所述参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量;
确定预设的聚类类别数量,根据所述聚类类别数量,利用随机数生成第一离散变量;
将所述第一连续变量和所述第一离散变量进行拼接,得到所述样本分布数据。
3.根据权利要求2所述的数据聚类方法,其特征在于,所述目标连续分布为正态分布,根据所述参考多维时序数据的序列长度,在预设的目标连续分布中进行采样,得到第一连续变量,包括:
根据预设的分布平均值和预设的分布标准差获取对应的正态分布;
对所述参考多维时序数据的序列长度进行取整,得到采样数量;
根据所述采样数量在所述正态分布中进行采样,得到所述第一连续变量。
4.根据权利要求1所述的数据聚类方法,其特征在于,所述生成器包括第一线性层和反卷积层,所述基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,包括:
将所述样本分布数据输入至所述生成对抗网络的生成器中;
基于所述第一线性层对所述样本分布数据进行全连接处理,得到第一分布数据;
基于所述反卷积层对所述第一分布数据进行反卷积处理,得到维度大小与所述参考多维时序数据相同的所述样本对抗数据。
5.根据权利要求4所述的数据聚类方法,其特征在于,所述第一线性层的数量为两个,所述生成器还包括第一重塑单元,所述基于所述第一线性层对所述样本分布数据进行全连接处理,得到第一分布数据,包括:
基于其中一个所述第一线性层对所述样本分布数据进行变换处理,得到第二分布数据;
基于另一个所述第一线性层对所述第二分布数据进行升维处理,得到第三分布数据;
基于所述第一重塑单元对所述第三分布数据进行重塑处理,得到所述第一分布数据。
6.根据权利要求1所述的数据聚类方法,其特征在于,所述编码器包括第一卷积层和第二线性层,所述基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据,包括:
将所述样本对抗数据输入至所述编码器中;
基于所述第一卷积层对所述样本对抗数据进行卷积处理,得到第四分布数据;
基于所述第二线性层对所述第四分布数据进行全连接处理,得到维度大小与所述样本分布数据相同的所述样本编码数据。
7.根据权利要求6所述的数据聚类方法,其特征在于,所述样本分布数据由第一连续变量和第一离散变量拼接得到,所述第二线性层的数量为两个,所述编码器还包括第二重塑单元和分割单元,所述基于所述第二线性层对所述第四分布数据进行全连接处理,得到维度大小与所述样本分布数据相同的所述样本编码数据,包括:
基于所述第二重塑单元对所述第四分布数据进行重塑处理,得到第五分布数据;
基于其中一个所述第二线性层对所述第五分布数据进行降维处理,得到第六分布数据;
基于另一个所述第二线性层对所述第六分布数据进行变换处理,得到第七分布数据;
基于所述分割单元对所述第七分布数据进行分割处理,得到所述第二连续变量和所述第二离散变量,将所述第二连续变量和所述第二离散变量作为所述样本编码数据,其中,所述第二连续变量与所述第一连续变量的维度大小相同,所述第二离散变量与所述第一离散变量的维度大小相同。
8.根据权利要求1所述的数据聚类方法,其特征在于,所述根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,包括:
基于所述生成对抗网络的判别器得到所述参考多维时序数据的第一判别结果,基于所述判别器得到所述样本对抗数据的第二判别结果;
根据所述第一判别结果和所述第二判别结果计算所述判别器的判别损失;
根据所述第二判别结果计算所述生成器的生成损失;
将所述判别损失和所述生成损失作为所述生成对抗网络的对抗损失。
9.根据权利要求8所述的数据聚类方法,其特征在于,所述样本分布数据由第一连续变量和第一离散变量拼接得到,所述样本编码数据由第二连续变量和第二离散变量拼接得到,所述根据所述第二判别结果计算所述生成器的生成损失,包括:
根据所述第一连续变量和所述第二连续变量计算第一损失;
根据所述第一离散变量和所述第二离散变量计算第二损失;
将所述第一损失和所述第二损失进行加权,得到加权损失;
根据所述第二判别结果和所述加权损失计算所述生成器的生成损失。
10.根据权利要求8所述的数据聚类方法,其特征在于,所述根据所述第一判别结果和所述第二判别结果计算所述判别器的判别损失,包括:
计算所述参考多维时序数据和所述样本对抗数据进行加权后的梯度,根据所述梯度计算正则项;
计算所述第一判别结果和所述第二判别结果之差,得到第一差值;
根据所述第一差值和所述正则项计算所述判别器的判别损失。
11.根据权利要求1所述的数据聚类方法,其特征在于,所述根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,包括:
计算所述样本分布数据和所述样本编码数据之差,得到第二差值;
计算所述参考多维时序数据和所述样本对抗数据之差,得到第三差值;
计算所述第二差值和所述第三差值之和的第一平均值,将所述第一平均值作为所述编码器的转换损失。
12.根据权利要求1所述的数据聚类方法,其特征在于,所述获取参考多维时序数据,包括:
获取原始多维时序数据,基于预设时长的滑动窗口对所述原始多维时序数据进行裁切,得到分割多维时序数据;
对所述分割多维时序数据进行归一化处理,得到所述参考多维时序数据。
13.根据权利要求12所述的数据聚类方法,其特征在于,所述分割多维时序数据包括多个维度类型的时间序列数据,所述对所述分割多维时序数据进行归一化处理,得到所述参考多维时序数据,包括:
从所述时间序列数据中提取出多个原始子数据,根据多个所述原始子数据计算所述时间序列数据的序列平均值、序列最大值以及序列最小值;
计算所述时间序列数据中各个原始子数据与所述序列平均值之差,得到第四差值;
计算所述序列最大值以及序列最小值之差,得到第五差值;
根据所述第四差值与所述第五差值得到所述参考多维时序数据。
14.一种数据聚类装置,其特征在于,包括:
数据获取模块,用于获取参考多维时序数据,在预设的目标连续分布中进行采样得到样本分布数据;
第一处理模块,用于基于生成对抗网络的生成器对所述样本分布数据进行映射,得到维度大小与所述参考多维时序数据相同的样本对抗数据,基于编码器对所述样本对抗数据进行映射,得到维度大小与所述样本分布数据相同的样本编码数据;
训练模块,用于根据所述样本编码数据和所述样本分布数据确定所述编码器的转换损失,根据所述参考多维时序数据和所述样本对抗数据确定所述生成对抗网络的对抗损失,根据所述转换损失和所述对抗损失,对所述编码器和所述生成对抗网络进行联合训练;
第二处理模块,用于获取多个目标多维时序数据,根据训练后的所述编码器对所述目标多维时序数据进行映射,得到目标编码数据,根据所述目标编码数据得到多个所述目标多维时序数据的聚类结果。
15.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13任意一项所述的数据聚类方法。
16.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述的数据聚类方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述的数据聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211376008.9A CN117272075A (zh) | 2022-11-04 | 2022-11-04 | 数据聚类方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211376008.9A CN117272075A (zh) | 2022-11-04 | 2022-11-04 | 数据聚类方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117272075A true CN117272075A (zh) | 2023-12-22 |
Family
ID=89213040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211376008.9A Pending CN117272075A (zh) | 2022-11-04 | 2022-11-04 | 数据聚类方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117272075A (zh) |
-
2022
- 2022-11-04 CN CN202211376008.9A patent/CN117272075A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329847A (zh) | 一种异常检测方法、装置、电子设备及存储介质 | |
CN112231592B (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
CN113379176B (zh) | 电信网络异常数据检测方法、装置、设备和可读存储介质 | |
CN106780639A (zh) | 基于显著性特征稀疏嵌入和极限学习机的哈希编码方法 | |
CN114238329A (zh) | 向量相似度计算方法、装置、设备及存储介质 | |
CN109086830B (zh) | 基于样本惩罚的典型关联分析近重复视频检测方法 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
CN111639230B (zh) | 一种相似视频的筛选方法、装置、设备和存储介质 | |
CN118041689B (zh) | 一种网络恶意流量检测方法 | |
Niu et al. | Machine learning-based framework for saliency detection in distorted images | |
CN115062709B (zh) | 模型优化方法、装置、设备、存储介质及程序产品 | |
CN116451081A (zh) | 数据漂移的检测方法、装置、终端及存储介质 | |
CN116467141A (zh) | 日志识别模型训练、日志聚类方法和相关系统、设备 | |
CN114332550A (zh) | 一种模型训练方法、系统及存储介质和终端设备 | |
CN112818114B (zh) | 信息的分类方法、检测方法、计算设备及存储介质 | |
CN116257780A (zh) | 基于盲信号分离的无监督特征提取和自适应的dbscan聚类方法 | |
CN114528908B (zh) | 网络请求数据分类模型训练方法、分类方法及存储介质 | |
CN117272075A (zh) | 数据聚类方法、装置、电子设备及存储介质 | |
CN116091133A (zh) | 一种目标对象属性的识别方法、装置及存储介质 | |
CN112463964A (zh) | 文本分类及模型训练方法、装置、设备及存储介质 | |
CN117058498B (zh) | 分割图评估模型的训练方法、分割图的评估方法及装置 | |
CN117792801B (zh) | 一种基于多元事件分析的网络安全威胁识别方法及系统 | |
CN114741196B (zh) | 一种云平台负载预测方法、装置及设备 | |
CN118353723B (zh) | 攻击检测方法、装置、设备及介质 | |
CN114548765B (zh) | 用于风险识别的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |