CN114090396B - 一种云环境多指标无监督异常检测和根因分析方法 - Google Patents

一种云环境多指标无监督异常检测和根因分析方法 Download PDF

Info

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
Application number
CN202210077012.9A
Other languages
English (en)
Other versions
CN114090396A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202210077012.9A priority Critical patent/CN114090396B/zh
Publication of CN114090396A publication Critical patent/CN114090396A/zh
Application granted granted Critical
Publication of CN114090396B publication Critical patent/CN114090396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-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]中,具体如下:
Figure 692394DEST_PATH_IMAGE001
其中,
Figure 878761DEST_PATH_IMAGE002
是归一化后的时序指标数据,
Figure 2706DEST_PATH_IMAGE003
为时序指标数据,
Figure 96783DEST_PATH_IMAGE004
为多个时序 指标数据中的最大值和最小值。
进一步地,步骤S2包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据,从而简化复杂的多个时序指标数据,获得多个时序指标数据更高层次的特征;
S2.2、采用K均值聚类算法(K-Means)对降维处理后的时序指标数据进行聚类,使得少数的异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,从而降低训练集中少数异常数据样本的影响,为无监督异常检测模型提供更合适的输入,然后为剩余的数据簇打上表示正常的伪正常标签;
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入。
进一步地,步骤S2.1中,堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输入层输入
Figure 350303DEST_PATH_IMAGE003
,经过编码阶段得到隐藏层输出
Figure 606054DEST_PATH_IMAGE005
,再将隐藏 层输出经过解码阶段得到与输入层输入
Figure 807841DEST_PATH_IMAGE003
类似的输出层
Figure 773785DEST_PATH_IMAGE006
;其中,输出层的维度与输入层的 维度相同,而隐藏层则是降维后的输入层输入
Figure 571494DEST_PATH_IMAGE003
的特征表示;每一层自动编码器训练完成 后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过 程:
编码过程即是从输入层映射隐藏层的过程,通过双层全连接神经网络实现,并利 用编码函数
Figure 535164DEST_PATH_IMAGE007
把输入向量
Figure 221317DEST_PATH_IMAGE003
映射到隐藏层中输出
Figure 397477DEST_PATH_IMAGE005
,具体如下:
Figure 88571DEST_PATH_IMAGE008
其中,
Figure 426405DEST_PATH_IMAGE003
是时序指标数据或者是上一层自动编码器的隐藏层,
Figure 694795DEST_PATH_IMAGE009
是编码阶段权重 向量,
Figure 865792DEST_PATH_IMAGE010
是编码阶段偏置单元,
Figure 354936DEST_PATH_IMAGE007
是激活函数
Figure 418664DEST_PATH_IMAGE011
;
解码过程即是从隐藏层到输出层的映射过程,通过一层全连接网络实现,并利用 解码函数
Figure 727679DEST_PATH_IMAGE012
把编码阶段的输出
Figure 770940DEST_PATH_IMAGE005
重构得到输出向量
Figure 672512DEST_PATH_IMAGE006
,具体如下:
Figure 148887DEST_PATH_IMAGE013
其中,
Figure 884147DEST_PATH_IMAGE006
是解码阶段的输出,与输入层输入
Figure 674642DEST_PATH_IMAGE003
相近,
Figure 725994DEST_PATH_IMAGE014
是解码阶段权重向量,
Figure 809487DEST_PATH_IMAGE015
是解 码阶段偏置单元,
Figure 352814DEST_PATH_IMAGE016
是激活函数
Figure 540476DEST_PATH_IMAGE017
在每一层自动编码器(AE)中,以多个时序指标数据或者上一层自动编码器的隐藏 层输出做为输入,经过自动编码器后即可重构新的输出向量
Figure 354323DEST_PATH_IMAGE018
,其中,
Figure 862182DEST_PATH_IMAGE019
为 自动编码器的序号,
Figure 928358DEST_PATH_IMAGE020
为第
Figure 913851DEST_PATH_IMAGE019
层自动编码器的输入向量,
Figure 680075DEST_PATH_IMAGE021
为第
Figure 866556DEST_PATH_IMAGE019
层自动编码器的输出 向量;通过自动编码器中全连接层神经网络的训练,输出向量
Figure 948257DEST_PATH_IMAGE021
与输入向量
Figure 8879DEST_PATH_IMAGE020
类似,得 到降维的隐藏层向量做为输入层更深层次的表达,作为输入向量
Figure 506242DEST_PATH_IMAGE020
提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
进一步地,步骤S2.2中,K均值聚类算法(K-Means)是一种经典的聚类算法,根据降 维处理后的时序指标数据样本之间的距离大小,将时序指标数据样本集
Figure 462959DEST_PATH_IMAGE022
划分为k个数据簇,k值根据实验参数调整,使得异常数据尽可能被分到一个数据簇中,
Figure 969639DEST_PATH_IMAGE023
是第M个时序指标数据样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本
Figure 969038DEST_PATH_IMAGE024
做为初始的k个 质心,
Figure 975434DEST_PATH_IMAGE025
为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公 式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复上述过程, 直至所有的质心样本都没有发生变化,输出最后的k个数据簇
Figure 939936DEST_PATH_IMAGE026
;最终使得平方 误差
Figure 31782DEST_PATH_IMAGE027
最小化,如公式(6)所示,具体如下:
Figure 327151DEST_PATH_IMAGE028
其中,
Figure 949238DEST_PATH_IMAGE029
Figure 591965DEST_PATH_IMAGE030
分别为第
Figure 961986DEST_PATH_IMAGE031
个时序指标数据点和第
Figure 840205DEST_PATH_IMAGE032
个质心,
Figure 985973DEST_PATH_IMAGE033
Figure 658656DEST_PATH_IMAGE029
Figure 804989DEST_PATH_IMAGE030
的距 离,
Figure 159003DEST_PATH_IMAGE034
为第
Figure 723059DEST_PATH_IMAGE035
个数据簇。
进一步地,步骤S2.3中,通过滑动窗口,将打上伪正常标签后的时序指标数据划分 为多个给定时间步长子序列,作为无监督异常检测模型的输入
Figure 894540DEST_PATH_IMAGE036
, 每个子序列
Figure 615984DEST_PATH_IMAGE037
,其中
Figure 564567DEST_PATH_IMAGE038
Figure 316885DEST_PATH_IMAGE039
中的
Figure 364711DEST_PATH_IMAGE040
都为子序列 的个数,
Figure 140162DEST_PATH_IMAGE041
为滑动窗口的大小即时间步长,
Figure 220333DEST_PATH_IMAGE042
为每个时序指标数据样本的维度,
Figure 201058DEST_PATH_IMAGE043
为第d 个子序列,d的取值为1~n
进一步地,步骤S3中,基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得 生成的异常数据
Figure 708482DEST_PATH_IMAGE044
具有多样性,避免生成高度相似的样 本;其中,
Figure 705650DEST_PATH_IMAGE045
是第
Figure 464878DEST_PATH_IMAGE046
个子生成器中输入的正态分布的随机数,
Figure 926209DEST_PATH_IMAGE047
是第
Figure 300075DEST_PATH_IMAGE046
个子生成器生成 的异常数据;
在训练时,根据滑动窗口处理后的子序列
Figure 421090DEST_PATH_IMAGE048
与生成器
Figure 52185DEST_PATH_IMAGE049
生成的 异常数据通过判别器
Figure 503108DEST_PATH_IMAGE050
进行分辨;生成器
Figure 623773DEST_PATH_IMAGE049
通过循环训练尽可能减小生成的异常数据和滑动 窗口处理后的子序列之间的差距直至判别器
Figure 291472DEST_PATH_IMAGE050
不能区分,则开始循环训练判别器
Figure 257416DEST_PATH_IMAGE050
,增强判 别器
Figure 383021DEST_PATH_IMAGE050
的辨别能力;经过生成器和判别器多次更新迭代,尽可能减少生成的异常数据和滑动 窗口处理后的子序列的差异;判别器用于辨别滑动窗口处理后的子序列和异常数据,通过 检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小极 大博弈(
Figure 284374DEST_PATH_IMAGE051
博弈)的过程,如公式(7)所示:
Figure 737572DEST_PATH_IMAGE052
其中,
Figure 241627DEST_PATH_IMAGE053
是生成器和判别器的对抗博弈函数,
Figure 965345DEST_PATH_IMAGE054
是训练判别器,尽 可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,
Figure 235003DEST_PATH_IMAGE055
是训练生成器, 使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,
Figure 650197DEST_PATH_IMAGE056
为判别 器的输出,即数据点
Figure 975522DEST_PATH_IMAGE057
为正常数据点的概率,z为正态分布随机数,
Figure 822255DEST_PATH_IMAGE058
为生成器的输出,
Figure 997235DEST_PATH_IMAGE059
为生成器的交叉熵损失函数,
Figure 758780DEST_PATH_IMAGE060
为判别器的交叉熵损失函数。
进一步地,生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后 的子序列;LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单 元的隐藏层状态
Figure 739724DEST_PATH_IMAGE061
,输出为当前LSTM单元的隐藏层状态
Figure 270325DEST_PATH_IMAGE062
,其中
Figure 445567DEST_PATH_IMAGE063
Figure 118511DEST_PATH_IMAGE064
是第t 个LSTM单元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的 状态值向量
Figure 377847DEST_PATH_IMAGE065
经过
Figure 524139DEST_PATH_IMAGE066
激活函数和全连接神经网络训练得到生成的异常数据; 同样的,在判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输 出维度,得到每个子序列的异常概率值,如公式(8)和公式(9)所示:
Figure 165555DEST_PATH_IMAGE067
其中,
Figure 682118DEST_PATH_IMAGE068
是一个LSTM单元,
Figure 178434DEST_PATH_IMAGE062
是第t个LSTM单元的隐藏层输 出,
Figure 779834DEST_PATH_IMAGE057
为数据点,
Figure 237491DEST_PATH_IMAGE069
Figure 533693DEST_PATH_IMAGE070
为全连接神经网络的权重向量和偏置单元,
Figure 896017DEST_PATH_IMAGE071
Figure 865503DEST_PATH_IMAGE072
网络的隐藏层 状态值向量,
Figure 114301DEST_PATH_IMAGE073
为异常概率值。
进一步地,步骤S4中,使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该时间段内的异常数据点集,该异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于T个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到该段异常区间,则该区间内的每一个异常点都为一次正确检测;
进一步地,步骤S5中,使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
Relief算法的主要思想是通过计算指标特征的权重来度量特征的重要性,通过计算一个向量,该向量的每个分量代表每个指标特征的对于分类的评价值,即权重值。每个特征指标的权值计算如公式(10)所示:
Figure 11981DEST_PATH_IMAGE074
其中,
Figure 76800DEST_PATH_IMAGE075
表示指标特征
Figure 124959DEST_PATH_IMAGE076
的权值,
Figure 265697DEST_PATH_IMAGE077
表示数据点
Figure 509728DEST_PATH_IMAGE078
在指标特征
Figure 532565DEST_PATH_IMAGE076
上的取值,
Figure 538960DEST_PATH_IMAGE079
表示与数据点
Figure 506392DEST_PATH_IMAGE078
同类别的数据点与数据点
Figure 654695DEST_PATH_IMAGE078
的距离,
Figure 807853DEST_PATH_IMAGE080
表示 与数据点
Figure 215477DEST_PATH_IMAGE078
不同类别的数据点与数据点
Figure 914662DEST_PATH_IMAGE078
的距离;如果
Figure 133285DEST_PATH_IMAGE079
小于
Figure 67962DEST_PATH_IMAGE080
,则说明指标特征
Figure 517791DEST_PATH_IMAGE076
对于分类效果是有利的,且差值越大,即
Figure 591139DEST_PATH_IMAGE075
越大,表明指 标特征
Figure 891800DEST_PATH_IMAGE076
的分类能力越强,对异常区间的影响程度越大。
与现有技术相比,本发明具有如下的优点与技术成果:
1、提供了一种无监督的机器学习方法GAN对时序数据进行异常检测、不依赖于具体标签以及能够处理不平衡数据的方法,更拟合现实云环境。
2、所提出的基于LSTM网络的生成对抗网络通过捕获多指标之间的时序关系对异常序列进行检测。相比于常规方法的单指标异常检测方法,检测的类型更多且准确性越高。其采用的LSTM层对数据的时间关系进行捕获,更好的分析指标的时序特征;其采用的K-Means聚类也使得输入更加合理,降低训练难度;其采用的多目标生成器可以获得更加多样的异常数据,使得检测精度更高、泛化能力更强。
3、所提出的特征选择算法对异常序列进行根因定位。通过根据所计算的特征权值进行排序的方式,向运维人员定位异常序列的异常指标,更好的帮助运维人员对故障进行处理,降低故障处理时间。
附图说明
图1为本发明实施例中基于多指标时间序列的无监督异常检测和根因定位方法的流程示意图。
图2为本发明实施例中堆叠自动编码器和KMeans聚类预标注方法示意图。
图3为本发明实施例中训练集、测试集和验证集划分,以及滑动窗口划分子序列示意图。
图4为本发明实施例中多目标生成对抗网络示意图。
图5为本发明实施例中LSTM-GAN网络示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行进一步的详细说明,但本发明的实施和保护不限于此。
实施例:
一种云环境多指标无监督异常检测和根因分析方法,如图1所示,包括以下步骤:
S1、对云服务器中的多个时序指标数据进行数据的预处理,数据的预处理包括缺失值处理和数据归一化处理;
所述缺失值处理为对多个时序指标数据中的空缺值进行人工填充和删除;对于某行或某列时序指标数据中的缺失值超过10个的,直接删除该行时序指标数据样本或者该列时序指标数据,而对于某行或某列时序指标数据中的连续缺失值不超过10个,选取同列中前后10个非缺失值的平均值进行填充;
所述数据归一化处理为使用归一化函数,使缺失值处理后的多个时序指标数据的值分布在[0,1]中,具体如下:
Figure 776973DEST_PATH_IMAGE001
其中,
Figure 872187DEST_PATH_IMAGE002
是归一化后的时序指标数据,
Figure 86743DEST_PATH_IMAGE003
为时序指标数据,
Figure 906057DEST_PATH_IMAGE004
为多个时序 指标数据中的最大值和最小值。
将预处理后的数据划分为训练集、验证集和测试集。
S2、如图2所示,采用基于堆叠自动编码器和K-Means聚类结合的方法剔除训练集中的异常数据簇,并为训练集其余的数据簇打上表示正常的伪正常标签;如图3所示,使用滑动窗口将训练集、测试集和验证集的数据进行样本划分,得到一定时间步长的子序列,包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据,从而简化复杂的多个时序指标数据,获得多个时序指标数据更高层次的特征;
堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输入层输入
Figure 19023DEST_PATH_IMAGE003
,经过编码阶段得到隐藏层输出
Figure 771341DEST_PATH_IMAGE005
,再将隐藏 层输出经过解码阶段得到与输入层输入
Figure 685027DEST_PATH_IMAGE003
类似的输出层
Figure 929320DEST_PATH_IMAGE006
;其中,输出层的维度与输入层的 维度相同,而隐藏层则是降维后的输入层输入
Figure 681595DEST_PATH_IMAGE003
的特征表示;每一层自动编码器训练完成 后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过 程:
编码过程即是从输入层映射隐藏层的过程,通过双层全连接神经网络实现,并利 用编码函数
Figure 987287DEST_PATH_IMAGE007
把输入向量
Figure 641515DEST_PATH_IMAGE003
映射到隐藏层中输出
Figure 574703DEST_PATH_IMAGE005
,具体如下:
Figure 569817DEST_PATH_IMAGE008
其中,
Figure 703251DEST_PATH_IMAGE003
是时序指标数据或者是上一层自动编码器的隐藏层,
Figure 991363DEST_PATH_IMAGE009
是编码阶段权重 向量,
Figure 771100DEST_PATH_IMAGE010
是编码阶段偏置单元,
Figure 623036DEST_PATH_IMAGE007
是激活函数
Figure 814239DEST_PATH_IMAGE011
;
解码过程即是从隐藏层到输出层的映射过程,通过一层全连接网络实现,并利用 解码函数
Figure 601148DEST_PATH_IMAGE012
把编码阶段的输出
Figure 635226DEST_PATH_IMAGE005
重构得到输出向量
Figure 503300DEST_PATH_IMAGE006
,具体如下:
Figure 762725DEST_PATH_IMAGE013
其中,
Figure 245438DEST_PATH_IMAGE006
是解码阶段的输出,与输入层输入
Figure 934521DEST_PATH_IMAGE003
相近,
Figure 42504DEST_PATH_IMAGE014
是解码阶段权重向量,
Figure 739458DEST_PATH_IMAGE015
是解 码阶段偏置单元,
Figure 835547DEST_PATH_IMAGE016
是激活函数
Figure 313058DEST_PATH_IMAGE017
;在每一层自动编码器(AE)中,以多个时序指标数 据或者上一层自动编码器的隐藏层输出做为输入,经过自动编码器后即可重构新的输出向 量
Figure 779328DEST_PATH_IMAGE018
,其中,
Figure 596368DEST_PATH_IMAGE019
为自动编码器的序号,
Figure 866288DEST_PATH_IMAGE020
为第
Figure 356394DEST_PATH_IMAGE019
层自动编码器的输入向量,
Figure 812040DEST_PATH_IMAGE021
为第
Figure 477726DEST_PATH_IMAGE019
层自动编码器的输出向量;通过自动编码器中全连接层神经网络的训练,输出向 量
Figure 718215DEST_PATH_IMAGE021
与输入向量
Figure 594421DEST_PATH_IMAGE020
类似,得到降维的隐藏层向量做为输入层更深层次的表达,作为输 入向量
Figure 181653DEST_PATH_IMAGE020
提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
S2.2、采用K均值聚类算法(K-Means)对降维处理后的时序指标数据进行聚类,使得少数的异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,从而降低训练集中少数异常数据样本的影响,为无监督异常检测模型提供更合适的输入,然后为剩余的数据簇打上表示正常的伪正常标签;
K均值聚类算法(K-Means)是一种经典的聚类算法,根据降维处理后的时序指标数 据样本之间的距离大小,将时序指标数据样本集
Figure 295322DEST_PATH_IMAGE022
划分为k个数据簇,k值 根据实验参数调整,使得异常数据尽可能被分到一个数据簇中,
Figure 880281DEST_PATH_IMAGE023
是第M个时序指标数据 样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本
Figure 252969DEST_PATH_IMAGE024
做为初始的k个 质心,
Figure 251467DEST_PATH_IMAGE025
为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公 式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复上述过程, 直至所有的质心样本都没有发生变化,输出最后的k个数据簇
Figure 268577DEST_PATH_IMAGE026
;最终使得平方 误差
Figure 555595DEST_PATH_IMAGE027
最小化,如公式(6)所示,具体如下:
Figure 179693DEST_PATH_IMAGE028
其中,
Figure 843149DEST_PATH_IMAGE029
Figure 570891DEST_PATH_IMAGE030
分别为第
Figure 28810DEST_PATH_IMAGE031
个时序指标数据点和第
Figure 429221DEST_PATH_IMAGE032
个质心,
Figure 99631DEST_PATH_IMAGE033
Figure 215967DEST_PATH_IMAGE029
Figure 901245DEST_PATH_IMAGE030
的距 离,
Figure 220975DEST_PATH_IMAGE034
为第
Figure 758658DEST_PATH_IMAGE035
个数据簇。
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入;
通过滑动窗口,将打上伪正常标签后的时序指标数据划分为多个给定时间步长子 序列,作为无监督异常检测模型的输入
Figure 70779DEST_PATH_IMAGE036
,每个子序列
Figure 667238DEST_PATH_IMAGE037
,其中
Figure 457952DEST_PATH_IMAGE038
Figure 956584DEST_PATH_IMAGE039
中的
Figure 817486DEST_PATH_IMAGE040
都为子序列的个数,
Figure 61211DEST_PATH_IMAGE041
为滑动窗口的大小即时间步长,
Figure 509860DEST_PATH_IMAGE042
为每个时序指标数据样本的维度,
Figure 591342DEST_PATH_IMAGE043
为第d个子序列,d 的取值为1~n
S3、如图4和图5所示,根据步骤S2中进行样本划分后的训练集的样本数据训练基于LSTM网络的无监督异常检测模型;
基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得 生成的异常数据
Figure 822864DEST_PATH_IMAGE044
具有多样性,避免生成高度相似的样 本;其中,
Figure 229968DEST_PATH_IMAGE045
是第
Figure 697071DEST_PATH_IMAGE046
个子生成器中输入的正态分布的随机数,
Figure 874587DEST_PATH_IMAGE047
是第
Figure 647765DEST_PATH_IMAGE046
个子生成器生成 的异常数据;
在训练时,根据滑动窗口处理后的子序列
Figure 16648DEST_PATH_IMAGE048
与生成器
Figure 976907DEST_PATH_IMAGE049
生成的 异常数据通过判别器
Figure 493469DEST_PATH_IMAGE050
进行分辨;生成器
Figure 646452DEST_PATH_IMAGE049
通过循环训练尽可能减小生成的异常数据和滑动 窗口处理后的子序列之间的差距直至判别器
Figure 67462DEST_PATH_IMAGE050
不能区分,则开始循环训练判别器
Figure 633792DEST_PATH_IMAGE050
,增强判 别器
Figure 624882DEST_PATH_IMAGE050
的辨别能力;经过生成器和判别器多次更新迭代,尽量减少生成的异常数据和滑动窗 口处理后的子序列的差异;判别器可以用于辨别滑动窗口处理后的子序列和异常数据,通 过检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小 极大博弈(
Figure 170655DEST_PATH_IMAGE051
博弈)的过程,如公式(7)所示:
Figure 287866DEST_PATH_IMAGE052
其中,
Figure 986832DEST_PATH_IMAGE053
是生成器和判别器的对抗博弈函数,
Figure 11639DEST_PATH_IMAGE054
是训练判别器,尽 可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,
Figure 676232DEST_PATH_IMAGE055
是训练生成器, 使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,
Figure 784519DEST_PATH_IMAGE056
为判别 器的输出,即数据点
Figure 43550DEST_PATH_IMAGE057
为正常数据点的概率,z为正态分布随机数,
Figure 376442DEST_PATH_IMAGE058
为生成器的输出,
Figure 624103DEST_PATH_IMAGE059
为生成器的交叉熵损失函数,
Figure 151293DEST_PATH_IMAGE060
为判别器的交叉熵损失函数。
生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后的子序列; LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单元的隐藏 层状态
Figure 481360DEST_PATH_IMAGE061
,输出为当前LSTM单元的隐藏层状态
Figure 162484DEST_PATH_IMAGE062
,其中
Figure 503466DEST_PATH_IMAGE063
Figure 336643DEST_PATH_IMAGE064
是第t个LSTM单 元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的状态值向 量
Figure 530121DEST_PATH_IMAGE065
经过
Figure 582913DEST_PATH_IMAGE066
激活函数和全连接神经网络训练得到生成的异常数据;同样的,在 判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输出维度,得 到每个子序列的异常概率值,如公式(8)和公式(9)所示:
Figure 713156DEST_PATH_IMAGE067
其中,
Figure 50990DEST_PATH_IMAGE068
是一个LSTM单元,
Figure 522641DEST_PATH_IMAGE062
是第t个LSTM单元的隐藏层输 出,
Figure 267873DEST_PATH_IMAGE057
为数据点,
Figure 960279DEST_PATH_IMAGE069
Figure 899373DEST_PATH_IMAGE070
为全连接神经网络的权重向量和偏置单元,
Figure 536284DEST_PATH_IMAGE071
Figure 359971DEST_PATH_IMAGE072
网络的隐藏层 状态值向量,
Figure 282052DEST_PATH_IMAGE073
为异常概率值。
S4、使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该时间段内的异常数据点集,该异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于t个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参,本实施例中,通过在2~5范围内选取T的值,尽可能识别出异常点所在的异常区间;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到该段异常区间,则该区间内的每一个异常点都为一次正确检测;
S5、使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标;
使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
Relief算法的主要思想是通过计算指标特征的权重来度量特征的重要性,通过计算一个向量,该向量的每个分量代表每个指标特征的对于分类的评价值,即权重值。每个特征指标的权值计算如公式(10)所示:
Figure 758426DEST_PATH_IMAGE074
其中,
Figure 142353DEST_PATH_IMAGE075
表示指标特征
Figure 464006DEST_PATH_IMAGE076
的权值,
Figure 751243DEST_PATH_IMAGE077
表示数据点
Figure 533605DEST_PATH_IMAGE078
在指标特征
Figure 738583DEST_PATH_IMAGE076
上的取值,
Figure 52145DEST_PATH_IMAGE079
表示与数据点
Figure 698283DEST_PATH_IMAGE078
同类别的数据点与数据点
Figure 979442DEST_PATH_IMAGE078
的距离,
Figure 343821DEST_PATH_IMAGE080
表示 与数据点
Figure 299620DEST_PATH_IMAGE078
不同类别的数据点与数据点
Figure 59984DEST_PATH_IMAGE078
的距离。如果
Figure 522100DEST_PATH_IMAGE079
小于
Figure 367915DEST_PATH_IMAGE080
,则说明指标特征
Figure 330668DEST_PATH_IMAGE076
对于分类效果是有利的,且差值越大,即
Figure 951398DEST_PATH_IMAGE075
越大,表明指 标特征
Figure 512043DEST_PATH_IMAGE076
的分类能力越强,对异常区间的影响程度越大。
上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种云环境多指标无监督异常检测和根因分析方法,其特征在于,包括以下步骤:
S1、对云服务器中的多个时序指标数据进行数据的预处理,将预处理后的数据划分为训练集、验证集和测试集;
S2、采用基于堆叠自动编码器和K-Means聚类结合的方法剔除训练集中的异常数据簇,并为训练集其余的数据簇打上表示正常的伪正常标签;使用滑动窗口将训练集、测试集和验证集的数据进行样本划分,得到一定时间步长的子序列;
S3、根据步骤S2中进行样本划分后的训练集的样本数据训练基于LSTM网络的无监督异常检测模型;
S4、使用训练好的无监督异常检测模型对测试集的时序指标数据进行异常检测,得到异常概率,大于给定阈值的时序指标数据点为异常数据点,反之为正常数据点;并根据是否在异常区间开始后的不晚于T个时间点内检测到该异常区间的异常数据点,对异常区间进行标记;
S5、使用特征选择方法对异常区间中的多个变量计算权重,根据权重大小得到影响异常的指标。
2.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S1中,数据的预处理包括缺失值处理和数据归一化处理;
所述缺失值处理为对多个时序指标数据中的空缺值进行人工填充和删除;对于某行或某列时序指标数据中的缺失值超过10个的,直接删除该行时序指标数据样本或者该列时序指标数据,而对于某行或某列时序指标数据中的连续缺失值不超过10个,选取同列中前后10个非缺失值的平均值进行填充;
所述数据归一化处理为使用归一化函数,使缺失值处理后的多个时序指标数据的值分布在[0,1]中,具体如下:
Figure FDA0003572110550000011
其中,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)所示,具体如下:
Figure FDA0003572110550000041
Figure FDA0003572110550000042
Figure FDA0003572110550000043
其中,xm和μj分别为第m个时序指标数据点和第j个质心,dmj为xm和μj的距离,Cj为第j个数据簇。
6.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.3中,通过滑动窗口,将打上伪正常标签后的时序指标数据划分为多个给定时间步长子序列,作为无监督异常检测模型的输入
Figure FDA0003572110550000044
每个子序列
Figure FDA0003572110550000045
其中Xn
Figure FDA0003572110550000046
中的n都为子序列的个数,Sw为滑动窗口的大小即时间步长,dim为每个时序指标数据样本的维度,Xd为第d个子序列,d的取值为1~n。
7.根据权利要求6所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S3中,基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得生成的异常数据{G1(z1),G2(z2),G3(z3),...,Gg(zg)}具有多样性,避免生成高度相似的样本;其中,Zg是第g个子生成器中输入的正态分布的随机数,Gg(zg)是第g个子生成器生成的异常数据;
在训练时,根据滑动窗口处理后的子序列
Figure FDA0003572110550000047
与生成器G生成的异常数据通过判别器D进行分辨;生成器G通过循环训练尽可能减小生成的异常数据和滑动窗口处理后的子序列之间的差距直至判别器D不能区分,则开始循环训练判别器D,增强判别器D的辨别能力;经过生成器和判别器多次更新迭代,尽可能减少生成的异常数据和滑动窗口处理后的子序列的差异;判别器用于辨别滑动窗口处理后的子序列和异常数据,通过检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小极大博弈(mini-max博弈)的过程,如公式(7)所示:
Figure FDA0003572110550000051
其中,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)所示:
Figure FDA0003572110550000061
其中,Wq表示指标特征q的权值,
Figure FDA0003572110550000062
表示数据点xp在指标特征q上的取值,
Figure FDA0003572110550000063
表示与数据点xp同类别的数据点与数据点xp的距离,
Figure FDA0003572110550000064
表示与数据点xp不同类别的数据点与数据点xp的距离;如果
Figure FDA0003572110550000065
小于
Figure FDA0003572110550000066
则说明指标特征q对于分类效果是有利的,且差值越大,即Wq越大,表明指标特征q的分类能力越强,对异常区间的影响程度越大。
CN202210077012.9A 2022-01-24 2022-01-24 一种云环境多指标无监督异常检测和根因分析方法 Active CN114090396B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 苏州浪潮智能科技有限公司 一种云平台无阈值检测的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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