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

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

Info

Publication number
CN114090396A
CN114090396A CN202210077012.9A CN202210077012A CN114090396A CN 114090396 A CN114090396 A CN 114090396A CN 202210077012 A CN202210077012 A CN 202210077012A CN 114090396 A CN114090396 A CN 114090396A
Authority
CN
China
Prior art keywords
data
layer
abnormal
index
time sequence
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.)
Granted
Application number
CN202210077012.9A
Other languages
English (en)
Other versions
CN114090396B (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 679675DEST_PATH_IMAGE001
其中,
Figure 707674DEST_PATH_IMAGE002
是归一化后的时序指标数据,
Figure 420415DEST_PATH_IMAGE003
为时序指标数据,
Figure 141247DEST_PATH_IMAGE004
为多个时序指标数据中的最大值和最小值。
3.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2包括以下步骤:
S2.1、采用堆叠自动编码器的方法逐层提取训练集中的时序指标数据的特征并降维,得到降维处理后的时序指标数据;
S2.2、采用K均值聚类算法对降维处理后的时序指标数据进行聚类,使得异常数据点聚合成一个数据簇,剔除数据量最少的数据簇,然后为剩余的数据簇打上表示正常的伪正常标签;
S2.3、采用滑动窗口将打上伪正常标签后的时序指标数据划分为给定时间步长的子序列,作为无监督异常检测模型的输入。
4.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.1中,堆叠自动编码器由多个自动编码器叠加构成,每一层的自动编码器都是一种无监督神经网络,通过全连接神经网络实现;自动编码器包括输入层,隐藏层和输出层;
在自动编码器(AE)的输输入层输入
Figure 572228DEST_PATH_IMAGE005
,经过编码阶段得到隐藏层输出
Figure 403918DEST_PATH_IMAGE006
,再将隐藏层输出经过解码阶段得到与输入层输入
Figure 971165DEST_PATH_IMAGE007
类似的输出层
Figure 862898DEST_PATH_IMAGE008
;其中,输出层的维度与输入层的维度相同,而隐藏层则是降维后的输入层输入
Figure 515596DEST_PATH_IMAGE005
的特征表示;每一层自动编码器训练完成后,保留隐藏层作为下一层自动编码器的输入;自动编码器的实现包括编码过程和解码过程:
编码过程即是从输入层映射隐藏层的过程,通过双层全连接神经网络实现,并利用编码函数
Figure DEST_PATH_IMAGE009
把输入向量
Figure 682135DEST_PATH_IMAGE010
映射到隐藏层中输出
Figure 103889DEST_PATH_IMAGE011
,具体如下:
Figure 432103DEST_PATH_IMAGE012
其中,
Figure 306518DEST_PATH_IMAGE013
是时序指标数据或者是上一层自动编码器的隐藏层,
Figure 11168DEST_PATH_IMAGE014
是编码阶段权重向量,
Figure 287429DEST_PATH_IMAGE015
是编码阶段偏置单元,
Figure 786543DEST_PATH_IMAGE016
是激活函数
Figure 148255DEST_PATH_IMAGE017
解码过程即是从隐藏层到输出层的映射过程,通过一层全连接网络实现,并利用解码函数
Figure 125438DEST_PATH_IMAGE018
把编码阶段的输出
Figure 521784DEST_PATH_IMAGE006
重构得到输出向量
Figure 926221DEST_PATH_IMAGE019
,具体如下:
Figure 40807DEST_PATH_IMAGE020
其中,
Figure DEST_PATH_IMAGE021
是解码阶段的输出,与输入层输入
Figure 87261DEST_PATH_IMAGE005
相近,
Figure 338113DEST_PATH_IMAGE022
是解码阶段权重向量,
Figure DEST_PATH_IMAGE023
是解码阶段偏置单元,
Figure 444610DEST_PATH_IMAGE024
是激活函数
Figure 780913DEST_PATH_IMAGE025
在每一层自动编码器(AE)中,以多个时序指标数据或者上一层自动编码器的隐藏层输出做为输入,经过自动编码器后即可重构新的输出向量
Figure 377197DEST_PATH_IMAGE026
,其中,
Figure 482556DEST_PATH_IMAGE027
为自动编码器的序号,
Figure 494375DEST_PATH_IMAGE028
为第
Figure 317974DEST_PATH_IMAGE030
层自动编码器的输入向量,
Figure 706230DEST_PATH_IMAGE031
为第
Figure 666096DEST_PATH_IMAGE033
层自动编码器的输出向量;通过自动编码器中全连接层神经网络的训练,输出向量
Figure 583236DEST_PATH_IMAGE031
与输入向量
Figure 159711DEST_PATH_IMAGE034
类似,得到降维的隐藏层向量做为输入层更深层次的表达,作为输入向量
Figure DEST_PATH_IMAGE035
提取的特征;
堆叠自动编码器由多个单层自动编码器组成,每一层自动编码器都以前一层自动编码器的隐藏层向量为基础,抽取出更加抽象的表达特征,从而能够逐层地学习时序指标数据;对于时序指标数据,采用无监督的训练方式训练第一层自动编码器,将隐藏层向量做为下一层自动编码器的输入,以相同的方式训练后续的自动编码器,最后一层的自动编码器的隐藏层向量即为最后降维后的时序指标数据的特征表示。
5.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.2中,K均值聚类算法(K-Means)是一种经典的聚类算法,根据降维处理后的时序指标数据样本之间的距离大小,将时序指标数据样本集
Figure 351658DEST_PATH_IMAGE036
划分为k个数据簇,k值根据实验参数调整,
Figure DEST_PATH_IMAGE037
是第M个时序指标数据样本;
通过选择k个质心,让数据簇内的多个时序指标数据样本尽可能紧密的连在一起,做为一类相似的样本,并使得每个数据簇间的距离尽可能大;
K均值聚类算法首先随机选取k个时序指标数据样本
Figure 697189DEST_PATH_IMAGE038
做为初始的k个质心,
Figure DEST_PATH_IMAGE039
为选取作为第k个质心的时序指标数据样本,并对其余的时序指标数据通过距离公式(4)归类到某个数据簇,接着根据公式(5)更新每个数据簇中的质心样本,重复上述过程,直至所有的质心样本都没有发生变化,输出最后的k个数据簇
Figure 581968DEST_PATH_IMAGE040
;最终使得平方误差
Figure DEST_PATH_IMAGE041
最小化,如公式(6)所示,具体如下:
Figure 645739DEST_PATH_IMAGE042
其中,
Figure DEST_PATH_IMAGE043
Figure 375798DEST_PATH_IMAGE044
分别为第
Figure DEST_PATH_IMAGE045
个时序指标数据点和第
Figure 841414DEST_PATH_IMAGE046
个质心,
Figure DEST_PATH_IMAGE047
Figure 897095DEST_PATH_IMAGE048
Figure 917003DEST_PATH_IMAGE049
的距离,
Figure 450753DEST_PATH_IMAGE050
为第
Figure 239717DEST_PATH_IMAGE051
个数据簇。
6.根据权利要求3所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S2.3中,通过滑动窗口,将打上伪正常标签后的时序指标数据划分为多个给定时间步长子序列,作为无监督异常检测模型的输入
Figure 935141DEST_PATH_IMAGE052
,每个子序列
Figure 442346DEST_PATH_IMAGE053
,其中
Figure 514207DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE055
中的
Figure 688836DEST_PATH_IMAGE056
都为子序列的个数,
Figure DEST_PATH_IMAGE057
为滑动窗口的大小即时间步长,
Figure 820740DEST_PATH_IMAGE058
为每个时序指标数据样本的维度,
Figure DEST_PATH_IMAGE059
为第d个子序列,d的取值为1~n
7.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S3中,基于LSTM网络的无监督异常检测模型为采用LSTM神经网络构建生成器和判别器的生成对抗网络;
生成器包括多个不同的子生成器,通过集成多个子生成器生成的异常数据,使得生成的异常数据
Figure 80820DEST_PATH_IMAGE060
具有多样性,避免生成高度相似的样本;其中,
Figure DEST_PATH_IMAGE061
是第
Figure 221952DEST_PATH_IMAGE062
个子生成器中输入的正态分布的随机数,
Figure DEST_PATH_IMAGE063
是第
Figure 516667DEST_PATH_IMAGE064
个子生成器生成的异常数据;
在训练时,根据滑动窗口处理后的子序列
Figure DEST_PATH_IMAGE065
与生成器
Figure 819472DEST_PATH_IMAGE066
生成的异常数据通过判别器
Figure 301269DEST_PATH_IMAGE067
进行分辨;生成器
Figure 714933DEST_PATH_IMAGE068
通过循环训练尽可能减小生成的异常数据和滑动窗口处理后的子序列之间的差距直至判别器
Figure 332996DEST_PATH_IMAGE069
不能区分,则开始循环训练判别器
Figure 541124DEST_PATH_IMAGE070
,增强判别器
Figure 244637DEST_PATH_IMAGE070
的辨别能力;经过生成器和判别器多次更新迭代,尽可能减少生成的异常数据和滑动窗口处理后的子序列的差异;判别器用于辨别滑动窗口处理后的子序列和异常数据,通过检测给定的数据点得到数据点的异常概率;生成器和判别器之间的更新迭代是一种极小极大博弈(
Figure 461992DEST_PATH_IMAGE071
博弈)的过程,如公式(7)所示:
Figure 934562DEST_PATH_IMAGE072
其中,
Figure 579170DEST_PATH_IMAGE073
是生成器和判别器的对抗博弈函数,
Figure 769980DEST_PATH_IMAGE074
是训练判别器,尽可能使判别器能识别出生成的异常数据和滑动窗口处理后的子序列,
Figure 525446DEST_PATH_IMAGE075
是训练生成器,使得生成器尽可能最小化生成的异常数据和滑动窗口处理后的子序列的差异,
Figure 118101DEST_PATH_IMAGE076
为判别器的输出,即数据点
Figure 933611DEST_PATH_IMAGE077
为正常数据点的概率,z为正态分布随机数,
Figure 346137DEST_PATH_IMAGE078
为生成器的输出,
Figure 905295DEST_PATH_IMAGE079
为生成器的交叉熵损失函数,
Figure 352457DEST_PATH_IMAGE080
为判别器的交叉熵损失函数。
8.根据权利要求7所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,生成器和判别器都是基于LSTM神经网络构建,输入是滑动窗口处理后的子序列;LSTM神经网络中的每一个LSTM单元的输入包括一个时间点数据和上一层LSTM单元的隐藏层状态
Figure 338867DEST_PATH_IMAGE081
,输出为当前LSTM单元的隐藏层状态
Figure 504269DEST_PATH_IMAGE082
,其中
Figure DEST_PATH_IMAGE083
Figure 132697DEST_PATH_IMAGE084
是第t个LSTM单元的状态值和遗忘门值;在生成器中,LSTM神经网络中各个LSTM单元的隐藏层的状态值向量
Figure DEST_PATH_IMAGE085
经过
Figure 965523DEST_PATH_IMAGE086
激活函数和全连接神经网络训练得到生成的异常数据;同样的,在判别器中,LSTM神经网络的隐藏层的状态值向量通过全连接网络层调整目标输出维度,得到每个子序列的异常概率值,如公式(8)和公式(9)所示:
Figure DEST_PATH_IMAGE087
其中,
Figure 388415DEST_PATH_IMAGE088
是一个LSTM单元,
Figure DEST_PATH_IMAGE089
是第t个LSTM单元的隐藏层输出,
Figure 41113DEST_PATH_IMAGE090
为数据点,
Figure 942073DEST_PATH_IMAGE091
Figure 363827DEST_PATH_IMAGE092
为全连接神经网络的权重向量和偏置单元,
Figure 692040DEST_PATH_IMAGE093
Figure 832034DEST_PATH_IMAGE094
网络的隐藏层状态值向量,
Figure 5527DEST_PATH_IMAGE095
为异常概率值。
9.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S4中,使用训练好的无监督异常检测模型对测试集的数据进行异常检测,输出测试集的数据的异常概率,并根据给定的阈值,异常概率大于阈值的数据判定为异常数据,否则判定为正常数据;
云环境中的异常是发生在某一段时间内,异常检测算法检测的不单单是一个数据点,而是在该时间段内的异常数据点集,该异常时间段内的数据为异常区间;对于检测到的异常数据点,如果在异常区间内,在异常开始的不晚于T个时间内能检测到异常数据点,则可以检测出该异常区间,否则检测不出该异常区间,T是实验参数,根据具体数据集进行调参;
对训练好的无监督异常检测模型的输出的异常概率,给定一个阈值,大于阈值的判定为异常数据样本,否则为正常样本;在连续的异常区间内,如果在开始后的不晚于T个时间点内可以检测到异常数据样本,则认为可以检测到该段异常区间,则该区间内的每一个异常点都为一次正确检测。
10.根据权利要求1所述的一种云环境多指标无监督异常检测和根因分析方法,其特征在于,步骤S5中,使用Relief特征选择算法,计算多个时序指标数据中的各个指标特征对异常区间的影响权重,并根据权重对指标特征进行排序,将根因分析问题归结为排序推荐的问题,定位到导致异常区间的关键指标特征;
每个特征指标的权值计算如公式(10)所示:
Figure 547366DEST_PATH_IMAGE096
其中,
Figure 780902DEST_PATH_IMAGE097
表示指标特征
Figure 408192DEST_PATH_IMAGE098
的权值,
Figure 385375DEST_PATH_IMAGE099
表示数据点
Figure 47301DEST_PATH_IMAGE100
在指标特征
Figure 717317DEST_PATH_IMAGE101
上的取值,
Figure 300745DEST_PATH_IMAGE102
表示与数据点
Figure 347198DEST_PATH_IMAGE103
同类别的数据点与数据点
Figure 863630DEST_PATH_IMAGE100
的距离,
Figure 438968DEST_PATH_IMAGE104
表示与数据点
Figure 775271DEST_PATH_IMAGE103
不同类别的数据点与数据点
Figure 94257DEST_PATH_IMAGE105
的距离;如果
Figure 465196DEST_PATH_IMAGE106
小于
Figure DEST_PATH_IMAGE107
,则说明指标特征
Figure 477014DEST_PATH_IMAGE098
对于分类效果是有利的,且差值越大,即
Figure 577911DEST_PATH_IMAGE097
越大,表明指标特征
Figure 435009DEST_PATH_IMAGE108
的分类能力越强,对异常区间的影响程度越大。
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 true CN114090396A (zh) 2022-02-25
CN114090396B 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880384A (zh) * 2022-07-11 2022-08-09 杭州宇谷科技有限公司 一种无监督二轮电动车充电时序异常检测方法及系统
CN114925808A (zh) * 2022-04-15 2022-08-19 北京理工大学 一种基于云网端资源中不完整时间序列的异常检测方法
CN115099321A (zh) * 2022-06-17 2022-09-23 杭州电子科技大学 双向自回归无监督预训练微调式排污异常监控方法及应用
CN115098563A (zh) * 2022-07-14 2022-09-23 中国海洋大学 基于gcn和注意力vae的时序异常检测方法及系统
CN116383096A (zh) * 2023-06-06 2023-07-04 安徽思高智能科技有限公司 基于多指标时序预测的微服务系统异常检测方法及装置
CN116759041A (zh) * 2023-08-22 2023-09-15 之江实验室 一种考虑诊疗事件关系的医疗时序数据生成方法及装置
WO2023197617A1 (zh) * 2022-04-11 2023-10-19 浙江工业大学 基于多维传感数据的工业系统生产异常检测与诊断方法
CN117421386A (zh) * 2023-12-19 2024-01-19 成都市灵奇空间软件有限公司 基于gis的空间数据处理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914873A (zh) * 2020-06-05 2020-11-10 华南理工大学 一种两阶段云服务器无监督异常预测方法
US20200371857A1 (en) * 2018-11-25 2020-11-26 Aloke Guha Methods and systems for autonomous cloud application operations
CN112069037A (zh) * 2020-08-21 2020-12-11 苏州浪潮智能科技有限公司 一种云平台无阈值检测的方法和装置
CN112529678A (zh) * 2020-12-23 2021-03-19 华南理工大学 一种基于自监督判别式网络的金融指数时序异常检测方法
CN112765896A (zh) * 2021-01-29 2021-05-07 湖南大学 一种基于lstm的水处理时序数据异常检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200371857A1 (en) * 2018-11-25 2020-11-26 Aloke Guha Methods and systems for autonomous cloud application operations
CN111914873A (zh) * 2020-06-05 2020-11-10 华南理工大学 一种两阶段云服务器无监督异常预测方法
CN112069037A (zh) * 2020-08-21 2020-12-11 苏州浪潮智能科技有限公司 一种云平台无阈值检测的方法和装置
CN112529678A (zh) * 2020-12-23 2021-03-19 华南理工大学 一种基于自监督判别式网络的金融指数时序异常检测方法
CN112765896A (zh) * 2021-01-29 2021-05-07 湖南大学 一种基于lstm的水处理时序数据异常检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄如意等: "基于多任务学习的装备智能诊断与寿命预测方法", 《中国科学: 技术科学》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197617A1 (zh) * 2022-04-11 2023-10-19 浙江工业大学 基于多维传感数据的工业系统生产异常检测与诊断方法
CN114925808B (zh) * 2022-04-15 2023-10-10 北京理工大学 一种基于云网端资源中不完整时间序列的异常检测方法
CN114925808A (zh) * 2022-04-15 2022-08-19 北京理工大学 一种基于云网端资源中不完整时间序列的异常检测方法
CN115099321A (zh) * 2022-06-17 2022-09-23 杭州电子科技大学 双向自回归无监督预训练微调式排污异常监控方法及应用
CN115099321B (zh) * 2022-06-17 2023-08-04 杭州电子科技大学 双向自回归无监督预训练微调式排污异常监控方法及应用
CN114880384A (zh) * 2022-07-11 2022-08-09 杭州宇谷科技有限公司 一种无监督二轮电动车充电时序异常检测方法及系统
CN115098563A (zh) * 2022-07-14 2022-09-23 中国海洋大学 基于gcn和注意力vae的时序异常检测方法及系统
CN116383096B (zh) * 2023-06-06 2023-08-18 安徽思高智能科技有限公司 基于多指标时序预测的微服务系统异常检测方法及装置
CN116383096A (zh) * 2023-06-06 2023-07-04 安徽思高智能科技有限公司 基于多指标时序预测的微服务系统异常检测方法及装置
CN116759041A (zh) * 2023-08-22 2023-09-15 之江实验室 一种考虑诊疗事件关系的医疗时序数据生成方法及装置
CN116759041B (zh) * 2023-08-22 2023-12-22 之江实验室 一种考虑诊疗事件关系的医疗时序数据生成方法及装置
CN117421386A (zh) * 2023-12-19 2024-01-19 成都市灵奇空间软件有限公司 基于gis的空间数据处理方法及系统
CN117421386B (zh) * 2023-12-19 2024-04-16 成都市灵奇空间软件有限公司 基于gis的空间数据处理方法及系统

Also Published As

Publication number Publication date
CN114090396B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN114090396B (zh) 一种云环境多指标无监督异常检测和根因分析方法
CN111914873A (zh) 一种两阶段云服务器无监督异常预测方法
CN105677791B (zh) 用于分析风力发电机组的运行数据的方法和系统
CN111178456A (zh) 异常指标检测方法、装置、计算机设备和存储介质
CN109766952B (zh) 基于偏最小二乘法和极限学习机的光伏阵列故障检测方法
CN110381079B (zh) 结合gru和svdd进行网络日志异常检测方法
CN113962259B (zh) 一种燃料电池系统多模式双层故障诊断方法
CN110059845B (zh) 基于时序演化基因模型的计量装置时钟误差趋势预测方法
CN109188502B (zh) 一种基于自编码器的束流位置监测器异常检测方法及装置
CN113887616A (zh) 一种epg连接数的实时异常检测系统及方法
CN112257784A (zh) 一种基于梯度提升决策树的窃电检测方法
CN112199670A (zh) 一种基于深度学习改进iforest对行为异常检测的日志监控方法
CN116167010B (zh) 具有智能迁移学习能力的电力系统异常事件快速识别方法
CN116075733A (zh) 用于对电池模块进行分类的电池管理系统
Zhang et al. A fault diagnosis method of power transformer based on cost sensitive one-dimensional convolution neural network
CN115800538A (zh) 基于人工智能的智能电网运维监控方法及系统
CN112633315A (zh) 一种电力系统扰动分类方法
CN113112188B (zh) 一种基于预筛选动态集成的电力调度监控数据异常检测方法
CN111612531B (zh) 一种点击欺诈的检测方法及系统
CN113255810B (zh) 基于关键决策逻辑设计测试覆盖率的网络模型测试方法
CN112014821B (zh) 一种基于雷达宽带特征的未知车辆目标识别方法
CN115842645A (zh) 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质
Amin et al. A Performance Analysis of Machine Learning Models for Attack Prediction using Different Feature Selection Techniques
CN118041692B (zh) 基于入侵检测技术的网络安全测试方法及系统
CN117687290B (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