基于时序数据生成训练数据的方法、设备和可读存储介质与流程



1.本技术涉及到机器学习领域,具体而言,涉及基于时序数据生成训练数据的方法、设备和可读存储介质。


背景技术:



2.当前云网络规模变得越来越大,为了给更多的用户提供服务,在云网络中有大量的设备和服务,这些设备和服务需要进行监控,以能够及时发现异常,降低异常对云网络用户的影响。
3.由于云网络中的待监控的网络指标众多,并且这些网络指标一直在产生时序数据。时序数据也被称作是时间序列数据,其是对网络指标按照时间顺序采集并记录的数据,通过时序数据可以判断出该网络指标是否出现异常。
4.在通过时序数据对网络指标是否会出现异常进行判断的时候,可以依靠维护人员人工进行判断,但是这种判断方式效率比较低,并且依赖于维护人员的经验。在另一种判断方式中,可以使用异常检测算法来进行判断,在该算法中预先配置多种异常的时序数据段,然后将当前采集到的异常的时序数据段与预先配置的时序数据段进行比较,以确定是否会出现异常。这种比较方式依赖于预先配置的异常时序数据段的种类的多少,并且也只能发现特定几种类型的故障。
5.随着机器学习技术发展,可以将有监督机器学习算法(可以简称为监督学习算法或监督学习)运用到网络指标的异常监控上,即可以通过有监督机器学习算法来发现异常时序数据段。监督学习是机器学习中的一种训练方式,是指利用一组已知类别的训练数据调整分类器的参数,使其达到所要求性能的过程,是从标记的训练数据来推断一个功能的机器学习任务。在监督学习中根据已有的训练数据集(对于训练数据集中的每组训练数据均包括输入和输出结果),根据这种已知输入和输出结果的关系,训练得到一个最优模型。监督学习中使用的训练数据均有明确的标注。例如,训练数据可以包括一段时序数据段以及被用于标注该时序数据段是否异常或者异常类型的标签。通过训练让机器学习模型到时序数据段和标签之间的联系,可以将采集到的时序数据段输入到训练好的机器学习模型中,该机器学习模型就可以输出该时序数据段对应的标签,通过标签可以确定该时序数据段是否为异常或者对应的异常类型等。
6.考虑到智能化对云网络的发展重要性,目前在云网络中需要使用越来越多的监督学习算法来对网络指标的异常进行监控。监督学习算法的训练依赖于已经标注好的数据,同时标注数据还能够对算法效果做评估,实现算法的更新迭代。因此,时序数据段的标注对于监督学习算法至关重要。
7.在现有技术中一般会采用人工对时序数据段进行标注,为了监督时序数据段的标注的准确性和效率,在在现有技术中会采用众包标注和专家标注两种人工标注方式。下面对这两种标注方式进行说明。众包标注:该类标注方法通常是由领域不相关的人员进行标注,该方法虽然成本可控,但是标注质量不可控,难以给算法的训练和评估提供有效的保
障。专家标注:该类方法是聘请领域内的专家进行标注,虽然标注的质量较高,能够给算法提供较好的基础,但是成本很高,不适合在大规模数据领域使用。
8.无论采用上述哪种标注方式,均是采用了人工的标注方式,目前云网络每天产生的时序数据达到亿级别,这个量级的数据如果均通过人工来进行标注,会消耗大量的成本,因此,完全由人工对时序数据段进行标注的方式已经无法适应当前的情况,需要有更可行的方案进行数据标注。


技术实现要素:



9.本技术实施例提供了基于时序数据生成训练数据的方法、设备和可读存储介质,以至少解决采用人工来标注网络指标对应的时序数据所导致的效率低并且成本高的问题。
10.根据本技术的一个方面,提供了一种时序数据标注处理方法,包括:获取时序数据,其中,所述时序数据是对网络指标进行监控时采集到的数据,所述时序数据为按照时间顺序记录的数据;将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段,其中,所述正常的时序数据段是所述网络指标处于正常状态下产生的一段时序数据;将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签,该标签用于指示该种类的时序数据段的异常类型;将标注好的多个种类的时序数据段作为训练数据使用,其中,所述训练数据用于训练机器学习模型,该机器学习模型用于识别时序数据段的异常类型。
11.根据本技术的另一方面,还提供了一种基于时序数据机器学习系统,包括:训练数据生成装置,用于根据上述的方法生成训练数据;服务器,用于使用来自所述训练数据生成装置的训练数据训练机器学习模型,其中,所述机器学习模型用于识别时序数据段的异常类型。
12.根据本技术的另一个方面,还提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法步骤。
13.根据本技术的另一个方面,还提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
14.在本技术实施例中,采用了获取时序数据,其中,所述时序数据是对网络指标进行监控时采集到的数据,所述时序数据为按照时间顺序记录的数据;将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段,其中,所述正常的时序数据段是所述网络指标处于正常状态下产生的一段时序数据;将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签,该标签用于指示该种类的时序数据段的异常类型;将标注好的多个种类的时序数据段作为训练数据使用,其中,所述训练数据用于训练机器学习模型,该机器学习模型用于识别时序数据段的异常类型。通过本技术解决了采用人工来标注网络指标对应的时序数据所导致的效率低并且成本高的问题,进而可以对数据进行预先处理,对处理后的数据进行标注,相比于纯人工标注的方式在一定程度上提高了时序数据标注效率,并且降低了标注的成本。
附图说明
15.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例的标注时序数据用于机器学习训练的示意图;图2是根据本技术实施例的基于时序数据生成训练数据的方法的流程图;以及,图3是根据本技术实施例的异常的时序数据段标注流程示意图。
具体实施方式
16.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
17.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
18.在网络环境中存在多种不同类型的设备和服务,对于这些设备和服务需要使用不同的指标来进行监控,在本实施例中对这些网络设备进行监控的指标均被称作是网络指标。这些网络设备可以是网络传输过程产生的指标,例如丢包率、网络带宽等,也可以是采集得到的网络设备的硬件指标,例如内存使用率、处理占用率等。对于不同的网络指标而言,均可以采集该网络指标对应的时序数据,然后对该时序数据进行处理。需要说明的是,由于时序数据是按照时间顺序采集得到的,随着时间的推移,时序数据一直会被采集到,在进行异常判断的时候,可以对一段时间内采集到的时序数据进行判断,进而确定在这段时间内是否出现了网络异常,在以下描述中,将一段时间内对应的时序数据称为时序数据段。以下实施例中涉及到的时序数据的标注,就是将时序数据段标注为正常或者异常的过程。
19.图1是根据本技术实施例的标注时序数据用于机器学习训练的示意图,如图1所示,网络设备是正在运行的网络设备,对该网络设备可以配置需要监控的网络指标,例如该网络设备的带宽占用情况等,配置网络指标之后,可以采集该指标对应的数据,由于是按照时间持续对数据进行采集,所以得到的数据是与时间存在关联的时序数据。该数据被采集之后,可以保存在数据存储服务器中,人工可以对这些数据进行标注,例如,时序数据段1的标注为“正常”,时序数据段2的标注为“异常类型a”,时序数据段3的标注为“异常类型b”,时序数据段4的标注为“异常类型c”,时序数据段5的标注为“正常”......时序数据段n的标注为“异常类型b”,这些标注也被称为时序数据的标签,对时序数据段进行标注的过程也可以称作是打标过程。在数据打标之后,这些数据可以当做训练数据使用,将这些数据发送到用于进行机器学习模型训练的服务器中进行训练,在训练完成之后,就可以得到一个机器学习模型,该模型是用于判断时序数据段是否为异常时序数据段的,该模型的输入是时序数据段,输出为该时序数据段是正常或者异常,如果异常时序数据段还可以输出异常的类型。通过图1可知,训练数据的质量对最终训练得到的模型质量影响很大,因此,需要大量的训练数据来进行训练,但是由于采集得到的时序数据量非常大,人工对数据标注的效率比较低,成本比较高。
20.为了解决上述问题,在本实施例中提供了一种时序数据标注处理方法,图2是根据本技术实施例的基于时序数据生成训练数据的方法的流程图,如图2所示,下面对图2中包
括的步骤进行说明。
21.步骤s202,获取时序数据,其中,所述时序数据是对网络指标进行监控时采集到的数据,所述时序数据为按照时间顺序记录的数据。
22.在该步骤中,针对不同的网络指标采集该网络指标对应的时序数据,然后针对该网络指标对应的时序数据进行如下步骤的处理就可以得到标注后的时序数据段。这些标注后的时序数据段可以被用于训练有监督机器学习模型,该有监督机器学习模型可以根据输入的时序数据段识别出该网络指标是否出现异常。需要说明的是,如果多个网络指标的时序数据具有相同或者相似的特点,则也可以针对多个网络指标训练一个有监督机器学习模型;或者也可以针对每个不同的网络指标分别训练一个有监督的机器学习模型。在以下实施例中关注的是时序数据段的标注过程,在得到标注后的时序数据段之后,可以根据实际的情况在机器学习训练中使用这些时序数据段,在此不再一一赘述。
23.步骤s204,将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段,其中,所述正常的时序数据段是所述网络指标处于正常状态下产生的一段时序数据。
24.网络指标采集的时序数据虽然量比较大,但是考虑到在大多数情况下网络设备均是处于正常工作状态的,即针对该网络指标采集到的时序数据大部分为正常的时序数据,对于正常的时序数据段的识别也比较容易做到,因此在步骤s204中将正常的时序数据段删除之后,时序数据量就会减少,然后对剩余的时序数据进行标注的工作量也会减少。
25.步骤s206,将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签,该标签用于指示该种类的时序数据段的异常类型;被标注了异常类型的数据段为异常数据段,异常的时序数据段为所述网络指标在异常状态下产生的一段时序数据。
26.该步骤中的待标注的时序数据是已经剔除正常时序数据段的时序数据,标注工作量已经减少。为了进一步提高标注的效率,还可以在标注之前预先对待标注的时序数据段进行分类,虽然进行对待标注的时序数据段进行分类无法减少待标注的时序数据的数据量,但是,进行分类之后的时序数据对提高标注效率会有帮助。需要说明的是,由于网络指标会出现不同的异常情况,因此进行分类之后也可以初步时序数据段进行区分,这样在进行标注时就很容易对同一种类的异常时序数据段进行同一标注,从而提高标注效率。例如,分类a中有100条时序数据段,则直接可以将这100条时序数据段均标注为异常类型a,这样就不再需要针对每条时序数据段进行标注了。
27.步骤s208,将标注好的多个种类的时序数据段作为训练数据使用,其中,所述训练数据用于训练机器学习模型,该机器学习模型用于识别时序数据段的异常类型。
28.在上述步骤中,对网络指标对应的时序数据在标注之前进行了预处理的过程,该预处理过程包括剔除正常时序数据段和分类的过程,通过这两个过程之后,一方面可以减少待标注的时序数据的数量,另一方面通过分类为对同一种类的时序数据进行统一标注提供了可能,对标注效率的提高有所帮助。因此,通过上述步骤解决了采用人工来标注网络指标对应的时序数据所导致的效率低并且成本高的问题,进而可以对数据进行预先处理,对处理后的数据进行标注,相比于纯人工标注的方式在一定程度上提高了时序数据标注效
率,并且降低了标注的成本。
29.在上述步骤中涉及到正常时序数据段的识别,考虑到网络指标如果按照时间呈现出一定规律的话,则可以确定该网络指标是正常时序数据段,或者如果网络指标一直保持平稳也可以认为是正常的时序数据段。作为一个可选的实施方式,可以根据时序数据是否具有周期性和/或平稳性来确定某个时序数据段是否为正常的时序数据段。即从所述时序数据中识别出具有周期性和/或平稳性的时序数据段;将具有所述周期性和/或所述平稳性的时序数据段作为所述正常的时序数据段。
30.对于网络指标来说,不同的网络指标对应不同规律的时序数据。在实际应用时,可以判断一个网络指标对应的时序数据是否具有周期性或者平稳性,如果一个网络指标具有周期性或者平稳性,那么无论是在什么时间段采集到的该网络指标对应的时序数据均应该具有相同的周期性或平稳性。此时对于该网络指标就可以按照其历史规律中体现出的周期性或者平稳性对网络指标对应的时序数据进行筛选。通过这种方式是利用了一个网络指标的特性不会发生过大的变化的性质来进行正常时序数据段的判断,这种判断方式对于筛选出正常的时序数据段准确率还是比较高。
31.对于一个网络指标而言,可以根据其具有周期性或者平稳性来确定其体现出的走势规律,然后将符合该走势规律的时序数据段作为正常的时序数据段。首先,可以确定所述网络指标对应的时序数据是否具有周期性,在具有周期性的情况下获取所述网络指标对应的时序数据的周期性规律,然后,从所述网络指标对应的时序数据中识别出具有所述周期性规律的时序数据段。
32.从周期性的网络指标对应的时序数据中筛选出正常的时序数据段比较简单,只要获取该网络指标的周期性规律,然后将符合具有该周期性规律的时序数据段作为正常的时序数据段即可。对于网络指标的周期性规律可以人工进行提取,将周期性规律绘制成一条周期性曲线,然后,将采集到的时序数据段中的每个数据点按照时间进行排列之后用线连接,也可以得到一条曲线,将该曲线作为待判断曲线,然后将待判断曲线与周期性曲线进行比较,在两者相似度超过阈值的情况下,确定采集到的时序数据段符合该周期性规律,因此该待判断曲线对应的时序数据段为正常的时序数据段。
33.在另外一种可选的实施方式中,还可以筛选出网络指标历史上采集的多组时序数据,可以获取历史上的多组时序数据,确定这些时序数据是没有出现过异常的数据,该判断过程可以由人工来进行判断,即挑选出未出现过异常的多组时序数据之后,然后通过对多组时序数据的统计分析,就可以得到时序数据周期性走势。例如,一个网络指标在一天内(该一天即为一个周期)的时序数据是周期性的,可以选择多天(例如10)的数据,以间隔为预定时长的时间点对多天中的每一天的时序数据均进行采样,例如,每分钟进行均进行采样,然后得到每个时间点在多天的时序数据的平均值,根据每个时间点对应的平均值生成该网络指标在一天内的周期性曲线。然后该周期性曲线就可以用来筛选出正常的时序数据段。例如,将某一天的时序数据生成待比较的曲线,将该待比较的曲线与周期性曲线进行比较,如果待比较的曲线与周期性曲线相符合,则说明该天的时序数据为正常的时序数据段。
34.在上述例子中,是根据时序数据本身来确定该时序数据是否具有周期性的,还可以对时序数据来进行计算来确定该网络指标对应的时序数据是否具有周期性。即该周期性走势有可能是时序数据本身的走势,也有可能是对时序数据进行计算得到的数值的走势,
例如,时序数据之间差值的走势等。
35.在一个可选实施方式中,判断是否一个网络指标是否具有周期性还可以采用周期性算法来进行判断,在该周期性算法执行的确定网络指标对应的时序数据是否具有周期性可以包括如下步骤:将所述网络指标对应的时序数据分为多个时序数据段;获取所述多个时序数据段中的两两时序数据段的距离;在两两时序数据段的距离均小于阈值的情况下,确认该网络指标对应的所述时序数据具有周期性。上述步骤可以使用动态时间规整算法(dynamic time warping,简称为dtw)来实现,在dtw算法中可以计算出两个序列段之间的最小距离。
36.对于周期性的时序数据而言其按照周期性规律来进行筛选即可,但是对于平稳性数据而言,其可以理解为是围绕一个该时序数据的平均值上下波动的过程。这个波动过程一般会具限制,该限制可能是上限,也有可能是下限,在本实施例中使用了上下限来标识具有平稳性的时序数据所具有的上限和/或下限。确定一个网络指标是否具有平稳性,可以根据该网络指标的历史采集的时序数据来进行判断,例如,获取历史上采集的多个时间段的时序数据,该多个时间段的时序数据可以是人工标注出的正常的时序数据段。对该多个时间段的时序数据到其中的最大值和/或最小值,将到的最大值和/或最小值作为上限和/或下限。需要说明的是,如果多个时间段中的每个时间段的最大值和/或最小值之间差距在预定范围内,则说明该网路指标对应的时序数据为平稳数据(即具有平稳性),如果每个时间段的时序数据的最大值和/或最小值差距都很大,则说明该网络指标对应的时序数据可能为非平稳数据(即不具有平稳性)。
37.对于一个网络指标而言,可以确定所述网络指标对应的时序数据是否具有平稳性,在具有平稳性的情况下获取所述网络指标对应的时序数据的上下限,从所述网络指标对应的时序数据中识别出在所述上下限范围内的时序数据段,其中,在所述上下限范围内的时序数据段作为具有所述平稳性的时序数据段。
38.上述实施方式中给出了一种确认时序数据是否具有平稳性的方式,这种方式实现简单,但是可能会出现一定的误判率,作为另一种方式,可以选择使用是否存在单位根的方式来确定是否为平稳时序数据,其中,n次单位根是n次幂为1的复数。即确定所述网络指标对应的时序数据是否具有平稳性可以包括如下步骤:获取所述网络指标对应的时序数据所对应的多项式,其中,所述多项式用于在时间上表示所述网络指标对应的时序数据;根据所述多项式是否存在单位根确定所述网络指标对应的时序数据是否具有平稳性。
39.在实际应用中,可以采用多种算法来对单位根进行检验,例如,可以采用adf检验算法,或者也可以采用df-gls检验算法或者也可以采用kpss检验算法。其中,adf全称为augmented dickey-fuller testing是最常用的单位根检验方法之一,通过检验序列是否存在单位根来判断序列是否是平稳的。df-gls检验算法是一种单位根检验方法,全称dickey-fuller test with gls detredding,即“使用广义最小二乘法去除趋势的检验”,是目前最有功效的单位根检验。kpss是检验数据平稳性的统计检验方法,其全称为kwiatkowski

phillips

schmidt

shin。当然也可以采用其他算法来判断时序数据是否平稳,例如,采用统计法、图形分析法等,在此不再一一赘述。
40.在上述实施方式中,可以从时序数据中筛选出正常的时序数据段,考虑到时序数据中正常的时序数据段占据很高的比例,因此通过上述实施方式之后剩余的时序数据的量
会大大减少,这样就可以提高标注效率。考虑到实际发生的网络异常种类是有限的,因此,如果对剩余的时序数据进行分类,这样就是实现分类的批量标注,这种批量标注的方式必然会再次提高标注的效率。
41.为了提高分类的效率,可以采用分类算法来进行分类。在一个可选的实施方式中,对于一个网络指标而言其发生的异常情况为有限的几种,此时,根据这种经常发生的异常情况配置多个种类,每个种类中到典型时序数据段,然后根据到的典型时序数据待将待标注的时序数据进行分类。即在该可选实施方式中,将所述待标注的时序数据进行分类得到多个种类的时序数据可以包括如下步骤:获取预先配置的多个种类,其中,每个种类对应的时序数据段的特性不同;获取预先配置的多个种类中每个种类对应的典型时序数据段,其中,所述典型时序数据段是人工挑选出的具有该种类特定的时序数据段;对每个所述待标注的时序数据段与每个种类对应的所述典型时序数据段进行比较,确定与该待标注时序数据段相似度最高的典型时序数据段,将相似度最高的典型时序数据段对应的种类作为该时序数据段的种类。比较两个时序数据段是否相似的可以使用现在的算法来进行,可以利用在上文中提到的动态时间规整算法(dtw)来实现,在dtw算法中可以计算出两个时序序列段之间的最小距离,其中最小距离最小的则为相似度最高的典型时序数据段。例如,预先配置了四个种类,这四个种类分别对应典型时序数据段1、典型时序数据段2、典型时序数据段3和典型时序数据段4。将待分类的时序数据段通过dts算法分别计算与四个典型时序数据段的最小距离,其中,与典型时序数据段1的最小距离为距离1,与典型时序数据段2的最小距离为距离2、与典型时序数据段3的最小距离为距离3、与典型时序数据段4的最小距离为距离4。在这四个距离中,如果距离2最小,则将待分类的时序数据分类到典型时序数据段2对应的种类中。
42.在上述分类中需要使用典型时序数据段来进行辅助分类,在另一种方式中也可以使用聚类算法来进行分类,即,将所述待标注的时序数据进行分类得到多个种类的时序数据的步骤包括:使用聚类算法对所述待标注的时序数据进行聚类,得到多个种类的时序数据。在该可选方式中,使用聚类算法对待标注的时序数据进行聚类。聚类算法是一种典型的无监督学习算法,主要用于将相似的样本(即时序数据)自动归到一个类别中。在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。聚类算法是无监督学习,只需要样本,而不需要标记结果,通过学习训练,将样本分为不同的种类。
43.常用的聚类算法有:k均值算法(简称为k-means)、k中心点算法(简称为k-medoids)、基于随机选择的聚类算法(a clustering algorithm based on randomized search,简称为clarans)等。在本实施例中可以采用k-means算法。在k-means算法中,预将数据分为k组,则随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
44.在对待标注的时序数据可以根据经常出现的经常出现的几种异常情况:突增、突
减、漂移和突刺提前分为四个组(每个组对应一个种类),从待标注的时序数据中随机选择四个时序数据段作为初始聚类中心,然后计算每个时序数据段与初始聚类中心的距离,并将该时序数据段分配给距离它最近的聚类中心,每分配一个时序数据段,一个组的聚类中心会重新计算,循环该过程,直到满足终止条件。
45.当然,除了上述k-means算法之外还可以采用其他算法,在实际应用时可以根据实际情况灵活选择所使用的聚类算法,再次不再一一赘述。
46.通过上述实施方式可以将待标注的时序数据分为不同的种类,在一种实施方式中可以将分好种类的时序数据直接交由人工进行标注,或者,在另一个可选的方式中,为了进一步提升效率还可以使用已有的异常检测算法首先进行自动标注。这些检测算法可以是根据异常时序数据段的特点来进行异常时序数据段检测的,或者也可以是使用少量人工标注的训练数据训练得到的机器学习算法。这些检测算法由于使用了异常数据段的特点以及人工标注的数据来进行检测,因此检测出异常时序数据段存在召回率高、准确率低的特点,其中,召回率就是用检测算法查出来的正确的数量除以所有正确的数量,准确率是用检测算法查出来的正确的数量除以所有的数量(包含正确和不正确的数量)。由于异常检测算法检测存在一定不准确率,因此,使用异常检测算法检测时候对异常时序数据段的标注需要人工进行检查。即在该可选方式中,对所述多个种类中的每个种类的时序数据进行标注可以包括如下步骤:对所述每个种类的时序数据端使用异常检测算法进行检测,其中,所述异常检测算法为预先配置的;将使用所述异常检测算法检测出每个种类的时序数据段对应的异常类型提供给人工,作为人工标注异常类型的参考。
47.通过上述可选方式,可以通过异常检测算法进行初步标注,然后再由人工对异常检测算法检测出的异常的时序数据段进行人工标注,一方面通过人工标注提高了标注的准确性,另一方面通过异常检测算法的辅助提高了人工标注的效率。
48.在另一个可选的方式中,还可以获取被人工标注出时序数据段对应的异常类型;将使用所述异常检测算法检测出的异常类型和所述人工标注出的异常类型进行比较;保存人工标注的异常类型与异常检测算法检测的异常类型不同的时序数据段。检测结果不同的时序数据段可以被用于上述异常检测算法的优化,从而进一步提高异常检测算法的准确程度。
49.通过上述可选实施方式,不仅仅对网络指标时序数据进行了正常时序数据段的剔除,还使用了分类的方式,并辅助异常检测算法来进行初步标注,通过上述技术手段可以最大程度的提高人工标注的效率,并降低人工标注的成本。下面结合附图对一个可选例子进行说明。图3是根据本技术实施例的异常的时序数据段标注流程示意图,在图3中首先收集原始时序数据,对原始时序数据进行筛选后,可以定义异常类型,然后在进行异常时序数据段的聚类,通过异常检测算法进行初步标记,经过步骤之后在交由专家进行人工打标和归类,最终人工标注的数据还可以用于游湖初步标记步骤中使用的异常检测算法,从而形成闭环处理。下马对图3中涉及到的各个步骤进行说明。
50.1.筛选网络指标对应的时序数据的标注是在一个时序指标上标记出异常的时序数据段(简称为异常点),通过对当前云网络历史采集到的时序数据进行观察分析可以得出如下结论:需要标记的时序数据的异常点在整个时序数据上的占比是比较少的,也就是说大部分
的时序数据都是正常的时序数据段(简称为正常点),只有少数是需要标记为异常点的。正常的时序数据段通常是规律性的或者平稳性的,在本例子中可以利用这一个特点对待标注的数据做初步的筛选,剔除掉规律性和平稳性的时序数据段,只筛选出不规律、不平稳的时序数据段做下一步的标注。
51.2.定义异常类型标注出的异常时序数据段将来会被用于机器学习算法的训练中,不同的机器学习算法可以用来识别不同的异常。考虑到不同的网络指标产生的时序数据段的特点也不同,因此,对于不同的网络指标也可能使用不同的机器学习算法来识别异常时序数据段。基于这种情况,不同的算法对不同的异常类型的敏感性不一样,例如有的算法比较擅长识别突增突减的情况,而有的算法则比较擅长识别漂移或者突刺的情况,针对不同算法的需求,可以人为定义一些异常类型,后续可以将标注的异常时序数据段进行归类,用于不同算法的训练和迭代。
52.作为一个可选的方式,考虑到云网络的时序数据正常情况下大多数是平稳或者周期性的,为数不多的异常数据段可以按照一定的规则分为几种不同的异常类型:突增、突减、漂移和突刺。
53.3.异常数据的聚类从步骤1中筛选出来的不规律、非平稳时序数据的数据量已经大大减少,但数据量可能还是无法直接进行人工标注。在本例子中,为了进一步减少人工标注的工作量,可以对这部分提出正常时序数据段之后的时序数据进行聚类,后续的标注可以基于聚好的类别进行批量标注。
54.在聚类中会使用到现有的算法,例如,聚类当中时间序列的相似性度量方法使用比较成熟的dtw算法,该算法可以对长度不同的时间序列进行相似度检验。聚类算法也有很多种,例如在本例子中聚类算法使用k-means算法,对于该算法在上述实施方式中已经进行了说明,在此不再赘述。经过聚类之后的异常时序数据段数量本身不会减少,但是后续的人工标注对聚好的类进行批量标注,这一过程能减少人工标注的工作量。
55.4.初步标记异常点在该步骤中,可以使用现有的召回率较高但是准确率可能比较低的异常检测算法对筛选出来的数据做初步的打标。由于召回率较高,可以将数据集中大部分异常时序检测出来,而通过异常检测算法检测为正常时序的数据可以不需要专家打标。在上述实施方式中已经对异常检测算法进行了说明,在此不再赘述。
56.5.专家打标经过上述步骤的处理,专家可以对异常检测算法预标记好的数据进行人工标注,在进行人工标记的过程中,由于已经对异常时序数据段进行了聚类,因此,可以对某一个种类内的数据进行批量标注,从而提高人工标注的效率。
57.人工标记的结果可以反馈到第四步的异常点的检测中,使得异常检测算法能够更加精准,进一步降低后面专家标注的数据量。
58.在本例子中将待标注的数据进行多次筛选和归类,能够大大降低专家需要标注的数据量,在保障标注质量的同时又能够降低标注成本,能够在有限的成本下给各类算法的训练和迭代更新提供数据保障。
59.在本实施例中还提供了一种基于时序数据机器学习系统,包括:训练数据生成装置,用于根据上述的方法生成训练数据;服务器,用于使用来自所述训练数据生成装置的训练数据训练机器学习模型,其中,所述机器学习模型用于识别时序数据段的异常类型。需要说明的是,训练数据生成装置可以具有计算能力的任意设备(如服务器),或者该训练数据生成装置也可以是运行在具有计算能力设备中的程序。
60.在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
61.上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd
ꢀ‑ꢀ
rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
62.这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
63.该本实施例中就提供了这样的一种装置或系统。该装置被称为基于时序数据生成训练数据的装置,包括:获取模块,用于获取时序数据,其中,所述时序数据是对网络指标进行监控时采集到的数据,所述时序数据为按照时间顺序记录的数据;筛选模块,用于将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段,其中,所述正常的时序数据段是所述网络指标处于正常状态下产生的一段时序数据;标注模块,用于将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签,该标签用于指示该种类的时序数据段的异常类型;处理模块,用于将标注好的多个种类的时序数据段作为训练数据使用,其中,所述训练数据用于训练机器学习模型,该机器学习模型用于识别时序数据段的异常类型。
64.该系统或者装置用于实现上述的实施例中的方法的功能,该系统或者装置中的每个模块与方法中的每个步骤相对应,已经在方法中进行过说明的,在此不再赘述。
65.可选地,所述筛选模块用于从所述时序数据中识别出具有周期性和/或平稳性的时序数据段;将具有所述周期性和/或所述平稳性的时序数据段作为所述正常的时序数据段。
66.可选地,所述筛选模块用于确定所述网络指标对应的时序数据是否具有周期性,在具有周期性的情况下获取所述网络指标对应的时序数据的周期性规律,从所述时序数据中识别出具有所述周期性规律的时序数据段;和/或,确定所述网络指标对应的时序数据是
否具有平稳性,在具有平稳性的情况下获取所述网络指标对应的时序数据的上下限,从所述时序数据中识别出在所述上下限范围内的时序数据段作为具有所述平稳性的时序数据段。
67.可选地,所述筛选模块用于确定网络指标对应的时序数据是否具有周期性包括:将所述网络指标对应的时序数据分为多个时序数据段;获取所述多个时序数据段中的两两时序数据段的距离;在两两时序数据段的距离均小于阈值的情况下,确认该网络指标对应的所述时序数据具有周期性。
68.可选地,所述筛选模块用于获取所述网络指标对应的时序数据所对应的多项式,其中,所述多项式用于在时间上表示所述网络指标对应的时序数据;根据所述多项式是否存在单位根确定所述网络指标对应的时序数据是否具有平稳性。
69.可选地,所述标注模块用于对所述每个种类的时序数据段使用异常检测算法进行检测,其中,所述异常检测算法为预先配置的;将使用所述异常检测算法检测出每个种类的时序数据段对应的异常类型提供给人工,作为人工标注异常类型的参考。
70.可选地,上述装置还包括:保存模块用于获取被人工标注出时序数据段对应的异常类型;将使用所述异常检测算法检测出的异常类型和所述人工标注出的异常类型进行比较;保存人工标注的异常类型与异常检测算法检测的异常类型不同的时序数据段。
71.可选地,所述标注模块用于获取预先配置的所述多个种类,其中,每个种类对应的时序数据段的特性不同;获取预先配置的多个种类中每个种类对应的典型时序数据段,其中,所述典型时序数据段是人工挑选出的具有该种类特定的时序数据段;对每个所述待标注的时序数据段与每个种类对应的所述典型时序数据段进行比较,确定与该待标注时序数据段相似度最高的典型时序数据段,将相似度最高的典型时序数据段对应的种类作为该时序数据段的种类。
72.可选地,所述标注模块用于使用聚类算法对所述待标注的时序数据段进行聚类,得到多个种类的时序数据段;其中,所述聚类算法为无监督机器学习算法。
73.通过本技术解决了采用人工来标注网络指标对应的时序数据所导致的效率低并且成本高的问题,进而可以对数据进行预先处理,对处理后的数据进行标注,相比于纯人工标注的方式在一定程度上提高了时序数据标注效率,并且降低了标注的成本。
74.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:


1.一种基于时序数据生成训练数据的方法,包括:获取时序数据,其中,所述时序数据是对网络指标进行监控时采集到的数据,所述时序数据为按照时间顺序记录的数据;将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段,其中,所述正常的时序数据段是所述网络指标处于正常状态下产生的一段时序数据;将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签,该标签用于指示该种类的时序数据段的异常类型;将标注好的多个种类的时序数据段作为训练数据使用,其中,所述训练数据用于训练机器学习模型,该机器学习模型用于识别时序数据段的异常类型。2.根据权利要求1所述的方法,其中,将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段之前,所述方法还包括:从所述时序数据中识别出具有周期性和/或平稳性的时序数据段;将具有所述周期性和/或所述平稳性的时序数据段作为所述正常的时序数据段。3.根据权利要求2所述的方法,其中,从所述时序数据中识别出具有周期性的时序数据段包括:确定所述网络指标对应的时序数据是否具有周期性,在具有周期性的情况下获取所述网络指标对应的时序数据的周期性规律,从所述时序数据中识别出具有所述周期性规律的时序数据段;和/或,从所述时序数据中识别出具有平稳性的时序数据段包括:确定所述网络指标对应的时序数据是否具有平稳性,在具有平稳性的情况下获取所述网络指标对应的时序数据的上下限,从所述时序数据中识别出在所述上下限范围内的时序数据段作为具有所述平稳性的时序数据段。4.根据权利要求3所述的方法,其中,确定网络指标对应的时序数据是否具有周期性包括:将所述网络指标对应的时序数据分为多个时序数据段;获取所述多个时序数据段中的两两时序数据段的距离;在两两时序数据段的距离均小于阈值的情况下,确认该网络指标对应的所述时序数据具有周期性。5.根据权利要求3所述的方法,其中,确定所述网络指标对应的时序数据是否具有平稳性包括:获取所述网络指标对应的时序数据所对应的多项式,其中,所述多项式用于在时间上表示所述网络指标对应的时序数据;根据所述多项式是否存在单位根确定所述网络指标对应的时序数据是否具有平稳性。6.根据权利要求1至5中任一项所述的方法,其中,对所述每个种类的时序数据段进行标注包括:对所述每个种类的时序数据段使用异常检测算法进行检测,其中,所述异常检测算法为预先配置的;将使用所述异常检测算法检测出每个种类的时序数据段对应的异常类型提供给人工,作为人工标注异常类型的参考。
7.根据权利要求6所述的方法,其中,还包括:获取被人工标注出时序数据段对应的异常类型;将使用所述异常检测算法检测出的异常类型和所述人工标注出的异常类型进行比较;保存人工标注的异常类型与异常检测算法检测的异常类型不同的时序数据段。8.根据权利要求1至5中任一项所述的方法,其中,将所述待标注的时序数据进行分类得到多个种类的时序数据包括:获取预先配置的所述多个种类,其中,每个种类对应的时序数据段的特性不同;获取预先配置的多个种类中每个种类对应的典型时序数据段,其中,所述典型时序数据段是人工挑选出的具有该种类特定的时序数据段;对每个所述待标注的时序数据段与每个种类对应的所述典型时序数据段进行比较,确定与该待标注时序数据段相似度最高的典型时序数据段,将相似度最高的典型时序数据段对应的种类作为该时序数据段的种类。9.根据权利要求1至5中任一项所述的方法,其中,将所述待标注的时序数据段进行分类包括:使用聚类算法对所述待标注的时序数据段进行聚类,得到多个种类的时序数据段;其中,所述聚类算法为无监督机器学习算法。10.一种基于时序数据机器学习系统,其中,包括:训练数据生成装置,用于根据权利要求1至9中任一项所述的方法生成训练数据;服务器,用于使用来自所述训练数据生成装置的训练数据训练机器学习模型,其中,所述机器学习模型用于识别时序数据段的异常类型。11.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至9任一项所述的方法步骤。12.一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1至9任一项所述的方法步骤。

技术总结


本申请公开了基于时序数据生成训练数据的方法、设备和可读存储介质,该方法包括:获取时序数据;将所述时序数据中除正常的时序数据段之外其他时序数据段作为待标注的时序数据段;将所述待标注的时序数据段进行分类得到多个种类的时序数据段,对所述多个种类中的每个种类的时序数据段进行标注,其中,所述标注用于为该种类的时序数据段增加标签;将标注好的多个种类的时序数据段作为训练数据使用。通过本申请解决了采用人工来标注网络指标对应的时序数据所导致的效率低并且成本高的问题,进而可以对数据进行预先处理,对处理后的数据进行标注,相比于纯人工标注的方式在一定程度上提高了时序数据标注效率,并且降低了标注的成本。本。本。


技术研发人员:

芮藤长 史洋洋 潘涌 杨帅 钮骏凯 肖雄 韩泽鋆 吕彪 祝顺民

受保护的技术使用者:

阿里云计算有限公司

技术研发日:

2022.11.15

技术公布日:

2022/12/23

本文发布于:2024-09-20 20:38:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/47550.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时序   数据   所述   异常
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议