CN114090396B - 一种云环境多指标无监督异常检测和根因分析方法 - Google Patents
一种云环境多指标无监督异常检测和根因分析方法 Download PDFInfo
- Publication number
- CN114090396B CN114090396B CN202210077012.9A CN202210077012A CN114090396B CN 114090396 B CN114090396 B CN 114090396B CN 202210077012 A CN202210077012 A CN 202210077012A CN 114090396 B CN114090396 B CN 114090396B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- abnormal
- time sequence
- index
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 68
- 238000004458 analytical method Methods 0.000 title claims abstract description 23
- 230000002159 abnormal effect Effects 0.000 claims abstract description 128
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000005856 abnormality Effects 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000012795 verification Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000010187 selection method Methods 0.000 claims abstract description 4
- 239000010410 layer Substances 0.000 claims description 161
- 239000013598 vector Substances 0.000 claims description 56
- 238000013528 artificial neural network Methods 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 23
- 238000003064 k means clustering Methods 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 101100460704 Aspergillus sp. (strain MF297-2) notI gene Proteins 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013106 supervised machine learning method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明公开了一种云环境多指标无监督异常检测和根因分析方法。所述方法具体如下:对云服务器中的多个时序指标数据进行数据的预处理,划分训练集、验证集和测试集;剔除训练集中的异常数据簇,并为训练集其余的数据簇打上伪正常标签;将训练集、测试集和验证集的数据进行样本划分,得到子序列;根据进行样本划分后的训练集的样本数据训练无监督异常检测模型;对测试集的时序指标数据进行异常检测,得到异常概率,确定异常数据点,标记异常区间;使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标。本发明检测的类型更多且准确性越高。其采用的LSTM层对数据的时间关系进行捕获,更好的分析指标的时序特征。
Description
技术领域
本发明属于云环境中的数据处理分析技术领域,尤其涉及一种云环境多指标无监督异常检测和根因分析方法。
背景技术
随着云计算新技术包括SDN(Software Defined Network)、高可用性部署(HighAvailability)、监控和审计技术地不断发展,云计算在企业和个人的日常运转过程中正发挥很大的正向优势。正是由于云环境的广泛使用,工业界和学术界对云环境稳定性也有了一定的要求。其中,为了保证云环境的稳定性,对云环境进行异常检测并进行故障定位成为了重要研究问题。这不仅可以帮助维护人员快速定位到可能出错的模块,也可以提高系统的容错性,保证在故障出现之前可以快速进行恢复,提高用户体验。
在云环境中,海量的机器监控数据包括监控指标数据、日志数据、调用轨迹等,让运维人员很难实时地诊断出异常,并寻找出导致异常的关键因素。现有的一些智能算法可以通过这些监控数据包括但不限于机器性能指标、日志数据、服务调用链,来对机器异常进行诊断,并进行分析,定位到异常相关的关键因素。
其中,通过监控指标进行故障根因分析主要有几种方式。一是对指标总量进行异常检测,再对检测出的异常定位出导致该异常的细粒度指标集合;二是分析多维的时间序列数据,找到发生异常时不同指标之间的关联关系,诊断根因;三是通过监控数据和日志、监控数据和服务调用的组合方式,来分析定位异常,如对日志事件进行诊断时,可以分析与事件相关的时序数据,进而对事件发生的原因进行分析。最早异常检测模型是由Denning提出一个面向主机的异常检测模型。如今,随着智能运维的发展,一些机器学习智能算法也逐渐被应用到异常检测中。文献“基于序列化自编码器的无监督KPI异常检测方法(CN113204590A)”提出了一种基于序列化自编码器的无监督KPI异常检测方法,但对于云环境中不平衡的数据,难以构建很好的异常检测模型。文献“一种无监督指标异常检测方法(CN113064796A)”预先将指标突变异常进行分类,并根据指标突变异常的不同类别的性质,将对应的指标类型划分为不同类型,从而对待测指标数据进行检测。然而,云环境系统具有海量基于时间序列的指标数据,指标之间互相影响,且对指标数据打上标签需要耗费大量的人力物力。常用的异常检测算法有神经网络如长短期记忆网络(LSTM)和自动编码器(AE)等、支持向量机算法(SVM)、随机森林算法(RF)、贝叶斯算法、最近邻算法等,但这些算法很多都依赖于现有的标签,而且云环境中不平衡的数据也使得这些算法难以达到理想的准确度。然而,在实际的云环境异常检测中,由于监控指标数据不平衡、给数据打上标签需要耗费很大的人力物力,以及监控指标维度的不断增多,监控指标之间互相影响,如何构造一种适合云环境的无监督异常检测和分析方法仍然是云环境智能运维的一项重大挑战。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种云环境多指标无监督异常检测和根因分析方法,用以利用云环境中的指标监控数据,对云环境中的异常进行检测,并找出异常相关的指标因素,从而实现异常检测分析,提高云环境的可靠性和容错性。
本发明通过如下技术方案实现:
一种云环境多指标无监督异常检测和根因分析方法,包括以下步骤:
S1、对云服务器中的多个时序指标数据进行数据的预处理,将预处理后的数据划分为训练集、验证集和测试集;
S2、采用基于堆叠自动编码器和K-Means聚类结合的方法剔除训练集中的异常数据簇,并为训练集其余的数据簇打上表示正常的伪正常标签;使用滑动窗口将训练集、测试集和验证集的数据进行样本划分,得到一定时间步长的子序列;
S3、根据步骤S2中进行样本划分后的训练集的样本数据训练基于LSTM网络的无监督异常检测模型;
S4、使用训练好的无监督异常检测模型对测试集的时序指标数据进行异常检测,得到异常概率,大于给定阈值的时序指标数据点为异常数据点,反之为正常数据点;并根据是否在异常区间开始后的不晚于T个时间点内检测到该异常区间的异常数据点,对异常区间进行标记;
S5、使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标。
进一步地,步骤S1中,数据的预处理包括缺失值处理和数据归一化处理;
所述缺失值处理为对多个时序指标数据中的空缺值进行人工填充和删除;对于某行或某列时序指标数据中的缺失值超过10个的,直接删除该行时序指标数据样本或者该列时序指标数据,而对于某行或某列时序指标数据中的连续缺失值不超过10个,选取同列中前后10个非缺失值的平均值进行填充;
所述数据归一化处理为使用归一化函数,使缺失值处理后的多个时序指标数据的值分布在[0,1]中,具体如下:
进一步地,步骤S2包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据,从而简化复杂的多个时序指标数据,获得多个时序指标数据更高层次的特征;
S2.2、采用K均值聚类算法(K-Means)对降维处理后的时序指标数据进行聚类,使得少数的异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,从而降低训练集中少数异常数据样本的影响,为无监督异常检测模型提供更合适的输入,然后为剩余的数据簇打上表示正常的伪正常标签;
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入。
进一步地,步骤S2.1中,堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输入层输入,经过编码阶段得到隐藏层输出,再将隐藏
层输出经过解码阶段得到与输入层输入类似的输出层;其中,输出层的维度与输入层的
维度相同,而隐藏层则是降维后的输入层输入的特征表示;每一层自动编码器训练完成
后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过
程:
在每一层自动编码器(AE)中,以多个时序指标数据或者上一层自动编码器的隐藏
层输出做为输入,经过自动编码器后即可重构新的输出向量,其中,为
自动编码器的序号,为第层自动编码器的输入向量,为第层自动编码器的输出
向量;通过自动编码器中全连接层神经网络的训练,输出向量与输入向量类似,得
到降维的隐藏层向量做为输入层更深层次的表达,作为输入向量提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
进一步地,步骤S2.2中,K均值聚类算法(K-Means)是一种经典的聚类算法,根据降
维处理后的时序指标数据样本之间的距离大小,将时序指标数据样本集
划分为k个数据簇,k值根据实验参数调整,使得异常数据尽可能被分到一个数据簇中,
是第M个时序指标数据样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本做为初始的k个
质心,为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公
式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复上述过程,
直至所有的质心样本都没有发生变化,输出最后的k个数据簇;最终使得平方
误差最小化,如公式(6)所示,具体如下:
进一步地,步骤S2.3中,通过滑动窗口,将打上伪正常标签后的时序指标数据划分
为多个给定时间步长子序列,作为无监督异常检测模型的输入,
每个子序列,其中和中的都为子序列
的个数,为滑动窗口的大小即时间步长,为每个时序指标数据样本的维度,为第d
个子序列,d的取值为1~n。
进一步地,步骤S3中,基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得
生成的异常数据具有多样性,避免生成高度相似的样
本;其中,是第个子生成器中输入的正态分布的随机数,是第个子生成器生成
的异常数据;
在训练时,根据滑动窗口处理后的子序列与生成器生成的
异常数据通过判别器进行分辨;生成器通过循环训练尽可能减小生成的异常数据和滑动
窗口处理后的子序列之间的差距直至判别器不能区分,则开始循环训练判别器,增强判
别器的辨别能力;经过生成器和判别器多次更新迭代,尽可能减少生成的异常数据和滑动
窗口处理后的子序列的差异;判别器用于辨别滑动窗口处理后的子序列和异常数据,通过
检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小极
大博弈(博弈)的过程,如公式(7)所示:
其中,是生成器和判别器的对抗博弈函数,是训练判别器,尽
可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,是训练生成器,
使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,为判别
器的输出,即数据点为正常数据点的概率,z为正态分布随机数,为生成器的输出,
为生成器的交叉熵损失函数,为判别器的交叉熵损失函数。
进一步地,生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后
的子序列;LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单
元的隐藏层状态,输出为当前LSTM单元的隐藏层状态,其中和是第t
个LSTM单元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的
状态值向量经过激活函数和全连接神经网络训练得到生成的异常数据;
同样的,在判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输
出维度,得到每个子序列的异常概率值,如公式(8)和公式(9)所示:
进一步地,步骤S4中,使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该时间段内的异常数据点集,该异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于T个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到该段异常区间,则该区间内的每一个异常点都为一次正确检测;
进一步地,步骤S5中,使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
Relief算法的主要思想是通过计算指标特征的权重来度量特征的重要性,通过计算一个向量,该向量的每个分量代表每个指标特征的对于分类的评价值,即权重值。每个特征指标的权值计算如公式(10)所示:
其中,表示指标特征的权值,表示数据点在指标特征上的取值,表示与数据点同类别的数据点与数据点的距离,表示
与数据点不同类别的数据点与数据点的距离;如果小于,则说明指标特征对于分类效果是有利的,且差值越大,即越大,表明指
标特征的分类能力越强,对异常区间的影响程度越大。
与现有技术相比,本发明具有如下的优点与技术成果:
1、提供了一种无监督的机器学习方法GAN对时序数据进行异常检测、不依赖于具体标签以及能够处理不平衡数据的方法,更拟合现实云环境。
2、所提出的基于LSTM网络的生成对抗网络通过捕获多指标之间的时序关系对异常序列进行检测。相比于常规方法的单指标异常检测方法,检测的类型更多且准确性越高。其采用的LSTM层对数据的时间关系进行捕获,更好的分析指标的时序特征;其采用的K-Means聚类也使得输入更加合理,降低训练难度;其采用的多目标生成器可以获得更加多样的异常数据,使得检测精度更高、泛化能力更强。
3、所提出的特征选择算法对异常序列进行根因定位。通过根据所计算的特征权值进行排序的方式,向运维人员定位异常序列的异常指标,更好的帮助运维人员对故障进行处理,降低故障处理时间。
附图说明
图1为本发明实施例中基于多指标时间序列的无监督异常检测和根因定位方法的流程示意图。
图2为本发明实施例中堆叠自动编码器和KMeans聚类预标注方法示意图。
图3为本发明实施例中训练集、测试集和验证集划分,以及滑动窗口划分子序列示意图。
图4为本发明实施例中多目标生成对抗网络示意图。
图5为本发明实施例中LSTM-GAN网络示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行进一步的详细说明,但本发明的实施和保护不限于此。
实施例:
一种云环境多指标无监督异常检测和根因分析方法,如图1所示,包括以下步骤:
S1、对云服务器中的多个时序指标数据进行数据的预处理,数据的预处理包括缺失值处理和数据归一化处理;
所述缺失值处理为对多个时序指标数据中的空缺值进行人工填充和删除;对于某行或某列时序指标数据中的缺失值超过10个的,直接删除该行时序指标数据样本或者该列时序指标数据,而对于某行或某列时序指标数据中的连续缺失值不超过10个,选取同列中前后10个非缺失值的平均值进行填充;
所述数据归一化处理为使用归一化函数,使缺失值处理后的多个时序指标数据的值分布在[0,1]中,具体如下:
将预处理后的数据划分为训练集、验证集和测试集。
S2、如图2所示,采用基于堆叠自动编码器和K-Means聚类结合的方法剔除训练集中的异常数据簇,并为训练集其余的数据簇打上表示正常的伪正常标签;如图3所示,使用滑动窗口将训练集、测试集和验证集的数据进行样本划分,得到一定时间步长的子序列,包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据,从而简化复杂的多个时序指标数据,获得多个时序指标数据更高层次的特征;
堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输入层输入,经过编码阶段得到隐藏层输出,再将隐藏
层输出经过解码阶段得到与输入层输入类似的输出层;其中,输出层的维度与输入层的
维度相同,而隐藏层则是降维后的输入层输入的特征表示;每一层自动编码器训练完成
后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过
程:
其中,是解码阶段的输出,与输入层输入相近,是解码阶段权重向量,是解
码阶段偏置单元,是激活函数;在每一层自动编码器(AE)中,以多个时序指标数
据或者上一层自动编码器的隐藏层输出做为输入,经过自动编码器后即可重构新的输出向
量,其中,为自动编码器的序号,为第层自动编码器的输入向量,为第层自动编码器的输出向量;通过自动编码器中全连接层神经网络的训练,输出向
量与输入向量类似,得到降维的隐藏层向量做为输入层更深层次的表达,作为输
入向量提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
S2.2、采用K均值聚类算法(K-Means)对降维处理后的时序指标数据进行聚类,使得少数的异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,从而降低训练集中少数异常数据样本的影响,为无监督异常检测模型提供更合适的输入,然后为剩余的数据簇打上表示正常的伪正常标签;
K均值聚类算法(K-Means)是一种经典的聚类算法,根据降维处理后的时序指标数
据样本之间的距离大小,将时序指标数据样本集划分为k个数据簇,k值
根据实验参数调整,使得异常数据尽可能被分到一个数据簇中,是第M个时序指标数据
样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本做为初始的k个
质心,为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公
式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复上述过程,
直至所有的质心样本都没有发生变化,输出最后的k个数据簇;最终使得平方
误差最小化,如公式(6)所示,具体如下:
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入;
通过滑动窗口,将打上伪正常标签后的时序指标数据划分为多个给定时间步长子
序列,作为无监督异常检测模型的输入,每个子序列,其中和中的都为子序列的个数,
为滑动窗口的大小即时间步长,为每个时序指标数据样本的维度,为第d个子序列,d
的取值为1~n。
S3、如图4和图5所示,根据步骤S2中进行样本划分后的训练集的样本数据训练基于LSTM网络的无监督异常检测模型;
基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得
生成的异常数据具有多样性,避免生成高度相似的样
本;其中,是第个子生成器中输入的正态分布的随机数,是第个子生成器生成
的异常数据;
在训练时,根据滑动窗口处理后的子序列与生成器生成的
异常数据通过判别器进行分辨;生成器通过循环训练尽可能减小生成的异常数据和滑动
窗口处理后的子序列之间的差距直至判别器不能区分,则开始循环训练判别器,增强判
别器的辨别能力;经过生成器和判别器多次更新迭代,尽量减少生成的异常数据和滑动窗
口处理后的子序列的差异;判别器可以用于辨别滑动窗口处理后的子序列和异常数据,通
过检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小
极大博弈(博弈)的过程,如公式(7)所示:
其中,是生成器和判别器的对抗博弈函数,是训练判别器,尽
可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,是训练生成器,
使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,为判别
器的输出,即数据点为正常数据点的概率,z为正态分布随机数,为生成器的输出,
为生成器的交叉熵损失函数,为判别器的交叉熵损失函数。
生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后的子序列;
LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单元的隐藏
层状态,输出为当前LSTM单元的隐藏层状态,其中和是第t个LSTM单
元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的状态值向
量经过激活函数和全连接神经网络训练得到生成的异常数据;同样的,在
判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输出维度,得
到每个子序列的异常概率值,如公式(8)和公式(9)所示:
S4、使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该时间段内的异常数据点集,该异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于t个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参,本实施例中,通过在2~5范围内选取T的值,尽可能识别出异常点所在的异常区间;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到该段异常区间,则该区间内的每一个异常点都为一次正确检测;
S5、使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标;
使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
Relief算法的主要思想是通过计算指标特征的权重来度量特征的重要性,通过计算一个向量,该向量的每个分量代表每个指标特征的对于分类的评价值,即权重值。每个特征指标的权值计算如公式(10)所示:
其中,表示指标特征的权值,表示数据点在指标特征上的取值,表示与数据点同类别的数据点与数据点的距离,表示
与数据点不同类别的数据点与数据点的距离。如果小于,则说明指标特征对于分类效果是有利的,且差值越大,即越大,表明指
标特征的分类能力越强,对异常区间的影响程度越大。
上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种云环境多指标无监督异常检测和根因分析方法,其特征在于,包括以下步骤:
S1、对云服务器中的多个时序指标数据进行数据的预处理,将预处理后的数据划分为训练集、验证集和测试集;
S2、采用基于堆叠自动编码器和K-Means聚类结合的方法剔除训练集中的异常数据簇,并为训练集其余的数据簇打上表示正常的伪正常标签;使用滑动窗口将训练集、测试集和验证集的数据进行样本划分,得到一定时间步长的子序列;
S3、根据步骤S2中进行样本划分后的训练集的样本数据训练基于LSTM网络的无监督异常检测模型;
S4、使用训练好的无监督异常检测模型对测试集的时序指标数据进行异常检测,得到异常概率,大于给定阈值的时序指标数据点为异常数据点,反之为正常数据点;并根据是否在异常区间开始后的不晚于T个时间点内检测到该异常区间的异常数据点,对异常区间进行标记;
S5、使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标。
2.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S1中,数据的预处理包括缺失值处理和数据归一化处理;
所述缺失值处理为对多个时序指标数据中的空缺值进行人工填充和删除;对于某行或某列时序指标数据中的缺失值超过10个的,直接删除该行时序指标数据样本或者该列时序指标数据,而对于某行或某列时序指标数据中的连续缺失值不超过10个,选取同列中前后10个非缺失值的平均值进行填充;
所述数据归一化处理为使用归一化函数,使缺失值处理后的多个时序指标数据的值分布在[0,1]中,具体如下:
其中,Xnorm是归一化后的时序指标数据,X为时序指标数据,Xmax、Xmin为多个时序指标数据中的最大值和最小值。
3.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据;
S2.2、采用K均值聚类算法对降维处理后的时序指标数据进行聚类,使得异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,然后为剩余的数据簇打上表示正常的伪正常标签;
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入。
4.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.1中,堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输入层输入X,经过编码阶段得到隐藏层输出E(X),再将隐藏层输出经过解码阶段得到与输入层输入X类似的输出层X′;其中,输出层的维度与输入层的维度相同,而隐藏层则是降维后的输入层输入X的特征表示;每一层自动编码器训练完成后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过程:
编码过程即是从输入层映射隐藏层的过程,通过双层全连接神经网络实现,并利用编码函数f把输入向量X映射到隐藏层中输出E(X),具体如下:
E(X)=f(w1X+b1) (2)
其中,X是时序指标数据或者是上一层自动编码器的隐藏层,w1是编码阶段权重向量,b1是编码阶段偏置单元,f是激活函数ReLU;
解码过程即是从隐藏层到输出层的映射过程,通过一层全连接网络实现,并利用解码函数g把编码阶段的输出E(X)重构得到输出向量X′,具体如下:
X′=g(w2E(X)+b2) (3)
其中,X′是解码阶段的输出,与输入层输入X相近,w2是解码阶段权重向量,b2是解码阶段偏置单元,g是激活函数Sigmoid;
在每一层自动编码器(AE)中,以多个时序指标数据或者上一层自动编码器的隐藏层输出做为输入,经过自动编码器后即可重构新的输出向量X′(i)=g(f(X(i))),其中,i为自动编码器的序号,X(i)为第i层自动编码器的输入向量,X′(i)为第i层自动编码器的输出向量;通过自动编码器中全连接层神经网络的训练,输出向量X′(i)与输入向量X(i)类似,得到降维的隐藏层向量做为输入层更深层次的表达,作为输入向量X(i)提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
5.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.2中,K均值聚类算法(K-Means)是一种经典的聚类算法,根据降维处理后的时序指标数据样本之间的距离大小,将时序指标数据样本集D={x1,x2,...xM}划分为k个数据簇,k值根据实验参数调整,xM是第M个时序指标数据样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本{μ1,μ2,...μk}做为初始的k个质心,μk为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复操作直至所有的质心样本都没有发生变化,输出最后的k个数据簇{C1,C2,...Ck};最终使得平方误差E最小化,如公式(6)所示,具体如下:
其中,xm和μj分别为第m个时序指标数据点和第j个质心,dmj为xm和μj的距离,Cj为第j个数据簇。
7.根据权利要求6所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S3中,基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得生成的异常数据{G1(z1),G2(z2),G3(z3),...,Gg(zg)}具有多样性,避免生成高度相似的样本;其中,Zg是第g个子生成器中输入的正态分布的随机数,Gg(zg)是第g个子生成器生成的异常数据;
在训练时,根据滑动窗口处理后的子序列与生成器G生成的异常数据通过判别器D进行分辨;生成器G通过循环训练尽可能减小生成的异常数据和滑动窗口处理后的子序列之间的差距直至判别器D不能区分,则开始循环训练判别器D,增强判别器D的辨别能力;经过生成器和判别器多次更新迭代,尽可能减少生成的异常数据和滑动窗口处理后的子序列的差异;判别器用于辨别滑动窗口处理后的子序列和异常数据,通过检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小极大博弈(mini-max博弈)的过程,如公式(7)所示:
其中,V(G,D)是生成器和判别器的对抗博弈函数,maxDV(G,D)是训练判别器,尽可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,minG是训练生成器,使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,D(x)为判别器的输出,即数据点x为正常数据点的概率,z为正态分布随机数,G(z)为生成器的输出,Ez为生成器的交叉熵损失函数,Ex为判别器的交叉熵损失函数。
8.根据权利要求7所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后的子序列;LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单元的隐藏层状态(ht-1,ct-1),输出为当前LSTM单元的隐藏层状态(ht,ct),其中ht和ct是第t个LSTM单元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的状态值向量{h1,h2...ht}经过ReLU激活函数和全连接神经网络训练得到生成的异常数据;同样的,在判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输出维度,得到每个子序列的异常概率值,如公式(8)和公式(9)所示:
(ht,ct)=LSTM(ct-1,ht-1,x),1<t≤sw (8)
Pt=W*Ht+b (9)
其中,LSTM(ct-1,ht-1,x)是一个LSTM单元,(ht,ct)是第t个LSTM单元的隐藏层输出,x为数据点,W和b为全连接神经网络的权重向量和偏置单元,Ht是LSTM网络的隐藏层状态值向量,Pt为异常概率值。
9.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S4中,使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该段时间内的异常数据点集,异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于T个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到异常区间,则该区间内的每一个异常点都为一次正确检测。
10.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S5中,使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
每个特征指标的权值计算如公式(10)所示:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210077012.9A CN114090396B (zh) | 2022-01-24 | 2022-01-24 | 一种云环境多指标无监督异常检测和根因分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210077012.9A CN114090396B (zh) | 2022-01-24 | 2022-01-24 | 一种云环境多指标无监督异常检测和根因分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114090396A CN114090396A (zh) | 2022-02-25 |
CN114090396B true CN114090396B (zh) | 2022-06-14 |
Family
ID=80309187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210077012.9A Active CN114090396B (zh) | 2022-01-24 | 2022-01-24 | 一种云环境多指标无监督异常检测和根因分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090396B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841250A (zh) * | 2022-04-11 | 2022-08-02 | 浙江工业大学 | 基于多维传感数据的工业系统生产异常检测与诊断方法 |
CN114925808B (zh) * | 2022-04-15 | 2023-10-10 | 北京理工大学 | 一种基于云网端资源中不完整时间序列的异常检测方法 |
CN114841316A (zh) * | 2022-04-25 | 2022-08-02 | 西安交通大学 | 基于循环神经网络和差分自编码器的异常轨迹检测方法及系统 |
CN115099321B (zh) * | 2022-06-17 | 2023-08-04 | 杭州电子科技大学 | 双向自回归无监督预训练微调式排污异常监控方法及应用 |
CN114880384B (zh) * | 2022-07-11 | 2022-09-23 | 杭州宇谷科技有限公司 | 一种无监督二轮电动车充电时序异常检测方法及系统 |
CN115098563B (zh) * | 2022-07-14 | 2022-11-11 | 中国海洋大学 | 基于gcn和注意力vae的时序异常检测方法及系统 |
CN116383096B (zh) * | 2023-06-06 | 2023-08-18 | 安徽思高智能科技有限公司 | 基于多指标时序预测的微服务系统异常检测方法及装置 |
CN116759041B (zh) * | 2023-08-22 | 2023-12-22 | 之江实验室 | 一种考虑诊疗事件关系的医疗时序数据生成方法及装置 |
CN117708622B (zh) * | 2023-11-27 | 2024-07-26 | 深圳市溪数科技有限公司 | 运维系统的异常指标分析方法、系统和电子装置 |
CN117421386B (zh) * | 2023-12-19 | 2024-04-16 | 成都市灵奇空间软件有限公司 | 基于gis的空间数据处理方法及系统 |
CN117828300B (zh) * | 2024-01-03 | 2024-08-09 | 北京新数科技有限公司 | 一种基于异常指标时序关系的银行业务根因指标分析方法、系统、设备及可读存储介质 |
CN118378218B (zh) * | 2024-06-21 | 2024-10-11 | 深圳市鑫赛科科技发展有限公司 | 一种用于电脑主机的安全监测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529678A (zh) * | 2020-12-23 | 2021-03-19 | 华南理工大学 | 一种基于自监督判别式网络的金融指数时序异常检测方法 |
CN112765896A (zh) * | 2021-01-29 | 2021-05-07 | 湖南大学 | 一种基于lstm的水处理时序数据异常检测方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11126493B2 (en) * | 2018-11-25 | 2021-09-21 | Aloke Guha | Methods and systems for autonomous cloud application operations |
CN111914873B (zh) * | 2020-06-05 | 2024-07-19 | 华南理工大学 | 一种两阶段云服务器无监督异常预测方法 |
CN112069037A (zh) * | 2020-08-21 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 一种云平台无阈值检测的方法和装置 |
-
2022
- 2022-01-24 CN CN202210077012.9A patent/CN114090396B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529678A (zh) * | 2020-12-23 | 2021-03-19 | 华南理工大学 | 一种基于自监督判别式网络的金融指数时序异常检测方法 |
CN112765896A (zh) * | 2021-01-29 | 2021-05-07 | 湖南大学 | 一种基于lstm的水处理时序数据异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114090396A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114090396B (zh) | 一种云环境多指标无监督异常检测和根因分析方法 | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN110381079B (zh) | 结合gru和svdd进行网络日志异常检测方法 | |
CN111738364A (zh) | 一种基于用户负荷与用电参量相结合的窃电检测方法 | |
CN110213222A (zh) | 基于机器学习的网络入侵检测方法 | |
CN112039903B (zh) | 基于深度自编码神经网络模型的网络安全态势评估方法 | |
CN112294341A (zh) | 一种基于轻量卷积神经网络的睡眠脑电纺锤波识别方法及系统 | |
CN113112188B (zh) | 一种基于预筛选动态集成的电力调度监控数据异常检测方法 | |
CN110458240A (zh) | 一种三相桥式整流器故障诊断方法、终端设备及存储介质 | |
CN112199670A (zh) | 一种基于深度学习改进iforest对行为异常检测的日志监控方法 | |
Shi et al. | An improved agglomerative hierarchical clustering anomaly detection method for scientific data | |
CN116720095A (zh) | 一种基于遗传算法优化模糊c均值的电特性信号聚类方法 | |
CN118052558B (zh) | 基于人工智能的风控模型决策方法及系统 | |
CN117633688A (zh) | 一种基于岭回归-k均值聚类-LOF-LSTM融合算法的大规模电力数据异常检测方法 | |
CN115800538A (zh) | 基于人工智能的智能电网运维监控方法及系统 | |
Tehrani et al. | Frequency-based multi task learning with attention mechanism for fault detection in power systems | |
CN113780432B (zh) | 基于增强学习的网络信息系统运维异常智能检测方法 | |
CN111612531B (zh) | 一种点击欺诈的检测方法及系统 | |
CN112880726A (zh) | 基于变分模态分解样本熵的传感器故障诊断方法和装置 | |
CN111581640A (zh) | 一种恶意软件检测方法、装置及设备、存储介质 | |
CN115408693A (zh) | 一种基于自适应计算时间策略的恶意软件检测方法及系统 | |
CN112507299B (zh) | 持续身份认证系统中的自适应击键行为认证方法及装置 | |
CN113255810B (zh) | 基于关键决策逻辑设计测试覆盖率的网络模型测试方法 | |
CN115842645A (zh) | 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质 | |
CN114547601A (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 | ||
GR01 | Patent grant |