CN112884167B - 一种基于机器学习的多指标异常检测方法及其应用系统 - Google Patents
一种基于机器学习的多指标异常检测方法及其应用系统 Download PDFInfo
- Publication number
- CN112884167B CN112884167B CN201911200869.XA CN201911200869A CN112884167B CN 112884167 B CN112884167 B CN 112884167B CN 201911200869 A CN201911200869 A CN 201911200869A CN 112884167 B CN112884167 B CN 112884167B
- Authority
- CN
- China
- Prior art keywords
- data
- training
- hash
- score
- 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 63
- 238000010801 machine learning Methods 0.000 title claims abstract description 36
- 238000009826 distribution Methods 0.000 claims abstract description 16
- 238000012549 training Methods 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 49
- 230000005856 abnormality Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000009827 uniform distribution Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000012423 maintenance Methods 0.000 description 15
- 230000006399 behavior Effects 0.000 description 4
- 238000013450 outlier detection Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于机器学习的多指标异常检测方法及其应用系统,其基于RS‑hash的多指标算法,依赖于随机散列,散列的随机性体现在探测分布范围、探测样本和子空间维度三个方面,通过分析随机局部参数、偏置参数、子维度估计点相关的局部子空间区域的数据分布,并在不同大小的局部子空间上平均这些分布,从而检测异常。
Description
技术领域
本发明涉及智能化运维技术领域,特别涉及一种基于机器学习的多指标异常检测方法及其应用系统。
背景技术
近年来,利用机器学习方法检测异常、故障的思想引起了研究界的极大兴趣。将基于机器学习的异常或故障检测方法落地到运维监控方向,也成为现如今企业在运维监控方向研究的一项重要课题。其方法大致可分为有监督的方法和无监督的方法。
有监督方法依赖于使用有标记的训练数据来准确地识别以前发生过的已知异常。无监督的方法不需要有标签的训练数据来发现问题,更适合现有大规模未标注训练数据的模型训练工作。
针对运维领域中的异常监控,因为存在大量未知数据且规则需要不断更新,如果标注数据需耗费大量的人力,无监督的方法更适合当前的运维监控领域的异常检测。
而目前,在结合机器学习和数据技术来实现信息系统运维监控的异常识别方面,多采用基于密度的异常点检测方法,其中LOF算法(Local Outlier Factor,局部离群因子检测方法)是代表性的算法。该算法会给数据集中的每个点计算一个离群因子LOF,通过判断LOF是否接近于1来判定是否为离群因子。
传统LOF算法通过判断局部离群因子LOF的值探测异常,模型适用于基于不同密度的数据集,泛化能力差。另外,算法训练阶段对每个训练样本进行哈希运算,时间复杂度为w*O(n),w为常数,与弱分类器的数量线性相关,测试阶段对每个点进行测试,时间复杂度为O(n),整个过程的时间复杂度与样本数量线性相关;LOF算法在检测过程中需要遍历数据集计算每个点的LOF值,时间复杂度随样本数量呈指数级增长,为O(n2);由于样本正常点的数量一般远远多于异常点的数量,而LOF方法通过比较所有数据点的LOF值判断离群程度,浪费了大量空间资源,造成时间成本太高,除非加大物理设备投入,否则将无法及时快速的产生准确告警,对信息系统运维造成困扰,同时由于中间结果的存储而浪费空间资源。详见图1所示的流程图。
现有技术的缺点在于,算法复杂,产生了大量没必要的计算,运算速度慢,造成时间成本太高,耗用多余的存储空间资源。
发明内容
为了克服现有技术中存在的技术缺陷,提高异常检测的效率,降低时间成本,更加快速、有效、低成本的实现异常检测,本发明提供一种基于机器学习的多指标异常检测方法及其应用系统。
一方面,提供一种基于机器学习的多指标异常检测方法,所述方法包括如下步骤:
S101,准备数据格式如下的数据集D,包含n条数据,每条数据包含d个维度(d≥2),每个维度均为任意大小的数值。
指标1 | 指标2 | … | 指标d | |
1 | ||||
2 | ||||
… | ||||
n |
S102,确定弱学习器的数量M,以及每个弱学习器所需要的训练样本的数量s(一般推荐min{1000,n});
S103,针对每个弱学习器进行数据训练及所得分数值情况,最终得到每个弱学习器的评价结果;
S104,检测M个学习器最终评分,对数据集D中的每条数据在M个弱学习器评分进行求和平均,该方法定义为RSHash,其最终的分数计算方式如下::
其中,使用i表示任意一条数据,j表示任意一个弱学习器,Scorej(i)表示第j个弱学习器下第i条数据对应的分数,min{1000,n}表示1000和n之中较小的数值;
S105,根据评分进行排序并确定异常点,数据集D通过评分过程后,每条数据的最终评分代表该条数据是异常点的可能性,评分越高,该条数据是异常点的可能性越大。
更进一步地,通过对上述评分分数进行排序并获得评分最高的η%数据作为异常点,η%为分位比,定义评分分数由大到小排序后第η%的评分分数为分位点,该分位点为异常判定的阈值,评分超过阈值的数据即为异常点;由数据集D经过上述步骤得到的M个弱学习器和异常阈值可以作为异常检测器,同类型的数据可直接通过所述M个弱学习器得到最终评分,通过与异常阈值进行比较判定异常。η%依赖于人工设定,η%越大,异常检测越灵敏,检测到的异常点越多;反之,异常点越少。
更进一步地,所述步骤S103包括:模型训练阶段和检测分数评价阶段。
更进一步地,所述模型训练阶段包括以下步骤:
S201,对于每个弱学习器构建均匀分布并生成局部参数;根据训练样本的数量s构建均匀分布从此均匀分布中运用随机数生成方法随机生成一个整数作为局部参数f,f的范围为/>
S202,对于每个弱学习器生成随机向量和偏置参数;根据步骤S201生成的局部参数f构建均匀分布Unif(0,f),从此均匀分布中运用随机数生成方法随机生成d个随机数,形成一个d维随机向量α=(α1,α2,...,αd),0<αi<f,0≤i≤d,d为原始数据的维度,这个d维的随机向量α作为偏置参数,第i维的偏置参数为αi;
S203,对于每个弱学习器随机选出子维度集合;根据步骤S201生成的局部参数构建均匀分布Unif(1+0.5*logmax(2,1/f)(s),0.5*logmax(2,1/f)(s)),从此均匀分布中运用随机数生成方法随机生成一个整数r,1+0.5*logmax(2,1/f)(s)<r<0.5*logmax(2,1/f)(s),并从数据集D中随机选R个维度的数据作为子维度集合V,当r的值大于数据集D的维度d时,则选取所有维度,即R的值为min{r,d};
S204,对于每个弱学习器采样数据并构建训练集;从数据集D中随机采样s条数据,构建训练集S;
S205,数据归一化;在全部d个维度中针对每个维度j,找到最大值maxj和最小值minj;再对训练集S中的每条数据Xi=(xi1,xi2,...,xid)进行归一化计算:若maxj=minj,则删除该维度j;
S206,计算Xi映射Yi并进行随机性处理,得到随机样本集;根据步骤S205得到的归一化后的数据Xi′=(xi1′,xi2′,...,xid′)构建映射数据Yi=(yi1,yi2,...,yid),将没有在子维度集合V中出现的维度赋值为-1,将包含在子维度集合V中的元素yij赋值为 为向下取整函数,αj为步骤S202所述偏置参数,f为步骤S201所述局部参数。
S207,对于每个弱学习器进行数据训练过程模拟;构建初始化哈希表(置为0),哈希范围为0到p,哈希表的数量为w,5000≤p≤20000,默认为10000,2≤w≤10,默认为4,初始化的哈希表样例如下:
0 | 1 | 2 | ... | p |
0 | 0 | 0 | ... | 0 |
注:第一行为哈希范围,第二行为初始化哈希表。
S208,对于每个弱学习器得到训练结果;a.将每一条数据Yi分别输入w个哈希表对应的w个哈希方程中得到w个计算结果:h1(Yi),h2(Yi),...,hw(Yi),并在对应哈希表的位置累加1;b.对训练集S利用步骤S206处理后的s条数据通过上述a步骤更新后,得到w个训练完成的哈希表;更进一步地,所述检测分数评价阶段包括以下步骤:
S209,对每条数据进行映射转换;对数据集D中的每一条数据X,将其利用训练步骤S206中的方式转化为Y;
S210,对映射集合进行哈希值计算;将Y分别输入w个哈希方程中计算得到计算结果h1(Yi),h2(Yi),...,hw(Yi);
S211,获取每条数据的哈希值并归入哈希表;获取对应哈希值在哈希表中的数值c1,c2,...,cw;
S212,计算Y在当前弱学习器的分数值:
以上基于机器学习的多指标异常检测方法也可以概括为:
1、配置并完成单个学习器的数据训练;2、多个学习器集成,对结果拟合、评价,给出最终得分;
更进一步地,所述步骤1、配置并完成单个学习器的数据训练至少包括:
1.1准备数据集并随机获取样本训练数据;
1.2根据样本数量随机生成局部参数和偏移参数,并随机获取子维度;
1.3对样本数据进行归一化;
1.4训练多个哈希计数器;
1.5获取待测数据;
1.6待测数据在哈希计数器中的映射结果作为得分;
更进一步地,所述步骤2、多个学习器集成,对结果拟合、评价,给出最终得分至少包括:
2.1获取多个学习器的数据;
2.2多个学习器结果拟合,评价,给出最终得分。
更进一步地,所述指标可以选择系统的多个性能指标或系统的数据库指标。
另一方面,提供一种基于机器学习的多指标异常值检测器,其利用上述基于机器学习的多指标异常检测方法进行异常值的检测。
另一方面,提供了一种基于机器学习的多指标异常检测方法的应用系统,所述异常值检测的应用系统包括:数据采集层,用于获取被检测系统的相关运行数据;
数据处理模块,用于对获取的被检测系统的相关运行数据进行加工处理,例如解析、清洗等;
数据存储模块,用于对处理后的数据进行持久化存储;
智能分析引擎,根据告警事件、监控指标及业务数据训练数据模型从而获得系统数据异常。以原始数据为输入,通过设定指标内容和检测模型,通过智能分析引擎实时获取数据异常。所述获得系统数据异常的方法包括上述的基于机器学习的多指标异常检测方法;
查询、告警及展示引擎,其至少包括用于根据数据异常发出相应的告警信息以及提供数据查询的功能模块。
更进一步地,所述被检测系统的相关运行数据至少包括:性能指标,告警事件,业务数据。
本发明实施例提供的技术方案带来的有益效果是:与现有技术相比较,本发明提出了一种极其简单快速的异常值检测器,它依赖于随机散列,散列的随机性体现在分布范围、子空间维度和探测样本三个方面。检测器的复杂性与数据集的大小成线性关系,并且常数因子相对较小。在我们的基准测试结果中,我们发现检测器比大多数竞争检测器快一个数量级,有时比高维方法快两个数量级。异常值检测器只需要几行代码即可实现,需要恒定的空间,并且非常准确。
其中,算法训练阶段对每个训练样本进行哈希运算,时间复杂度为w*O(n),w为常数,与弱分类器的数量线性相关,测试阶段对每个点进行测试,时间复杂度为O(n),整个过程的时间复杂度与样本数量线性相关;同时,RS-hash算法的空间复杂度也是恒定的,与初始化的哈希表大小线性相关。
本发明“一种基于机器学习的多指标异常检测方法”,基于RS-hash的多指标算法,依赖于随机散列,散列的随机性体现在探测分布范围、探测样本和子空间维度三个方面,探测器通过随机局部参数、偏置参数、子维度估计点相关的局部子空间区域的数据分布,并在不同大小的局部子空间上平均这些分布,从而探测异常点,这种随机性保证了探测器的准确性和泛化能力。另外,算法复杂度远低于LOF类算法,探测器的复杂性与数据集的大小成线性关系,并且常数因子相对较小且仅需要恒定空间,因此更为简单快速,可以在数据集和数据流中有效地使用。
附图说明
关于本发明的优点与精神可以通过以下的发明详述及所附图得到进一步的了解。
图1是现有技术中LOF算法整体处理流程图;
图2是本发明所涉及的多指标算法整体处理流程图;
图3是本发明所涉及的单个弱学习器处理流程图;
图4是本发明所涉及的异常值检测方法的应用系统模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种基于机器学习的多指标异常检测方法,该方法基于RS-hash的多指标算法,通过随机局部参数、偏置参数、子维度估计点相关的局部子空间区域的数据分布,并在不同大小的局部子空间上平均这些分布,建立起高效的应用模型,从而探测异常点,算法复杂度远低于LOF类算法,探测器的复杂性与数据集的大小成线性关系,并且常数因子相对较小且仅需要恒定空间,因此更为简单快速,可以在数据集和数据流中有效地使用。
图2是根据一示例性实施例示出的基于机器学习的多指标异常检测方法的多指标算法整体处理流程图,参照图2所示,该检测方法包括如下步骤:
S101,准备数据集D;数据集D为某多指标数据集,包含n条数据,其中第i行对应于第i条数据(1≤i≤n),每条数据包含d个维度(d≥2),每个维度均为任意大小的数值,数据集D样例如下(以下数据指标仅用以说明本发明的技术方案而非对本发明的限制):
指标1 | 指标2 | ... | 指标d | |
1 | 0.20 | 80 | ... | 800 |
2 | 0.50 | 20 | ... | 750 |
... | ... | ... | ... | ... |
n | 0.80 | 50 | ... | 450 |
S102,确定弱学习器的数量M,以及每个弱学习器所需要的训练样本的数量s;弱学习器的数量M由数据集D包含的数据量n和维度d确定,同时弱学习器的数量不宜过多,一般不超过100个,即M的值取100和对loge(n)*loge(d)取整后得到的整数二者中较小的值,此计算方式能有效地遍历数据集D的子空间;每个弱学习器无需作用于整个数据集D,因此s为一个较小的常数,通常设置为1000,若数据集D包含的数据量小于1000,则使用整个数据集D,即s的值为min{1000,n};
S103,针对每个弱学习器进行数据训练及所得分数值情况,最终得到每个弱学习器的评价结果;
S104,检测M个学习器最终评分,对数据集D中的每条数据在M个弱学习器的评分进行求和平均,该方法定义为RSHash,其最终的分数计算方式如下:
其中,使用i表示任意一条数据,j表示任意一个弱学习器,Scorej(i)表示第j个弱学习器下第i条数据对应的分数;
S105,根据评分进行排序并确定异常点,通过对上述评分分数进行排序并获得评分最高的η%数据作为异常点,η%为分位比,定义评分分数由大到小排序后第η%的评分分数为分位点,该分位点为异常判定的阈值,评分超过阈值的数据即为异常点;由数据集D经过上述步骤得到的M个弱学习器和异常阈值可以作为异常检测器,同类型的数据可直接通过所述M个弱学习器得到最终评分,通过与异常阈值进行比较判定异常。
η%依赖于人工设定,η%越大,异常检测越灵敏,检测到的异常点越多;反之,异常点越少,η%推荐为1%~2%。
作为一种较优的实施方式,本发明实施例中,所述步骤S105中,η%取2%,通过对上述评分分数进行排序并获得评分最高的2%的数据作为异常点,2%为分位比,定义评分分数由大到小排序后第2%的评分分数(即评分最高的2%的评分分数中的下限分数)为分位点,该分位点为异常判定的阈值,评分超过阈值的数据即为异常点。
作为一种较优的实施方式,本发明实施例中,所述步骤S103包括:模型训练阶段和检测分数评价阶段。
图3是本发明所涉及的单个弱学习器处理流程图,其描述了单个弱学习器进行数据处理、样本训练和结果评分的过程:
作为一种较优的实施方式,本发明实施例中,所述模型训练阶段包括以下步骤:
S201,对于每个弱学习器构建均匀分布并生成局部参数;根据训练样本的数量s构建均匀分布从此均匀分布中运用随机数生成方法随机生成一个整数作为局部参数f,f的范围为/>
局部参数的作用是生成训练样本的局部子空间,构建此均匀分布可以保证在每次执行弱学习器时,自动测试不同大小样本生成局部参数f的边界:局部参数f采用随机生成的方式是为了保证即使在相同训练样本数量的弱学习器中生成不同的局部子空间,从而学习不同子空间下的数据分布;
S202,对于每个弱学习器生成随机向量和偏置参数;
根据步骤S201生成的局部参数f构建均匀分布Unif(0,f),从此均匀分布中运用随机数生成方法随机生成d个随机数,形成一个d维随机向量α=(α1,α2,...,αd),0<αi<f,0≤i≤d,d为原始数据的维度,这个d维的随机向量α作为偏置参数,第i维的偏置参数为αi。
偏置参数的作用是将同一维度的值映射到相同的范围,消除不同量纲数据对弱学习器性能的影响,映射方式为: 为向下取整函数,xij为第j维度下的第i条原始数据,αj为第j维度下的偏置参数,x′ij为映射后的值,构建此均匀分布可以保证每次在执行弱学习器时,自动测试不同样本大小生成偏置参数的边界0<α<f;偏置参数α采用随机生成的方式是为了保证即使在不同的弱学习器中进行相同维度的采样得到相同的局部子空间,相同的局部子空间也可以映射到不同的范围内;
S203,对于每个弱学习器随机选出子维度集合;根据步骤S201生成的局部参数构建均匀分布Unif(1+0.5*logmax(2,1/f)(s),0.5*logmax(2,1/f)(s)),从此均匀分布中运用随机数生成方法随机生成一个整数r,1+0.5*logmax(2,1/f)(s)<r<0.5*logmax(2,1/f)(s),并从数据集D中随机选R个维度的数据作为子维度集合V,当r的值大于数据集D的维度d时,则选取所有维度,即R的值为min{r,d}。
构建此均匀分布可以保证每次在执行弱学习器时,最优地选取子空间的维度且子空间的维度至少为随机选取整数r是为了在不同的弱学习器中都能准确估计不同分布类型数据的局部密度,保证了弱学习器的多样性且每个弱学习器在对应子空间的学习效果实现局部最优,为后续平均不同子空间的分布从而实现精准检测提供依据;
S204,对于每个弱学习器采样数据并构建训练集;从数据集D中随机采样s条数据,构建训练集S;随机采样保证了探测器在不同分布类型数据上的泛化能力。
S205,对于每个弱学习器在步骤S204得到的训练集S进行归一化操作;在全部d个维度中针对每个维度j,找到最大值maxj和最小值minj;再对训练集S中的每条数据Xi=(xi1,xi2,...,xid)进行归一化计算:若maxj=minj,则删除该维度j;
S206,对于每个弱学习器计算Xi映射Yi并进行随机性处理,得到随机样本集;根据步骤S205得到的归一化后的数据Xi′=(xi1′,xi2′,...,xid′)构建映射数据Yi=(yi1,yi2,...yid),将没有在子维度集合V中出现的维度赋值为-1,将包含在子维度集合V中的元素yij赋值为 为向下取整函数,αj为步骤S202所述偏置参数,f为步骤S201所述局部参数。使用这种处理方式是为了将训练对应子维度集合的数据加以扰动,增强产生子维度空间的随机性;
S207,对于每个弱学习器进行数据训练过程模拟;构建初始化哈希表(置为0),哈希范围为(0,p),哈希表的数量为w,5000≤p≤20000,默认为10000,2≤w≤10,默认为4,初始化的哈希表样例如下:
0 | 1 | 2 | ... | p |
0 | 0 | 0 | ... | 0 |
注:第一行为哈希范围,第二行为初始化哈希表。
S208,对于每个弱学习器得到训练结果;a.将每一条数据Yi分别输入w个哈希表对应的w个哈希方程中得到w个计算结果:h1(Yi),h2(Yi),...,hw(Yi),并在对应哈希表的位置累加1;b.对训练集S利用步骤S206处理后的s条数据通过上述a步骤更新后,得到w个训练完成的哈希表;作为一种较优的实施方式,本发明实施例中,所述检测分数评价阶段包括以下步骤:
S209,对于每个弱学习器对每条数据进行映射转换;对数据集D中的每一条数据X,将其利用训练步骤S206中的方式转化为Y;
S210,对于每个弱学习器对映射集合进行哈希值计算;将Y分别输入w个哈希方程中计算得到计算结果h1(Yi),h2(Yi),...,hw(Yi);
S211,对于每个弱学习器获取每条数据的哈希值并归入哈希表;获取对应哈希值在哈希表中的数值c1,c2,...,cw;
S212,计算Y在当前弱学习器的分数为:
作为一种较优的实施方式,S101中所述数据集D为被检测系统的相关运行数据的样本数据;
作为一种较优的实施方式,提供一种基于机器学习的多指标异常值检测器,其利用上述的基于机器学习的多指标异常检测方法进行异常值的检测。
作为一种较优的实施方式,提供一种基于机器学习的多指标异常检测方法,包括如下步骤:1、配置并完成单个学习器的数据训练;2、多个学习器集成,对结果拟合、评价,给出最终得分;
作为一种较优的实施方式,本发明实施例中,所述步骤1、配置并完成单个学习器的数据训练至少包括:
1.1准备数据集并随机获取样本训练数据;
1.2根据样本数量随机生成局部参数和偏移参数,并随机获取子维度;
1.3对样本数据进行归一化;
1.4训练多个哈希计数器;
1.5获取待测数据;
1.6待测数据在哈希计数器中的映射结果作为得分;
作为一种较优的实施方式,本发明实施例中,所述步骤2、多个学习器集成,对结果拟合、评价,给出最终得分至少包括:
2.1获取多个学习器的数据;
2.2多个学习器结果拟合,评价,给出最终得分。
与现有技术相比较,本发明实施例提供的技术方案带来的有益效果是:第一、算法简单,常数因子相对较小且仅需要恒定空间,因此更为简单快速,可以在数据集和数据流中有效的使用;第二、准确,通过多个学习器集成,对结果的拟合、评价,从而降低单一数据、单个指标、单次评价所可能造成的结果误差,进而提高故障判断的准确性。
图4是根据一示例性实施例示出的一种基于机器学习的多指标异常检测方法的应用系统模块图,参照图4所示,该应用系统包括:
数据采集层,用于获取被检测系统的相关运行数据;
数据处理模块,用于对获取的被检测系统的相关运行数据进行加工,例如解析、清洗等;
数据存储模块,用于对处理后的数据进行持久化存储;
智能分析引擎,根据告警事件、监控指标及业务数据训练数据模型从而获得系统数据异常,以被检测系统的相关运行数据为输入,通过设定指标内容和检测模型,通过智能分析引擎实时获取数据异常。所述获得系统数据异常的方法包括如前实施例所述的基于机器学习的多指标异常检测方法;
查询、告警及展示引擎,其至少包括用于根据数据异常发出相应的告警信息以及提供数据查询的功能模块。
作为一种较优的实施方式,数据采集层分别与数据处理模块及智能分析引擎进行数据通信,
作为一种较优的实施方式,数据处理模块、数据存储模块与智能分析引擎进行双向数据通信;数据处理模块、数据存储模块在处理、分析数据时,可能获取一些智能分析引擎中的数据;这些不一定是多指标的阈值,可以是一些其他分析结果;
作为一种较优的实施方式,智能分析引擎在分析过程中的结果,可以经过数据处理模块处理,然后存储到数据存储模块。
作为一种较优的实施方式,数据采集层中的所述运行数据是指被检测运行过程中实际产生的业务数据;而实施例中基于机器学习的多指标异常检测方法步骤S101中所述数据集D为被检测系统的相关运行数据的样本数据,两者同质;
作为一种较优的实施方式,本发明实施例中,所述用于获取系统的相关数据至少包括:性能指标,告警事件,业务数据。
作为一种较优的实施方式,提供一种高频交易分析检测模型,其至少包括智能分析模块和告警模块,智能分析模块利用上述的基于机器学习的多指标异常检测方法识别和侦测异常交易,并将数据传输给告警模块及时告警。
作为一种较优的实施方式,提供一种智能化运维模型,其至少包括上述基于机器学习的异常检测方法的应用系统。
在实际应用中,运维系统往往监控着大量指标,典型量级可以是万、十万、百万。每一类指标(如每秒交易量)在不同的拓扑层级上都有监控(如全国、省份、城市;又如数据中心、机房、集群、机架);同时存在很多类的指标,包括基础架构类指标(如cpu、io、memory等)。因此在故障发生时,其所在的具体位置通常同时被大量指标监控着,一个故障会出发大量的报警,传统运维无法把同一个故障导致的多个指标的报警归并成一个报警事件。本发明实施例基于机器学习的多指标异常检测方法能够通过训练得到指标间的内在关联模型,当异常发生时,算法模型能帮助运维人员进行更加高效智能地进行故障排查。在实际应用中,我们可以使用到数据库场景中的多指标检测,如:PGA、SGA、缓冲池IO响应时间、内存排序率等,该系统通过对数据库监控指标库中的不同类别的性能监控指标作为多指标异常检测的指标范围,并且使用多种方式展现监控数据和异常检测结果,从而可以直观地展现各性能指标的运行趋势和异常点,方便运维人员跟踪定位异常。又或者在高频交易场景中,可根据交易的类型、属地、金额、渠道等多种属性,以大量历史数据为数据原型,构建多维度的分析检测模型,用于识别和侦测异常交易,及时告警。本发明提出的基于RS-hash的多指标算法复杂度与数据集的大小呈线性关系,并且常数因子相对较小且仅需要恒定空间,因此更为简单快速,可以在当前运维平台的数据集和数据流中有效地使用。
将本发明应用于多系统指标运维监控场景中上千个指标的同时检测,如系统的多个性能指标,CPU、磁盘IO、内存等;如系统的数据库指标,PGA、SGA、缓冲池IO响应时间、内存排序率等。通过对系统指标多次训练,获取数据特征,实现对系统情况异常的预测,根据多指标数据分析异常发生的可能原因,快速发现生产活动中系统异常,尽可能避免生产问题的发生。
需要说明的是:上述实施例提供的基于机器学习的多指标异常检测方法的应用系统应当作一般解释,即该应用系统是指利用了该基于机器学习的多指标异常值检测方法的系统,例如智能化运维系统,高频交易分析检测系统等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本说明书中所述的只是本发明的较佳具体实施例,以上实施例仅用以说明本发明的技术方案而非对本发明的限制。凡本领域技术人员依本发明的构思通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在本发明的范围之内。
Claims (8)
1.一种基于机器学习的多指标异常检测方法,其特征在于,所述方法包括如下步骤:S101,准备数据集D,共有n条数据,d个维度;
S102,确定弱学习器的数量M,以及每个弱学习器所需要的训练样本的数量s;弱学习器的数量M由数据集D包含的数据量n和维度d确定;
S103,针对每个弱学习器进行数据训练及评分,最终得到每个弱学习器的评分结果;
S104,检测M个学习器最终评分,对数据集D中的每条数据在M个弱学习器评分进行求和平均,该方法定义为RSHash,其最终的评分分数计算方式如下:
其中,使用i表示任意一条数据信息,j表示任意一个弱学习器,Scorej(i)表示第j个弱学习器下第i条数据对应的评分分数;
S105,根据评分进行排序并确定异常点,通过对上述评分分数进行排序并获得评分最高的η%数据作为异常点;其中,η%为分位比,定义评分分数由大到小排序后第η%的评分分数为分位点,该分位点为异常判定的阈值,评分超过阈值的数据即为异常点;由数据集D经过上述步骤得到的M个弱学习器和异常阈值可以作为异常检测器,同类型的数据可直接通过所述M个弱学习器得到最终评分,通过与异常阈值进行比较判定异常。
2.如权利要求1所述的基于机器学习的多指标异常检测方法,其特征在于,所述s取值min{1000,n},η%范围为1%~2%。
3.如权利要求1所述的基于机器学习的多指标异常检测方法,其特征在于,所述步骤S103包括:模型训练阶段和检测分数评价阶段。
4.如权利要求3所述的基于机器学习的多指标异常检测方法,其特征在于,所述模型训练阶段包括以下步骤:
S201,构建均匀分布并生成局部参数;根据训练样本的数量s构建均匀分布从此均匀分布中运用随机数生成方法随机生成一个整数作为局部参数f;此均匀分布在每次执行弱学习器时,自动测试不同大小样本生成局部参数f的边界;
S202,生成随机向量和偏置参数;根据步骤S201生成的局部参数f构建均匀分布Unif(0,f),从此均匀分布中运用随机数生成方法随机生成d个随机数,形成一个d维随机向量α=(α1,α2,...,αd),0<αi<f,0≤i≤d,这个d维随机向量α为偏置参数,将同一维度的值映射到相同的范围;
S203,对于每个弱学习器随机选出子维度集合;根据步骤S201生成的局部参数构建均匀分布Unif(1+0.5*logmax(2,1/f)(s),0.5*logmax(2,1/f)(s)),从此均匀分布中运用随机数生成方法随机生成一个整数r,并从数据集D中随机选R个维度的数据作为子维度集合V,R的值为min{r,d};
S204,采样数据并构建训练集;从数据集D中随机采样s条数据,构建训练集S;
S205,对训练数据进行归一化操作;在全部d个维度中针对每个维度j,找到最大值maxj和最小值minj;再对训练集S中的每条数据Xi=(xi1,xi2,...,xid)进行归一化计算:若maxj=minj,则删除该维度j;
S206,得到随机样本集;根据步骤S205得到的归一化后的数据Xi′=(xi1′,xi2′,...,xid′)构建映射数据Yi=(yi1,yi2,...,yid),将没有在子维度集合V中出现的维度赋值为-1,将包含在子维度集合V中的元素yij赋值为0≤i≤s,2≤j≤d,/>为向下取整函数,αj为步骤S202所述偏置参数,f为步骤S201所述局部参数;
S207,数据训练过程模拟;构建初始化哈希表,哈希范围为(0,p),哈希表的数量为w;
S208,得到训练结果;a.将每一条数据Yi分别输入w个哈希表对应的w个哈希方程中得到w个计算结果:h1(Yi),h2(Yi),...,hw(Yi),并在对应哈希表的位置累加1;b.对训练集S利用步骤S206处理后的s条数据通过上述a步骤更新后,得到w个训练完成的哈希表。
5.如权利要求4所述的基于机器学习的多指标异常检测方法,其特征在于,所述步骤207中,哈希范围中p取10000,哈希表的数量w取4。
6.如权利要求3或4所述的基于机器学习的多指标异常检测方法,其特征在于,所述检测分数评价阶段包括以下步骤:
S209,对每条数据进行映射转换;对数据集D中的每一条数据X,将其利用训练步骤S206中的方式转化为Y;
S210,对映射集合进行哈希值计算;将Y分别输入w个哈希方程中计算得到计算结果h1(Yi),h2(Yi),...,hw(Yi);
S211,获取每条数据的哈希值并归入哈希表;获取对应哈希值在哈希表中的数值c1,c2,...,cw;
S212,计算Y在当前弱学习器的分数值:
7.一种基于机器学习的多指标异常检测方法的应用系统,其特征在于,所述系统包括:
数据采集层,用于获取被检测系统的相关运行数据;
数据处理模块,用于对获取的被检测系统的相关运行数据进行加工处理;
数据存储模块,用于对处理后的数据进行持久化存储;
智能分析引擎,根据告警事件、监控指标及业务数据训练数据模型从而获得系统数据异常,以被检测系统的相关运行数据为输入,通过设定指标内容和检测模型,通过智能分析引擎实时获取数据异常;所述获得系统数据异常的方法包括如权利要求1-6任一项所述的检测方法;
查询、告警及展示引擎,其至少包括用于根据数据异常发出相应的告警信息以及提供数据查询的功能模块;
其中,数据采集层分别与数据处理模块、智能分析引擎进行数据通信。
8.根据权利要求7所述的基于机器学习的多指标异常检测方法的应用系统,其特征在于,所述被检测系统的相关运行数据至少包括:监控指标,告警事件,业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200869.XA CN112884167B (zh) | 2019-11-29 | 2019-11-29 | 一种基于机器学习的多指标异常检测方法及其应用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200869.XA CN112884167B (zh) | 2019-11-29 | 2019-11-29 | 一种基于机器学习的多指标异常检测方法及其应用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112884167A CN112884167A (zh) | 2021-06-01 |
CN112884167B true CN112884167B (zh) | 2023-11-10 |
Family
ID=76038577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200869.XA Active CN112884167B (zh) | 2019-11-29 | 2019-11-29 | 一种基于机器学习的多指标异常检测方法及其应用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884167B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017191872A1 (ko) * | 2016-05-04 | 2017-11-09 | 두산중공업 주식회사 | 플랜트 이상 감지 방법 및 시스템 |
CN109829543A (zh) * | 2019-01-31 | 2019-05-31 | 中国科学院空间应用工程与技术中心 | 一种基于集成学习的数据流在线异常检测方法 |
CN109861988A (zh) * | 2019-01-07 | 2019-06-07 | 浙江大学 | 一种基于集成学习的工业控制系统入侵检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668790B2 (en) * | 2006-07-27 | 2010-02-23 | The United States Of America As Represented By The Secretary Of The Navy | System and method for fusing data from different information sources with shared-sampling distribution based boosting |
US9607246B2 (en) * | 2012-07-30 | 2017-03-28 | The Trustees Of Columbia University In The City Of New York | High accuracy learning by boosting weak learners |
-
2019
- 2019-11-29 CN CN201911200869.XA patent/CN112884167B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017191872A1 (ko) * | 2016-05-04 | 2017-11-09 | 두산중공업 주식회사 | 플랜트 이상 감지 방법 및 시스템 |
CN109861988A (zh) * | 2019-01-07 | 2019-06-07 | 浙江大学 | 一种基于集成学习的工业控制系统入侵检测方法 |
CN109829543A (zh) * | 2019-01-31 | 2019-05-31 | 中国科学院空间应用工程与技术中心 | 一种基于集成学习的数据流在线异常检测方法 |
Non-Patent Citations (1)
Title |
---|
基于样本权重更新的不平衡数据集成学习方法;陈圣灵;沈思淇;李东升;;计算机科学(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112884167A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111612039B (zh) | 异常用户识别的方法及装置、存储介质、电子设备 | |
CN110335168B (zh) | 基于gru优化用电信息采集终端故障预测模型的方法及系统 | |
CN109816031B (zh) | 一种基于数据不均衡度量的变压器状态评估聚类分析方法 | |
CN111796957B (zh) | 基于应用日志的交易异常根因分析方法及系统 | |
CN111401785A (zh) | 一种基于模糊关联规则的电力系统设备故障预警方法 | |
CN115237717A (zh) | 一种微服务异常检测方法和系统 | |
CN113537321A (zh) | 一种基于孤立森林和x均值的网络流量异常检测方法 | |
CN114266289A (zh) | 一种复杂装备健康状态评估方法 | |
US20240193035A1 (en) | Point Anomaly Detection | |
Zhang et al. | Robust KPI anomaly detection for large-scale software services with partial labels | |
CN110544047A (zh) | 一种不良数据辨识方法 | |
Gao et al. | Time Series Data Cleaning under Multi-Speed Constraints. | |
Khan et al. | CPLP: An algorithm for tracking the changes of power consumption patterns in load profile data over time | |
Bin | Research on methods and techniques for iot big data cluster analysis | |
CN112884167B (zh) | 一种基于机器学习的多指标异常检测方法及其应用系统 | |
Febriansyah et al. | Outlier detection and decision tree for wireless sensor network fault diagnosis | |
CN112733903B (zh) | 基于svm-rf-dt组合的空气质量监测与告警方法、系统、装置和介质 | |
Huang et al. | Outlier detection method based on improved two-step clustering algorithm and synthetic hypothesis testing | |
CN117705178A (zh) | 风电螺栓信息检测方法、装置、电子设备和存储介质 | |
CN113705920A (zh) | 火电厂用水数据样本集的生成方法和终端设备 | |
Du et al. | Unstructured log oriented fault diagnosis for operation and maintenance management | |
CN117113248B (zh) | 基于数据驱动的燃气气量数据异常检测方法 | |
Xu et al. | [Retracted] Quality Evaluation and Informatization Analysis of Physical Education Teaching Reform Based on Artificial Intelligence | |
Cui et al. | Rough set processing outliers in cluster analysis | |
CN214118451U (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 |