CN112749035B - 异常检测方法、装置及计算机可读介质 - Google Patents

异常检测方法、装置及计算机可读介质 Download PDF

Info

Publication number
CN112749035B
CN112749035B CN201911056820.1A CN201911056820A CN112749035B CN 112749035 B CN112749035 B CN 112749035B CN 201911056820 A CN201911056820 A CN 201911056820A CN 112749035 B CN112749035 B CN 112749035B
Authority
CN
China
Prior art keywords
samples
sample
pressure
training sample
sample set
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
CN201911056820.1A
Other languages
English (en)
Other versions
CN112749035A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911056820.1A priority Critical patent/CN112749035B/zh
Publication of CN112749035A publication Critical patent/CN112749035A/zh
Application granted granted Critical
Publication of CN112749035B publication Critical patent/CN112749035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请提供了一种异常检测方案,该方案首先利用***的历史数据进行基线拟合,然后根据基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常。在训练时先从初始训练样本集中剔除异常样本获得第一训练样本集,然后对第一训练样本集进行不等概抽样获取第二训练样本集,并基于第二训练样本集进行基线拟合,由于剔除了异常样本,使得进行训练的样本均为正常的样本,避免异常样本对基线拟合的影响,并且通过不等概抽样尽可能多地保留了数量较少的高压力区间时的样本,由此能够避免训练样本中缺少高压力区间时的样本,使得拟合获得的基线具有更准确的检测能力。

Description

异常检测方法、装置及计算机可读介质
技术领域
本申请涉及信息技术领域,尤其涉及一种异常检测方法、装置及计算机可读介质。
背景技术
读写延迟是云计算***运行过程中的一种重要指标,往往整个***的问题都能从这个指标中体现出来,例如当***出现异常时该指标一般都会明显升高,因此对其进行精确的异常检测非常重要。
***的诸多关键指标往往存在关联变化,例如读写延迟指标受到读写大小和每秒读写次数指标的影响。读写延迟指标的升高并不意味着一定有异常的发生,也有可能是因此读写大小和每秒读写次数等指标升高所造成的正常升高。可解释的指标冲高并不是异常,而不可解释的指标波动是需要排查原因并进行相应运维处理的异常。由于多指标之间存在非线性的复杂联动关系,几乎无法通过设定规则的方式来进行报警。因此,目前缺少一种能够准确检测***异常的方案。
申请内容
本申请的一个目的是提供一种异常检测方案,以解决目前缺少一种能够准确检测***异常的问题。
为实现上述目的,本申请的一些实施例提供了一种异常检测方法,该方法包括:
从初始训练样本集中剔除异常样本,获得第一训练样本集,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据;
对所述第一训练样本集进行不等概抽样,获取第二训练样本集,其中,所述不等概抽样中高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率;
基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线;
根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常,其中,所述测试样本包括***运行时待检测的响应指标和压力指标。
本申请的一些实施例还提供了一种异常检测装置,包括:
清理模块,用于从初始训练样本集中剔除异常样本,获得第一训练样本集,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据;
抽样模块,用于对所述第一训练样本集进行不等概抽样,获取第二训练样本集,其中,所述不等概抽样中高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率;
训练模块,用于基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线;
检测模块,用于根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常,其中,所述测试样本包括***运行时待检测的响应指标和压力指标。
此外,本申请的一些实施例还提供了一种计算装置,该装置包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述装置执行所述异常检测方法。
本申请的另一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述异常检测方法。
本申请实施例提供的异常检测方案中,首先利用***的历史数据进行基线拟合,然后根据基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常。在训练时先从初始训练样本集中剔除异常样本获得第一训练样本集,然后对第一训练样本集进行不等概抽样获取第二训练样本集,并基于第二训练样本集进行基线拟合,由于剔除了异常样本,使得进行训练的样本均为正常的样本,避免异常样本对基线拟合的影响,并且通过不等概抽样尽可能多地保留了数量较少的高压力区间时的样本,由此能够避免训练样本中缺少高压力区间时的样本,使得拟合获得的基线具有更准确的检测能力。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种异常检测方法的处理流程图;
图2为本申请实施例在剔除异常样本时的处理流程图;
图3为本申请实施例中的一种聚类结果示意图;
图4为本申请实施例中对超参数调整的处理流程图;
图5为本申请实施例提供的一种异常检测装置的结构示意图;
图6为本申请实施例提供的另一种用于实现异常检测的计算装置的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种异常检测方法,该方法剔除了初始训练样本集中的异常样本,使得进行训练的样本均为正常的样本,避免异常样本对基线拟合的影响,并且通过不等概抽样尽可能多地保留了数量较少的高压力区间时的样本,由此能够避免训练样本中缺少高压力区间时的样本,使得拟合获得的基线具有更好的检测能力。
在实际场景中,该方法的执行主体可以是网络设备或者用户设备与网络设备通过网络相集成所构成的装置。其中,所述用户设备包括但不限于个人计算机、智能手机、平板电脑等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集群等实现。
图1示出了本申请实施例提供的一种异常检测方法的处理流程,该方法可以包括以下步骤:
步骤S101,从初始训练样本集中剔除异常样本,获得第一训练样本集。其中,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据,例如可以将***在最近半个月运行时的响应指标和压力指标作为训练样本。所述响应指标一般可以是能够反映***整体运行情况的关键指标,例如可以是读写延迟(IoLatency),而压力指标可以是与所述响应指标具有一定关联性的、能够引起响应指标变化的指标,例如对于响应指标IoLatency,与其相关的压力指标可以是读写大小(IoSize)、每秒读写次数(Iops)或者吞吐量(throughput)等。
在***的实际运行过程中,响应指标的升高并不意味着一定有异常的发生,可能是因为***发生了异常,也有可能是是因为其对应的压力指标升高造成的。由于所述初始训练样本集中的样本是***的响应指标和压力指标的历史数据,因此其中响应指标较高的样本有可能是正常样本(即压力指标升高导致响应指标正常升高),也有可能是异常样本(***异常引起的压力指标升高),通过剔除了初始训练样本集中的异常样本,使得进行训练的样本均为正常的样本,可以避免异常样本对基线拟合的影响。
本申请的一些实施例中,可以采用如图2所示的处理方式来剔除异常样本,其处理流程包括以下处理步骤:
步骤S201,将初始训练样本集中的样本基于响应指标和压力指标进行聚类,确定多个样本类。例如,可以采用K-means等聚类算法对样本进行聚类。在实际场景中,若指标的数量较多,在进行聚类处理时的处理维度也越高,复杂度也会随之升高,因此可以在进行聚类之前减少压力指标的数量,从而降低聚类处理的复杂度。
本申请实施例提供的聚类处理方案如下:首先,在压力指标的数量大于预设值时,根据所述压力指标确定与响应指标最相关的关联指标。其中,所述关联指标的数量小于等于预设值,而预设值可以根据不同的需求设定,例如可以设定为1个,当压力指标为读写大小、每秒读写次数和吞吐量时,其数量超过一个,此时可以基于这些压力指标确定与响应指标最相关的1个关联指标。由此,在进行K-means聚类时是基于1个响应指标和1个关联指标进行聚类,仅需要在二维空间中进行聚类,大大降低了处理的复杂度。
根据不同的处理方式,所述关联指标可以直接从压力指标中的选取,也可以是基于压力指标处理计算所获得的新指标。例如,可以基于多个压力指标进行主成分分析,将其结合成一个主成分,作为关联指标,或者也可以计算每个压力指标与响应指标之间的斯皮尔曼(Spearman)相关系数,选取其中最相关的一个压力指标,作为关联指标。
在确定关联指标之后,可以将训练样本集中的样本基于所述关联指标和压力指标进行聚类,确定多个样本类。由于当压力指标过多时,对其进行处理后得到的关联指标的数量较少,因此能够降低聚类处理的复杂度,提高处理效率。
步骤S202,在完成聚类之后,将类中心不符合预设条件的样本类作为异常样本剔除,获得第一训练样本集。其中,预设条件用于排除因***异常引起的压力指标升高的情况,例如在本申请实施例中若认为在响应指标大于Y,并且压力指标或者关联指标小于X时,响应指标的身高无法解释为因压力指标或者关联指标的升高而引起的正常升高。由此可以将预设条件设定为与响应指标的类中心以及压力指标或者关联指标的类中心的阈值相关,当响应指标的类中心大于一个阈值,且压力指标或者关联指标的类中心小于另一阈值,则可以认为该样本类的类中心不符合预设条件,将该样本类中所包含的样本作为异常样本剔除。
图3示出了基于响应指标读写延迟和压力指标吞吐量进行聚类后的聚类结果示意图。其中,聚类结果包括5个样本类G0~G4,根据其类中心与预设条件中的阈值Y、X的关系,其中的区域Area中的样本类G2和样本类G4的样本将被判定为异常样本。
本申请的一些实施例中,在进行剔除异常样本之前时可以先对初始样本训练集中的样本进行标准化处理。例如本施例中,通过标准化处理,可以消除各个指标的纲量并使得数据更加集中,以便于后续的处理。对于标准化处理后的样本,在进行异常样本剔除时,可以将响应指标的类中心超过3sigma,且压力指标的类中心在3(或更保守的2或1.5)sigma以内的样本类的样本视为异常样本,从而将这些样本类移除,剩余样本类中的样本即为第一训练样本集。
步骤S102,对所述第一训练样本集进行不等概抽样,获取第二训练样本集。由于本方案的目的在于检测***运行状态的异常,需要保证一定的实时性,因此监控数据的采样时间区间较短,会产生大量的样本,若直接基于所有的样本进行处理需要巨大的计算成本,由此需要进行抽样,以降低计算成本。
在本申请实施例的方案中的不等概抽样,对于高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率,其中,所述高压力区间对应***运行时压力指标较高时的情况,反之,低压力区间则对应***运行时压力指标较低时的情况,高压力区间和低压力区间可以根据实际场景中***的运行情况来进行确定,例如可以人为设定区分阈值,根据当时不同的压力指标将***的运行状态认为划分为不同高低不同的多个压力区间。
在实际场景中,由于***运行时处于高压力状态的情况往往较少,因此,历史数据中高压力区间的样本数量往往会明显少于低压力区间时的样本数量,若采用简单随机抽样很有可能会导致训练样本集中保留了过多低压力区间时的样本,而仅抽取到少量高压力区间的样本,使得训练样本不平衡而影响基线拟合。
在本申请的一些实施例中,结合前述对样本的聚类,可以采用如下的方式进行不等概抽样:首先,根据第一训练样本集中各个样本类的样本个数,确定对样本类的抽样权重。其中,所述样本类的抽样权重与该样本类的样本个数负相关,并与该样本类中样本的入样概率正相关,即样本类中的样本个数越多,该样本类的抽样权重小,样本被抽到的概率越小。例如,本实施例中,可以设定抽样权重为1/sqrt(group_size),即样本个数的平方根的倒数,group_size即为样本类的样本个数。以样本个数为10000的样本类G1为例,其抽样权重为1/100,而样本个数为100的样本类G2的抽样权重为1/10。而入样概率可以与对应的抽样权重成正比,例如前述的样本类G2的入样概率为样本类G1的入样概率的10倍,即在进行抽样时,样本类G2中的样本被抽取的概率是样本类G1中样本的10倍。
基于所述抽样权重,对第一训练样本集中的各个样本类进行抽样,即可获取第二训练样本集。表1示出了采用了上述方式对几个样本类进行不等概抽样后的抽样结果:
类编号 0 1 2 3 4
样本个数 15122 4707 3115 7056 235
抽样结果 3860 1979 1507 2440 214
表1
由于聚类的结果在一定程度上能够体验了在实际场景中***运行时的实际情况,即处于高压力区间的样本数量往往会明显少于低压力区间时的样本数量,例如上述编号为4的样本类中样本的对应更高的压力区间,在第一训练样本集中,其数量最少。采用上述方式确定抽样权重,并以相应的入样概率进行不等概抽样后,编号为4的样本类中样本保留的比例最高,由此可以使得第二训练样本集中尽可能多地保留高压力区间对应的样本,保证基线拟合的准确性。
步骤S103,基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线。即使用历史数据训练一个回归模型,来预测需要检测异常的响应指标,例如使用压力指标读写大小、每秒读写次数和吞吐量来预测响应指标读写延迟,不同压力指标下对应的响应指标的预测值即为用于异常检测的基线。
步骤S104,根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常。
其中,所述测试样本包括***运行时待检测的响应指标和压力指标。基于测试样本中的压力指标,结合基线可以预测在该压力指标下的响应指标的预测值,即为y_hat,而测试样本中的响应指标为该压力指标下响应指标的真实值,即为y,本实施例中是通过计算真实值和预测值的差来实现异常检测。
由此,在本申请的一些实施例中,在根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常时,可以根据所述基线,判断测试样本中待检测的压力指标所对应的响应指标是否超过基线的报警阈值,若若超过报警阈值,则确定所述测试样本对应的***运行状态为异常。否则,若未超过报警阈值,则认为所述测试样本对应的***运行状态为正常。
基线的报警阈值可以根据实际应用场景的需求设定,可以采用如下集中基线的报警阈值:
(1)看响应指标的真实值是否偏离基线超过常规抖动幅度的a倍。此时报警阈值y_limit_1=y_hat_Q3+a×IQR,其中,y_hat_Q3为所述第二训练样本集中响应指标的第三四分位值,即响应指标中排列在第75%位置的值,IQR为所述第二训练样本集中响应指标的第三四分位值和第一四分位值之差,即响应指标中排列在第75%位置的值与排列在第25%位置的值之间的差,
(2)看响应指标的真实值是否超过基线的绝对值b。此时,报警阈值y_limit_2=y_hat+b。
(3)看响应指标的真实值是否超过基线的比例c。此时,报警阈值y_limit_3=y_hat×c。
其中,a、b、c为可调整的超参数,例如可以设定其初始值为1.5、0、1,后续可以通过不断的调整使得基线模型的目标损失函数最小,使得检测的准确性更佳。
在实际使用时,可以根据第一阈值y_limit_1、第二阈值y_limit_2和第三阈值y_limit_3中的最大值确定所述基线的报警阈值,所述第一阈值y_limit_1为所述第二训练样本集中响应指标的第三四分位值y_hat_Q3与四分计算值之和,所述四分计算值为所述第二训练样本集中响应指标的四分位距IQR与第一超参数a之积,所述第二阈值y_limit_2为待检测的压力指标在基线上的对应值y_hat与与第二超参数b之和,所述第三阈值y_limit_3为待检测的压力指标在基线上的对应值y_hat与第三超参数c之积。即实际用于检测的基线的报警阈值y_limit=max(y_limit_1,y_limit_2,y_limit_3),相当于测试样本只有全部触发了上述三种报警阈值时,才认为测试样本对应的***运行状态为异常。
在实际场景中,采集到的样本数据常常伴随着方差不相等的问题,比如高压力区间时指标的波动较大,而低压力区间时波动较小。同时,对于云计算***而言,而由于需要为不同的业务提供服务,各个业务集群的指标波动情况也不相同,例如有的业务集群在高压力区间时波动大,而有的业务集群低压力区间时波动大。为解决该问题,本申请实施例提供的异常检测方法中,还会在对测试样本进行检测之前,对测试样本进行数值缩放,以使所述测试样本的方差相等。
在本申请的一些实施例中,缩放的方式可以是对测试样本进行Box-Cox变换。Box-Cox变换是一种广义幂变换方法,是统计建模中常用的一种数据变换,其变换公式可以设定为:λ不等于0时,为y=(x^λ-1)/λ,在λ等于0时,为y=log(x),其中,λ为表示数值压缩方式的参数,决定了数值变换是压缩高数值点还是压缩低数值点,以及压缩的程度等。λ可以根据不同业务集群中指标数值的特点用极大似然法估计出一个最合适的值,由此可以对每一个不同业务集群可以确定一个最优的λ,使得来自不同业务集群的测试样本在经过Box-Cox变换后的数值方差相等。由此,在进行异常检测时,可以无需再对不同的业务集群设定相适应的报警阈值,而是可以采用统一的全局报警阈值进行异常检测。
由于上述实施例提供的方法进行的异常检测是完全无监督的,其检测到的异常结果是统计意义上的异常。在实际场景中,统计意义上的异常有时与运维人员的知识和***容忍度有一定的差异,会出现误报的情况。通过标注引入人为的知识可以获得额外的信息,利用这些信息可以优化异常检测的准确度。因此,在本申请一些实施例提供的异常检测方法中,还可以获取部分测试样本的人工标注结果,然后根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整。由于用户仅仅需要对部分待检测的样本进行人工标注,而非是对所有参与检测的样本进行标注,因此需要标注的工作量非常有限,能够有效的节约人力成本。
在根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整时,可以采用如图4所示的处理流程,包括:
步骤S401,根据人工标注的测试样本检测结果和人工标注结果,以及未进行人工标注的测试样本检测结果,计算采用搜索算法调整超参数后的代价值。
假设未人工标注的测试样本有N1个,进行过人工标注的测试样本有N2个,例如N1=10000,N2=10。
对于未进行过人工标注的N1个样本,可以认为异常检测的结果均为正确的。若超参数a,b,c发生改变之后,报警阈值y_limit也会发生变化,此时检测结果也可能随之发生变化,例如之前判断为正常的测试样本可能在超参数改变之后判断为异常了,或者之前判断为异常的测试样本可能在超参数改变之后判断为正常了。在此前提下,可以用NP1表示超参数调整之前,未人工标注的样本中检测出来为异常的样本个数,用NN1表示超参数调整之前,未人工标注的样本中检测出来为正常的样本个数,例如本实施例中NP1为50,NN1为9950,N1=NP1+NN1。在改变超参数后,有可能把部分样本检测结果改变了,可以用FNN1表示检测结果由异常变为正常的样本,用FNP1表示检测结果由正常变为异常的样本,例如本实施例中FNN1为2,FNP1为5。由此可以计算调整超参数后的关于未标注样本的代价值C1=FNN1/NP1+FNP1/NN1=2/50+5/9950。
对于人工标注的N2个样本,采用调整后的超参数a,b,c检测获得的检测结果可能会与人工标注结果不一致。在次前提下,可以用NP2表示人工标注结果为正常的测试样本个数,而NN2表示人工标注结果为异常的测试样本个数,例如本实施例中NP2为6,NN2为4,N2=NP2+NN2。在改变超参数后,部分样本检测结果可能会与人工标注结果不一致,可以用FNN2表示人工标注结果为异常但是检测结果为正常的样本个数,用FNP2表示人工标注结果为正常但是检测结果为异常的样本个数,例如本实施例中FNN2为1,FNP2为2。由此可以计算调整超参数后的关于已标注样本的代价值C2=FNN2/NP2+FNP2/NN2=1/6+2/4。
通过加权求和的方式,可以基于C1和C2计算采用搜索算法调整超参数后的代价值C,即C=C1/N1+C2/N2。
步骤S402,设定目标损失函数,其中,所述目标损失函数与采用搜索算法调整超参数后的代价值相关。
步骤S403,根据所述目标损失函数,确定使得所述目标损失函数最小的超参数。例如本申请实施例中可以设定与采用搜索算法调整超参数后的代价值C相关的目标损失函数为:
其中,w为一个调整值,可以设定为10-10至10-6之间的常数,a0、b0、c0为未调整之前的超参数,y_mean为所有样本中响应指标的算术平均值。
基于所述目标损失函数,可以利用搜索算法遭到一组最优的超参数,使得目标损失函数最小。此时找到的最优超参数即可用于确定下一次检测的报警阈值,以实现更加准确的异常检测。
在实际场景中,可以使用各类适用的搜索算法,例如对于本实施例中设定的目标函数,由于无法计算梯度,可以Nelder-Mead算法搜索最优的超参数,但由于Nelder-Mead算法容易陷入局部最优,可以使用多个初始值进行寻优。例如,对于每一个定义为正常的样本,包括标注的样本和未标注的样本,可以通过解方程:y=y_Q3+a×IQR计算出一个a的值,通过N个样本则可以算出N个a的值,然后选择最大的a值作为搜索算法中a的初始值,同理,另外两个超参数b、c也可以使用同样的方法设置初始值。在实现搜索算法时,可以每次以一个或两个超参数的初始值为起点,其余则以默认值[1.5,0,1]为起点或上一次的超参数的值为起点,搜索最优值。由此,可以更加准确高效的搜索到最优的超参数。
基于同一发明构思,本申请实施例中还提供了异常检测装置,所述装置对应的方法是前述实施例中异常检测方法,并且其解决问题的原理与该方法相似。
本申请实施例提供的异常检测装置在实现异常检测时,可以剔除了初始训练样本集中的异常样本,使得进行训练的样本均为正常的样本,避免异常样本对基线拟合的影响,并且通过不等概抽样尽可能多地保留了数量较少的高压力区间时的样本,由此能够避免训练样本中缺少高压力区间时的样本,使得拟合获得的基线具有更好的检测能力。
在实际场景中,所述异常检测装置可以是网络设备或者用户设备与网络设备通过网络相集成所构成的装置。其中,所述用户设备包括但不限于个人计算机、智能手机、平板电脑等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图5示出了本申请实施例提供的一种异常检测装置的结构,包括清理模块510、抽样模块520、训练模块530以及检测模块540。所述清理模块510用于从初始训练样本集中剔除异常样本,获得第一训练样本集。其中,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据,例如可以将***在最近半个月运行时的响应指标和压力指标作为训练样本。所述响应指标一般可以是能够反映***整体运行情况的关键指标,例如可以是读写延迟,而压力指标可以是与所述响应指标具有一定关联性的、能够引起响应指标变化的指标,例如对于响应指标读写延迟,与其相关的压力指标可以是读写大小、每秒读写次数或者吞吐量等。
在***的实际运行过程中,响应指标的升高并不意味着一定有异常的发生,可能是因为***发生了异常,也有可能是是因为其对应的压力指标升高造成的。由于所述初始训练样本集中的样本是***的响应指标和压力指标的历史数据,因此其中响应指标较高的样本有可能是正常样本(即压力指标升高导致响应指标正常升高),也有可能是异常样本(***异常引起的压力指标升高),通过剔除了初始训练样本集中的异常样本,使得进行训练的样本均为正常的样本,可以避免异常样本对基线拟合的影响。
本申请的一些实施例中,清理模块510可以采用如图2所示的处理方式来剔除异常样本,其处理流程包括以下处理步骤:
步骤S201,清理模块的聚类单元将初始训练样本集中的样本基于响应指标和压力指标进行聚类,确定多个样本类。例如,可以采用K-means等聚类算法对样本进行聚类。在实际场景中,若指标的数量较多,在进行聚类处理时的处理维度也越高,复杂度也会随之升高,因此可以在进行聚类之前减少压力指标的数量,从而降低聚类处理的复杂度。
本申请实施例提供的聚类处理方案如下:首先,在压力指标的数量大于预设值时,根据所述压力指标确定与响应指标最相关的关联指标。其中,所述关联指标的数量小于等于预设值,而预设值可以根据不同的需求设定,例如可以设定为1个,当压力指标为读写大小、每秒读写次数和吞吐量时,其数量超过一个,此时可以基于这些压力指标确定与响应指标最相关的1个关联指标。由此,在进行K-means聚类时是基于1个响应指标和1个关联指标进行聚类,仅需要在二维空间中进行聚类,大大降低了处理的复杂度。
根据不同的处理方式,所述关联指标可以直接从压力指标中的选取,也可以是基于压力指标处理计算所获得的新指标。例如,可以基于多个压力指标进行主成分分析,将其结合成一个主成分,作为关联指标,或者也可以计算每个压力指标与响应指标之间的斯皮尔曼(Spearman)相关系数,选取其中最相关的一个压力指标,作为关联指标。
在确定关联指标之后,可以将训练样本集中的样本基于所述关联指标和压力指标进行聚类,确定多个样本类。由于当压力指标过多时,对其进行处理后得到的关联指标的数量较少,因此能够降低聚类处理的复杂度,提高处理效率。
步骤S202,在完成聚类之后,清理模块的清理单元将类中心不符合预设条件的样本类作为异常样本剔除,获得第一训练样本集。其中,预设条件用于排除因***异常引起的压力指标升高的情况,例如在本申请实施例中若认为在响应指标大于Y,并且压力指标或者关联指标小于X时,响应指标的身高无法解释为因压力指标或者关联指标的升高而引起的正常升高。由此可以将预设条件设定为与响应指标的类中心以及压力指标或者关联指标的类中心的阈值相关,当响应指标的类中心大于一个阈值,且压力指标或者关联指标的类中心小于另一阈值,则可以认为该样本类的类中心不符合预设条件,将该样本类中所包含的样本作为异常样本剔除。
图3示出了基于响应指标读写延迟和压力指标吞吐量进行聚类后的聚类结果示意图。其中,聚类结果包括5个样本类G0~G4,根据其类中心与预设条件中的阈值Y、X的关系,其中的区域Area中的样本类G2和样本类G4的样本将被判定为异常样本。
本申请的一些实施例中,本申请实施提供的装置还可以包括一预处理模块,该预处理模块可以在进行剔除异常样本之前时可以先对初始样本训练集中的样本进行标准化处理。例如本施例中,通过标准化处理,可以消除各个指标的纲量并使得数据更加集中,以便于后续的处理。对于标准化处理后的样本,在进行异常样本剔除时,可以将响应指标的类中心超过3sigma,且压力指标的类中心在3(或更保守的2或1.5)sigma以内的样本类的样本视为异常样本,从而将这些样本类移除,剩余样本类中的样本即为第一训练样本集。
所述抽样模块520用于对所述第一训练样本集进行不等概抽样,获取第二训练样本集。由于本方案的目的在于检测***运行状态的异常,需要保证一定的实时性,因此监控数据的采样时间区间较短,会产生大量的样本,若直接基于所有的样本进行处理需要巨大的计算成本,由此需要进行抽样,以降低计算成本。
在本申请实施例的方案中的不等概抽样,对于高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率,其中,所述高压力区间对应***运行时压力指标较高时的情况,反之,低压力区间则对应***运行时压力指标较低时的情况。在实际场景中,由于***运行时处于高压力状态的情况往往较少,因此,历史数据中高压力区间的样本数量往往会明显少于低压力区间时的样本数量,若采用简单随机抽样很有可能会导致训练样本集中保留了过多低压力区间时的样本,而仅抽取到少量高压力区间的样本,使得训练样本不平衡而影响基线拟合。
在本申请的一些实施例中,结合前述对样本的聚类,可以采用如下的方式进行不等概抽样:首先,根据第一训练样本集中各个样本类的样本个数,确定对样本类的抽样权重。其中,所述样本类的抽样权重与该样本类的样本个数负相关,并与该样本类中样本的入样概率正相关,即样本类中的样本个数越多,该样本类的抽样权重小,样本被抽到的概率越小。例如,本实施例中,可以设定抽样权重为1/sqrt(group_size),即样本个数的平方根的倒数,group_size即为样本类的样本个数。以样本个数为10000的样本类G1为例,其抽样权重为1/100,而样本个数为100的样本类G2的抽样权重为1/10。而入样概率可以与对应的抽样权重成正比,例如前述的样本类G2的入样概率为样本类G1的入样概率的10倍,即在进行抽样时,样本类G2中的样本被抽取的概率是样本类G1中样本的10倍。
基于所述抽样权重,对第一训练样本集中的各个样本类进行抽样,即可获取第二训练样本集。表1示出了采用了上述方式对几个样本类进行不等概抽样后的抽样结果。
由于聚类的结果在一定程度上能够体验了在实际场景中***运行时的实际情况,即处于高压力区间的样本数量往往会明显少于低压力区间时的样本数量,例如上述编号为4的样本类中样本的对应更高的压力区间,在第一训练样本集中,其数量最少。采用上述方式确定抽样权重,并以相应的入样概率进行不等概抽样后,编号为4的样本类中样本保留的比例最高,由此可以使得第二训练样本集中尽可能多地保留高压力区间对应的样本,保证基线拟合的准确性。
所述训练模块530用于基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线。即使用历史数据训练一个回归模型,来预测需要检测异常的响应指标,例如使用压力指标读写大小、每秒读写次数和吞吐量来预测响应指标读写延迟,不同压力指标下对应的响应指标的预测值即为用于异常检测的基线。
所述检测模块540用于根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常。
其中,所述测试样本包括***运行时待检测的响应指标和压力指标。基于测试样本中的压力指标,结合基线可以预测在该压力指标下的响应指标的预测值,即为y_hat,而测试样本中的响应指标为该压力指标下响应指标的真实值,即为y,本实施例中是通过计算真实值和预测值的差来实现异常检测。
由此,在本申请的一些实施例中,检测模块在根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常时,可以根据所述基线,判断测试样本中待检测的压力指标所对应的响应指标是否超过基线的报警阈值,若若超过报警阈值,则确定所述测试样本对应的***运行状态为异常。否则,若未超过报警阈值,则认为所述测试样本对应的***运行状态为正常。
基线的报警阈值可以根据实际应用场景的需求设定,可以采用如下集中基线的报警阈值:
(1)看响应指标的真实值是否偏离基线超过常规抖动幅度的a倍。此时报警阈值y_limit_1=y_hat_Q3+a×IQR,其中,y_hat_Q3为所述第二训练样本集中响应指标的第三四分位值,即响应指标中排列在第75%位置的值,IQR为所述第二训练样本集中响应指标的第三四分位值和第一四分位值之差,即响应指标中排列在第75%位置的值与排列在第25%位置的值之间的差,
(2)看响应指标的真实值是否超过基线的绝对值b。此时,报警阈值y_limit_2=y_hat+b。
(3)看响应指标的真实值是否超过基线的比例c。此时,报警阈值y_limit_3=y_hat×c。
其中,a、b、c为可调整的超参数,例如可以设定其初始值为1.5、0、1,后续可以通过不断的调整使得基线模型的目标损失函数最小,使得检测的准确性更佳。
在实际使用时,可以根据第一阈值y_limit_1、第二阈值y_limit_2和第三阈值y_limit_3中的最大值确定所述基线的报警阈值,所述第一阈值y_limit_1为所述第二训练样本集中响应指标的第三四分位值y_hat_Q3与四分计算值之和,所述四分计算值为所述第二训练样本集中响应指标的四分位距IQR与第一超参数a之积,所述第二阈值y_limit_2为待检测的压力指标在基线上的对应值y_hat与与第二超参数b之和,所述第三阈值y_limit_3为待检测的压力指标在基线上的对应值y_hat与第三超参数c之积。即实际用于检测的基线的报警阈值y_limit=max(y_limit_1,y_limit_2,y_limit_3),相当于测试样本只有全部触发了上述三种报警阈值时,才认为测试样本对应的***运行状态为异常。
在实际场景中,采集到的样本数据常常伴随着方差不相等的问题,比如高压力区间时指标的波动较大,而低压力区间时波动较小。同时,对于云计算***而言,而由于需要为不同的业务提供服务,各个业务集群的指标波动情况也不相同,例如有的业务集群在高压力区间时波动大,而有的业务集群低压力区间时波动大。为解决该问题,本申请实施例提供的异常检测装置中,预处理模块也可以用于在对测试样本进行检测之前,对测试样本进行数值缩放,以使所述测试样本的方差相等。
在本申请的一些实施例中,缩放的方式可以测试样本进行Box-Cox变换。Box-Cox变换是一种广义幂变换方法,是统计建模中常用的一种数据变换,其变换公式可以设定为:λ不等于0时,为y=(x^λ-1)/λ,在λ等于0时,为y=log(x),其中,λ为表示数值压缩方式的参数,决定了数值变换是压缩高数值点还是压缩低数值点,以及压缩的程度等。λ可以根据不同业务集群中指标数值的特点用极大似然法估计出一个最合适的值,由此可以对每一个不同业务集群可以确定一个最优的λ,使得来自不同业务集群的测试样本在经过Box-Cox变换后的数值方差相等。由此,在进行异常检测时,可以无需再对不同的业务集群设定相适应的报警阈值,而是可以采用统一的全局报警阈值进行异常检测。
由于上述实施例提供的装置进行的异常检测是完全无监督的,其检测到的异常结果是统计意义上的异常。在实际场景中,统计意义上的异常有时与运维人员的知识和***容忍度有一定的差异,会出现误报的情况。通过标注引入人为的知识可以获得额外的信息,利用这些信息可以优化异常检测的准确度。因此,在本申请一些实施例提供的异常检测装置中,还可以包括闭环优化模块,该闭环优化模块用于获取部分测试样本的人工标注结果,然后根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整。由于用户仅仅需要对部分待检测的样本进行人工标注,而非是对所有参与检测的样本进行标注,因此需要标注的工作量非常有限,能够有效的节约人力成本。
在根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整时,可以闭环优化模块采用如图4所示的处理流程,包括:
步骤S401,根据人工标注的测试样本检测结果和人工标注结果,以及未进行人工标注的测试样本检测结果,计算采用搜索算法调整超参数后的代价值。
假设未人工标注的测试样本有N1个,进行过人工标注的测试样本有N2个,例如N1=10000,N2=10。
对于未进行过人工标注的N1个样本,可以认为异常检测的结果均为正确的。若超参数a,b,c发生改变之后,报警阈值y_limit也会发生变化,此时检测结果也可能随之发生变化,例如之前判断为正常的测试样本可能在超参数改变之后判断为异常了,或者之前判断为异常的测试样本可能在超参数改变之后判断为正常了。在此前提下,可以用NP1表示超参数调整之前,未人工标注的样本中检测出来为异常的样本个数,用NN1表示超参数调整之前,未人工标注的样本中检测出来为正常的样本个数,例如本实施例中NP1为50,NN1为9950,N1=NP1+NN1。在改变超参数后,有可能把部分样本检测结果改变了,可以用FNN1表示检测结果由异常变为正常的样本,用FNP1表示检测结果由正常变为异常的样本,例如本实施例中FNN1为2,FNP1为5。由此可以计算调整超参数后的关于未标注样本的代价值C1=FNN1/NP1+FNP1/NN1=2/50+5/9950。
对于人工标注的N2个样本,采用调整后的超参数a,b,c检测获得的检测结果可能会与人工标注结果不一致。在次前提下,可以用NP2表示人工标注结果为正常的测试样本个数,而NN2表示人工标注结果为异常的测试样本个数,例如本实施例中NP2为6,NN2为4,N2=NP2+NN2。在改变超参数后,部分样本检测结果可能会与人工标注结果不一致,可以用FNN2表示人工标注结果为异常但是检测结果为正常的样本个数,用FNP2表示人工标注结果为正常但是检测结果为异常的样本个数,例如本实施例中FNN2为1,FNP2为2。由此可以计算调整超参数后的关于已标注样本的代价值C2=FNN2/NP2+FNP2/NN2=1/6+2/4。
通过加权求和的方式,可以基于C1和C2计算采用搜索算法调整超参数后的代价值C,即C=C1/N1+C2/N2。
步骤S402,设定目标损失函数,其中,所述目标损失函数与采用搜索算法调整超参数后的代价值相关。
步骤S403,根据所述目标损失函数,确定使得所述目标损失函数最小的超参数。例如本申请实施例中可以设定与采用搜索算法调整超参数后的代价值C相关的目标损失函数为:
其中,w为一个调整值,可以设定为10-10至10-6之间的常数,a0、b0、c0为未调整之前的超参数,y_mean为所有样本中响应指标的算术平均值。
基于所述目标损失函数,可以利用搜索算法遭到一组最优的超参数,使得目标损失函数最小。此时找到的最优超参数即可用于确定下一次检测的报警阈值,以实现更加准确的异常检测。
在实际场景中,可以使用各类适用的搜索算法,例如对于本实施例中设定的目标函数,由于无法计算梯度,可以Nelder-Mead算法搜索最优的超参数,但由于Nelder-Mead算法容易陷入局部最优,可以使用多个初始值进行寻优。例如,对于每一个定义为正常的样本,包括标注的样本和未标注的样本,可以通过解方程:y=y_Q3+a×IQR计算出一个a的值,通过N个样本则可以算出N个a的值,然后选择最大的a值作为搜索算法中a的初始值,同理,另外两个超参数b、c也可以使用同样的方法设置初始值。在实现搜索算法时,可以每次以一个或两个超参数的初始值为起点,其余则以默认值[1.5,0,1]为起点或上一次的超参数的值为起点,搜索最优值。由此,可以更加准确高效的搜索到最优的超参数。
综上所述,本申请实施例提供的异常检测方案中,首先利用***的历史数据进行基线拟合,然后根据基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常。在训练时先从初始训练样本集中剔除异常样本获得第一训练样本集,然后对第一训练样本集进行不等概抽样获取第二训练样本集,并基于第二训练样本集进行基线拟合,由于剔除了异常样本,使得进行训练的样本均为正常的样本,避免异常样本对基线拟合的影响,并且通过不等概抽样尽可能多地保留了数量较少的高压力区间时的样本,由此能够避免训练样本中缺少高压力区间时的样本,使得拟合获得的基线具有更准确的检测能力。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一些实施例包括一个如图6所示的计算装置,该装置包括存储有计算机可读指令的一个或多个存储器610和用于执行计算机可读指令的处理器620,其中,当该计算机可读指令被该处理器执行时,使得所述装置执行基于前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (22)

1.一种异常检测方法,该方法包括:
从初始训练样本集中剔除异常样本,获得第一训练样本集,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据,所述响应指标是能够反映***整体运行情况的关键指标,所述压力指标是与所述响应指标具有一定关联性的、能够引起响应指标变化的指标;
对所述第一训练样本集进行不等概抽样,获取第二训练样本集,其中,所述不等概抽样中高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率;
基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线;
根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常,其中,所述测试样本包括***运行时待检测的响应指标和压力指标。
2.根据权利要求1所述的方法,其中,从初始训练样本集中剔除异常样本,获得第一训练样本集,包括:
将初始训练样本集中的样本基于响应指标和压力指标进行聚类,确定多个样本类;
将类中心不符合预设条件的样本类作为异常样本剔除,获得第一训练样本集。
3.根据权利要求2所述的方法,其中,将初始训练样本集中的样本基于响应指标和压力指标进行聚类,确定多个样本类,包括:
在压力指标的数量大于预设值时,根据所述压力指标确定与响应指标最相关的关联指标,其中,所述关联指标的数量小于等于预设值;
将训练样本集中的样本基于所述关联指标和压力指标进行聚类,确定多个样本类。
4.根据权利要求2所述的方法,其中,对所述第一训练样本集进行不等概抽样,获取第二训练样本集,包括:
根据第一训练样本集中各个样本类的样本个数,确定对样本类的抽样权重,其中,所述样本类的抽样权重与该样本类的样本个数负相关,并与入样概率正相关;
基于所述抽样权重,对第一训练样本集中的各个样本类进行抽样,获取第二训练样本集。
5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括:
对所述初始训练样本集中的样本进行标准化处理。
6.根据权利要求1所述的方法,其中,根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常,包括:
根据所述基线,判断测试样本中待检测的压力指标所对应的响应指标是否超过基线的报警阈值;
若超过报警阈值,则确定所述测试样本对应的***运行状态为异常。
7.根据权利要求6所述的方法,其中,所述基线的报警阈值根据第一阈值、第二阈值和第三阈值中的最大值确定,所述第一阈值为所述第二训练样本集中响应指标的第三四分位值与四分计算值之和,所述四分计算值为所述第二训练样本集中响应指标的四分位距与第一超参数之积,所述第二阈值为待检测的压力指标在基线上的对应值与第二超参数之和,所述第三阈值为待检测的压力指标在基线上的对应值与第三超参数之积。
8.根据权利要求7所述的方法,其中,该方法还包括:
获取部分测试样本的人工标注结果;
根据人工标注的测试样本检测结果和人工标注结果,对超参数进行调整。
9.根据权利要求8所述的方法,其中,根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整,包括:
根据人工标注的测试样本检测结果和人工标注结果,以及未进行人工标注的测试样本检测结果,计算采用搜索算法调整超参数后的代价值;
设定目标损失函数,其中,所述目标损失函数与采用搜索算法调整超参数后的代价值相关;
根据所述目标损失函数,确定使得所述目标损失函数最小的超参数。
10.根据权利要求6至9任一项所述的方法,其中,该方法还包括:
对测试样本进行数值缩放,以使所述测试样本的方差相等。
11.一种异常检测装置,包括:
清理模块,用于从初始训练样本集中剔除异常样本,获得第一训练样本集,所述初始训练样本集中的样本包括***的响应指标和压力指标的历史数据,所述响应指标是能够反映***整体运行情况的关键指标,所述压力指标是与所述响应指标具有一定关联性的、能够引起响应指标变化的指标;
抽样模块,用于对所述第一训练样本集进行不等概抽样,获取第二训练样本集,其中,所述不等概抽样中高压力区间运行时的样本的入样概率大于低压力区间运行时的样本的入样概率;
训练模块,用于基于所述第二训练样本集中样本的响应指标和压力指标进行基线拟合,获取用于异常检测的基线;
检测模块,用于根据所述基线对测试样本进行检测,确定所述测试样本对应的***运行状态是否异常,其中,所述测试样本包括***运行时待检测的响应指标和压力指标。
12.根据权利要求11所述的装置,其中,所述清理模块,包括:
聚类单元,用于将初始训练样本集中的样本基于响应指标和压力指标进行聚类,确定多个样本类;
清理单元,用于将类中心不符合预设条件的样本类作为异常样本剔除,获得第一训练样本集。
13.根据权利要求12所述的装置,其中,所述聚类单元,用于在压力指标的数量大于预设值时,根据所述压力指标确定与响应指标最相关的关联指标,其中,所述关联指标的数量小于等于预设值;以及将训练样本集中的样本基于所述关联指标和压力指标进行聚类,确定多个样本类。
14.根据权利要求12所述的装置,其中,所述抽样模块,用于根据第一训练样本集中各个样本类的样本个数,确定对样本类的抽样权重,其中,所述样本类的抽样权重与该样本类的样本个数负相关,并与入样概率正相关;以及基于所述抽样权重,对第一训练样本集中的各个样本类进行抽样,获取第二训练样本集。
15.根据权利要求11至14中任一项所述的装置,其中,该装置还包括:
预处理模块,用于对所述初始训练样本集中的样本进行标准化处理。
16.根据权利要求11所述的装置,其中,所述检测模块,用于根据所述基线,判断测试样本中待检测的压力指标所对应的响应指标是否超过基线的报警阈值;若超过报警阈值,则确定所述测试样本对应的***运行状态为异常。
17.根据权利要求16所述的装置,其中,所述基线的报警阈值根据第一阈值、第二阈值和第三阈值中的最大值确定,所述第一阈值为所述第二训练样本集中响应指标的第三四分位值与四分计算值之和,所述四分计算值为所述第二训练样本集中响应指标的四分位距与第一超参数之积,所述第二阈值为待检测的压力指标在基线上的对应值与第二超参数之和,所述第三阈值为待检测的压力指标在基线上的对应值与第三超参数之积。
18.根据权利要求17所述的装置,其中,该装置还包括:
闭环优化模块,用于对检测结果为异常的样本,获取该样本的人工标注结果;以及根据人工标注的测试样本检测结果和人工标注结果,对所述超参数进行调整。
19.根据权利要求18所述的装置,其中,所述闭环优化模块,用于根据人工标注的测试样本检测结果和人工标注结果,以及未进行人工标注的测试样本检测结果,计算采用搜索算法调整超参数后的代价值;设定目标损失函数,其中,所述目标损失函数与采用搜索算法调整超参数后的代价值相关;以及根据所述目标损失函数,确定使得所述目标损失函数最小的超参数。
20.根据权利要求16至19任一项所述的装置,其中,该装置还包括:
预处理模块,用于对测试样本进行数值缩放,以使所述测试样本的方差相等。
21.一种计算装置,其中,该装置包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述处理器执行权利要求1至10中任一项所述的方法。
22.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至10中任一项所述的方法。
CN201911056820.1A 2019-10-31 2019-10-31 异常检测方法、装置及计算机可读介质 Active CN112749035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911056820.1A CN112749035B (zh) 2019-10-31 2019-10-31 异常检测方法、装置及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911056820.1A CN112749035B (zh) 2019-10-31 2019-10-31 异常检测方法、装置及计算机可读介质

Publications (2)

Publication Number Publication Date
CN112749035A CN112749035A (zh) 2021-05-04
CN112749035B true CN112749035B (zh) 2024-06-11

Family

ID=75644932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911056820.1A Active CN112749035B (zh) 2019-10-31 2019-10-31 异常检测方法、装置及计算机可读介质

Country Status (1)

Country Link
CN (1) CN112749035B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881709B (zh) * 2022-06-09 2024-06-14 北京有竹居网络技术有限公司 一种数据处理方法及装置
CN116955092B (zh) * 2023-09-20 2024-01-30 山东小萌信息科技有限公司 基于数据分析的多媒体***监控方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457525A (zh) * 2011-12-19 2012-05-16 河海大学 一种基于负荷的异常入侵检测方法及***
CN108712348A (zh) * 2018-05-18 2018-10-26 王逸人 流量控制方法、***、设备及计算机可读存储介质
DE102018110372A1 (de) * 2017-05-12 2018-11-15 Western Digital Technologies, Inc. Beaufsichtigtes Lernen mit geschlossenem Schleifen-Feedback, um eine IO-Konsistenz von Solid-State-Laufwerken zu verbessern
CN108920863A (zh) * 2018-07-20 2018-11-30 湖南大学 一种机器人伺服***能耗估计模型的建立方法
CN110298010A (zh) * 2019-06-27 2019-10-01 李达维 景观生态工程的生态环境测定***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457525A (zh) * 2011-12-19 2012-05-16 河海大学 一种基于负荷的异常入侵检测方法及***
DE102018110372A1 (de) * 2017-05-12 2018-11-15 Western Digital Technologies, Inc. Beaufsichtigtes Lernen mit geschlossenem Schleifen-Feedback, um eine IO-Konsistenz von Solid-State-Laufwerken zu verbessern
CN108712348A (zh) * 2018-05-18 2018-10-26 王逸人 流量控制方法、***、设备及计算机可读存储介质
CN108920863A (zh) * 2018-07-20 2018-11-30 湖南大学 一种机器人伺服***能耗估计模型的建立方法
CN110298010A (zh) * 2019-06-27 2019-10-01 李达维 景观生态工程的生态环境测定***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一个基于日志结构的非易失性内存键值存储***;游理通;王振杰;黄林鹏;;计算机研究与发展;20180915(09);全文 *

Also Published As

Publication number Publication date
CN112749035A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN108923952B (zh) 基于服务监控指标的故障诊断方法、设备及存储介质
CN107168995B (zh) 一种数据处理方法及服务器
CN112749035B (zh) 异常检测方法、装置及计算机可读介质
CN112596964B (zh) 磁盘故障的预测方法及装置
CN111737099B (zh) 一种基于高斯分布的数据中心异常检测方法及装置
CN115660262B (zh) 一种基于数据库应用的工程智慧质检方法、***及介质
CN109726737B (zh) 基于轨迹的异常行为检测方法及装置
JP2020107016A (ja) 類似度判定装置および異常検出装置
CN114780644A (zh) 一种船舶航行数据处理方法、装置、设备及存储介质
CN112101024B (zh) 基于app信息的目标对象识别***
CN111765676A (zh) 一种多联机的制冷剂充注量故障诊断方法和装置
CN110991241A (zh) 异常识别方法、设备及计算机可读介质
CN114518988B (zh) 资源容量***及其控制方法和计算机可读存储介质
CN109947713B (zh) 一种日志的监控方法及装置
CN115793990A (zh) 存储器健康状态确定方法、装置、电子设备及存储介质
CN113468384B (zh) 网络情报源信息的处理方法、装置、存储介质及处理器
CN114153646A (zh) 一种运维故障处置方法、装置及存储介质、处理器
CN113869423A (zh) 一种营销响应模型构建方法、设备及介质
US20190138931A1 (en) Apparatus and method of introducing probability and uncertainty via order statistics to unsupervised data classification via clustering
CN116541252B (zh) 一种机房故障日志数据处理方法及装置
CN116124218B (zh) 变压器故障的诊断方法、装置、存储介质以及电子设备
CN114726610B (zh) 一种网络数据自动获取器攻击的检测方法和装置
CN115982622B (zh) 核反应堆冷却剂***运行瞬态快速识别方法、装置及***
KR102493171B1 (ko) 센서 데이터 융합 기반 IoT 기상센서기기 이상감지 방법 및 시스템
CN117076184B (zh) 一种交易***检测方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant