CN110674882A - 一种基于傅立叶函数变换的异常点检测方法 - Google Patents

一种基于傅立叶函数变换的异常点检测方法 Download PDF

Info

Publication number
CN110674882A
CN110674882A CN201910931124.4A CN201910931124A CN110674882A CN 110674882 A CN110674882 A CN 110674882A CN 201910931124 A CN201910931124 A CN 201910931124A CN 110674882 A CN110674882 A CN 110674882A
Authority
CN
China
Prior art keywords
cluster
data set
data
abnormal
distance
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.)
Pending
Application number
CN201910931124.4A
Other languages
English (en)
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.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN201910931124.4A priority Critical patent/CN110674882A/zh
Publication of CN110674882A publication Critical patent/CN110674882A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于傅立叶函数变换的异常点检测方法,该方法具体包括以下步骤:第一步,将原始数据集进行聚类操作;第二步,计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简;第三步,对剩余数据集进行傅立叶变换,利用回归方程将离散值连续化。第四步,进行傅立叶变换后的数据与标准正余弦函数进行相似度对比,找出异常数据。本发明的有益效果是:本发明可以有效的提高异常点检测算法的准确率,能大幅度减少异常检测过程中的实际数据量,从而节省了很多计算资源,并且提高了异常检测效率。本发明在聚类和数据化分析的步骤下能够解决异常检测中的一些过拟合问题。增强了异常检测算法的鲁棒性。

Description

一种基于傅立叶函数变换的异常点检测方法
技术领域
本发明涉及一种异常点检测方法,具体为一种基于傅立叶函数变换的异常点检测方法,属于异常点检测方法应用技术领域。
背景技术
目前,最接近的现有技术:在常用的异常点检测算法中,有很多经典的算法,它们从不同的角度切入进行异常检测,基于神经网络的一类支持向量机的异常检测利用点与点之间空间欧氏距离的计算得到最小化的间隔,以此确定出相应的支持向量,然后在约束条件下通过目标函数最大化两支持向量之间的距离,由此可确定出分离超平面达到异常检测的目的。当然上述方法是以线性可分数据集为模型进行处理,由此衍生出对于非线性可分数据集进行处理的核方法。在对于异常点的认识上一般以出现概率较低,出现区域为数据点稀疏区域,出现位置信息为数据集边缘为特征,所以基于此的稀疏表达处理,区域密度值的计算,数据或图像的边缘信息检测都是一些具体的相关技术。对于如何进行异常检测的过程,有许多不同的方法,有将标签作为主要的区分标准的算法,有将位置和密度信息作为主要区分标准的算法,还有将数据具体参数数值作为区分标准的算法。
现有技术为了提高异常点检测算法效率,对传统的机器学习方法进行了改进,并且从深度学习框架下进行了探索。下面介绍异常点检测算法的研究与应用:
现有技术一在进行异常检测的过程是基于传统的SVM方法,自定义了一个异常分数和阈值,当数据异常分数值超过阈值时就标记为0,也即是认为其为异常数据点。此算法有能力捕获数据集的形状,因此对于强非高斯数据有更加优秀的效果,严格来讲一分类的SVM并不是一个异常点监测算法,而是一个奇异点检测算法:它的训练集不能包含异常样本,否则的话,可能在训练时影响边界的选取。
在面对多分类问题时无法直接进行有效处理。在处理线性不可分情况时会采用核方法,在选择核方法不当的情况下会造成数据失真的情况产生。
现有技术二基于高斯分布的异常检测算法,在很多场景中被广泛使用。其算法的核心思想是:给定一个m*n维训练集,将训练集转换为n维的高斯分布,通过对m个训练样例的分布分析,得出训练集的概率密度函数,即得出训练集在各个维度上的数学期望μ和方差σ2,并且利用少量的Cross Validation集来确定一个阈值ε。当给定一个新的点,根据其在高斯分布上算出的概率,及阈值ε,判断当p<ε判定为异常,当p>ε判定为非异常。
在对于将非高斯分布的数据集进行异常检测时,会进行数据的转换,此过程会大幅提升算法的时间复杂度,并且会将原有的异常数据一起转换,之后在进行异常检测过程形成对异常数据的二次操作,容易产生过拟合的状况。
现有技术三鉴于时间序列数据具有周期性(seasonal)、趋势性(trend),异常检测时不能作为孤立的样本点处理;故而Twitter的工程师提出了S-ESD(Seasonal ESD)与S-H-ESD(Seasonal Hybrid ESD)算法,将ESD扩展到时间序列数据。S-ESD算法用中位数(median)替换掉趋势分量;余项计算公式X为原时间序列数据,Sx为STL分解后的周期分量,
Figure BDA0002218251750000022
为X的中位数。由于个别异常值会极大地拉伸均值和方差,从而导致S-ESD未能很好地捕获到部分异常点,召回率偏低。为了解决这个问题,S-H-ESD采用了更具鲁棒性的中位数与绝对中位差进行替换。
此算法面对数据集过于单一化和规律化,再对于非时间序列数据时产生的效果并不理想。
现有技术四IForest是目前异常点检测最常用的算法之一,它的优点非常突出,它具有线性时间复杂度。因为是随机森林的方法,所以可以用在含有海量数据的数据集上面。通常树的数量越多,算法越稳定。由于每棵树都是互相独立生成的,因此可以部署在大规模分布式系统上来加速运算。
但是IForest也有一些缺点,比如不适用于特别高维的数据。由于每次切数据空间都是随机选取一个维度和该维度的随机一个特征,建完树后仍然有大量的维度没有被使用,导致算法可靠性降低。IForest仅对即全局稀疏点敏感,不擅长处理局部的相对稀疏点,这样在某些局部的异常点较多的时候检测可能不是很准。
现有技术五基于统计的方法检测出来的离群点很可能被不同的分布模型检测出来,但产生这些离群点的机制可能不唯一,解释离群点的意义时经常发生多义性。基于统计的方法在很大程度上依赖于待挖掘的数据集是否满足某种概率分布模型,模型的参数、离群点的数目等对基于统计的方法都有非常重要的意义,而确定这些参数通常都比较困难。
基于统计的异常检测方法产生离群点的机制不统一,并且所对应的概率分布模型也不统一,造成对于参数的确定十分困难,也就会导致算法的鲁棒性很低。
现有技术六基于距离的离群点,他们把记录看作高维空间中的点,离群点被定义为数据集中与大多数点之间的距离都大于某个阈值的点,通常被描述为DB,数据集T中一个记录0称为离群点,当且仅当数据集T中至少有pct部分的数据与0的距离大于d min。记M=N*(1-pct),离群检测即判断与点0距离小于d min的点是否多于M。若是则0不是离群点,否则0是离群点。
在对于异常点的确定过程中判断依据或者说标签化信息过少,对比信息不够明确,异常判定依据不足,会造成边缘数据点、信息模糊化的数据点形成较大规模的误判,算法整体鲁棒性较低。
现有技术七提出的基于局部离群因子的异常检测算法LOF是基于密度方法的一个典型例子。它首先产生所有点的MinPts邻域及MinPts距离,并计算到其中每个点的距离;对低维数据,利用网格进行K-NN查询,计算时间为O(n);对中维或中高维数据,采用如X2树等索引结构,使得进行K2NN查询的时间为O(logn),整个计算时间为O(n log n);对特高维数据,索引结构不再有效,时间复杂度提高到O(n2)。然后计算每个点的局部异常因子,最后根据局部异常因子来挖掘离群。
该算法缺少对于原始数据集的预处理,特别是对于高维数据集未进行预处理会大大提高异常检测过程的时间,增加了算法的时间复杂度。
现有技术八提出了TRAOD算法.该算法迹划分成线段,以线段表示轨迹局部特征(本为基本比较单元),然后使用线段Hausdorf算每两个线段之间的距离以表示其间的从而确定异常轨迹.此外,为了提高算法效RAOD中还给出了一种二阶段划分方法来提效率,即先将轨迹划分成粗粒度的轨迹片段的起始点和终点的连线表示其局寻找异常的粗粒度轨迹片段;然后再将异常度轨迹片段进行线段划分,寻找其中的异常RAOD很好地解决了长轨迹之间不匹配性。
在面对非线性可分数据或者说数据集中度较高的数据时不易进行数据分析和异常检测过程。
传统的异常点检测算法如一类神经网络算法等并没有对于原始数据集进行具体的一些预处理操作,基本是采用矩阵化或向量化整个数据集,并且对于数据检测时也是采用完全遍历整个数据集,这样会造成在异常检测过程中对于正常数据点的检测冗余。在异常检测之前应该以一定的方法来减少所要面对的数据检测的数据量,由于主要针对大型数据集进行异常点检测,非异常数据的数据量大幅锐减可以提高检测效率,并且还会增强鲁棒性。
在对处于边缘点和两个子空间相交的面上的异常点没有更好的处理,现有的算法在进行对于数据二分类问题时,例如传统的SVM算法,它采用以超平面最大化支持向量间隔的方式来进行数据的二分类,它有可能会造成将正常数据加入到异常数据集中,很多数据会产生模糊化操作,缺乏更为具体和严谨的异常检测标准,因此对于一些传统的异常检测算法在基于数据处理跟异常过程检测并没有很好地鲁棒性。
传统异常检测算法未对数据进行标签化处理,再对于医学图像的异常点问题分析上,可以将所有人分为正常人和病人,将病人的数据作为异常点数据。在病人数据和正常人数据的比较之中不仅仅只依赖数据的稀疏性和边缘性,还可以通过一些病理特征作为标签再结合上述信息进行异常结果分析,这样可以能够提高异常检测的准确率。
综上所述,现有技术存在的问题是:
(1)现有技术未对原始数据集进行稀疏表达,造成在异常检测过程中对于正常数据点的检测冗余。
(2)现有技术在对处于边缘点和两个子空间相交的面上的异常点没有更好的处理,造成将正常数据加入到异常数据集中,很多数据会产生模糊化操作,缺乏更为具体和严谨的异常检测标准;没有很好地鲁棒性。
(3)传统异常检测算法未对数据进行标签化处理。
解决上述技术问题的难度:
在对于原始数据集数据量较大维度较高的情况下,直接对于原始数据集进行异常检测工作,会造成原始数据集中非异常数据较为集中的部分多次进行异常检测过程,由此造成大量浪费计算资源和花费检测时间,会大大提升算法的时间复杂度和空间复杂度。传统降维算法PCA,特征值分解等也会有大量的数据计算部分,在处理维度很高的数据集时也会捉襟见肘,不易实现。在进行标签化处理过程中,重点在于标签所对应特征的选择,如何选择合适的特征信息作为分类依据,需要进行对比筛选,找到正负样本之间差距最大的特征信息作为分类标签依据。在面对非线性可分数据信息时,直接进行分类会造成部分处于边界的数据丢失,损失掉数据集的完备性。
解决上述技术问题的意义:
大大的降低异常检测算法的时间复杂度和空间复杂度,提升了异常检测算法的鲁棒性。
发明内容
本发明的目的就在于为了解决上述的问题,而提出一种基于傅立叶函数变换的异常点检测方法。
本发明的目的可以通过以下技术方案实现:一种基于傅立叶函数变换的异常点检测方法,该方法具体包括以下步骤:
第一步,将原始数据集进行聚类操作;
第二步,计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简;
第三步,对剩余数据集进行傅立叶变换,利用回归方程将离散值连续化;
第四步,对变换完成后的数据集与标准正余弦函数作对比进行异常检测;
所述第一步将原始数据集进行聚类操作的具体步骤为:
步骤一:输入N个模式样本{xi,i=1,2,…N},预选Nc个初始聚类中心
Figure BDA0002218251750000071
预选的初始聚类中心数目小于等于所要求的聚类中心的数目,预选:K=预期的聚类中心数目;
θn=每一聚类域中最少样本数目,若少于此数即不作为一个独立的聚类;
θs=一个聚类域中样本距离分布的标准差;
θc=两个聚类中心间的最小距离,若小于此数,两个聚类则进行合并;
L=在一次迭代运算中可以合并的聚类中心的最多对数;
I=迭代运算的次数;
步骤二:将N个模式样本分给最近的聚类Sj,若Dj=min{||x-zi||,i=1,2,…Nc},Dj表示的是聚类中心与非中心点的最小距离,即||x-zj||的距离最小,则x∈Sj
步骤三:当Sj中的样本数目Sj<θn,则取消该样本子集,此时Nc减去1;
步骤四:修正各聚类中心:
Figure BDA0002218251750000072
步骤五:计算各聚类域Sj中模式样本与各聚类中心间的平均距离:
Figure BDA0002218251750000073
步骤六:计算全部模式样本和其对应聚类中心的总平均距离:
Figure BDA0002218251750000074
步骤七:判别分裂、合并及迭代运算,判断步骤为:
S1:若迭代运算次数已达到I次,即最后一次迭代,则置θc=0,转至步骤十一:
S2:若即聚类中心的数目小于或等于规定值的一半,则转至步骤八,对已有聚类进行分裂处理;
S3:若迭代运算的次数是偶数次,或Nc≥2K,不进行分裂处理,转至步骤十一,否则,转至步骤八,进行分裂处理;
步骤八:计算每个聚类中样本距离的标准差向量,计算公式为:
σj=(σ1j,σ2j,…,σnj)T
其中,向量的各个分量为:
Figure BDA0002218251750000082
式中,i=1,2,…,n为样本特征向量的维数,j=1,2,…,Nc为聚类数,Nj为Sj中的样本个数;
步骤九:求每一标准差向量{σj,j=1,2,…,Nc}中的最大分量,以{σjmax,j=1,2,…,Nc}代表;
步骤十:在任一最大分量集{σjmax,j=1,2,…,Nc}中,若有σjmax>θs,同时又满足如下两个条件之一:
一、
Figure BDA0002218251750000083
和Nj>2(θn+1),即Sj中样本总数超过规定值一倍以上;
二、
Figure BDA0002218251750000084
则将Zj分裂为两个新的聚类中心和,且Nc加1;
其中,对应于σjmax的分量加上kσjmax;其中,对应于σjmax的分量减去kσjmax;如果本步骤完成了分裂运算,则转至步骤二,否则继续;
步骤十一:计算全部聚类中心的距离:
Dij=||zi-zj||,i=1,2,…,Nc-1,j=i+1,…,Nc
步骤十二:比较Dij与θc的值,将Dij<θc的值按最小距离次序递增排列,即
{Di1j1,Di2j2,…DiLjL}
Di1j1<Di2j2<…<DiLjL
步骤十三:将距离为Dikjk的两个聚类中心Zik和Zjk合并,得新的中心为:
式中,被合并的两个聚类中心向量分别以其聚类域内的样本数加权,使
Figure BDA0002218251750000095
为真正的平均向量;
步骤十四:若是最后一次迭代运算,则算法结束;否则,若需要操作者改变输入参数,转至步骤一;若输入参数不变,转至步骤二;在本步运算中,迭代运算的次数每次加1。
本发明的进一步技术改进在于:所述第二步计算子簇区域密度,以区域密度一定比例作为阈值将数据集进行精简的具体步骤包括;
步骤(1):以聚类中心为原点一定距离为半径,计算所有子簇相应区域内的密度,给定一定距离dc,统计dc范围内数据点的个数,统计公式:为
Figure BDA0002218251750000092
步骤(2):将区域密度按从大到小顺序排列以区域密度的均值作为阈值,将均值密度插入到区域密度序列,查询出比均值密度数值更大的子数据集,记标签为0;
步骤(3):将标记为0的子数据集去除,减少异常检测数据量。
本发明的进一步技术改进在于:所述第三步对剩余数据集进行傅立叶变换的具体步骤包括;
A:由于周期性函数可以看成很多频率是原函数频率整数倍的正余弦波的叠加,利用欧拉公式则周期为2L的函数f(x)的傅立叶形式为:
Figure BDA0002218251750000101
化简可得:
Figure BDA0002218251750000102
B:对数据信息进行符号替换,
Figure BDA0002218251750000103
C:对数据信息进行极限变换得到
Figure BDA0002218251750000104
Figure BDA0002218251750000105
则得到最终傅立叶变换结果:
Figure BDA0002218251750000106
本发明的进一步技术改进在于:所述第四步对变换完成后的数据集利用标准正余弦函数比较进行异常检测的具体步骤包括;
i:将由傅立叶变换后的数据集规整;
ii:规整后的数据集与标准正余弦函数做比较,同为标准正余弦函数的数据为正常数据,如果与标准正余弦函数差异较大则为异常数据。
与现有技术相比,本发明的有益效果是:
1、本发明可以有效的提高异常点检测算法的准确率,能大幅度减少异常检测过程中的实际数据量,从而节省了很多计算资源,并且提高了异常检测效率。
2、本发明在数据集精简和回归分析的步骤下能够解决异常检测中的一些过拟合问题。增强了异常检测算法的鲁棒性。
本发明在给定数据分类信息时采用与标准正余弦函数比对,给定一定的容错空间,以此来提高算法的鲁棒性。
附图说明
为了便于本领域技术人员理解,下面结合附图对本发明作进一步的说明。
图1是本发明实施例提供的基于傅立叶变换的异常点检测方法流程图。
图2是本发明实施例提供的聚类操作模型图。
图3是本发明实施例提供的精简数据集流程图。
图4是本发明实施例提供的傅立叶变换异常检测示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明为解决在数据量较大维度较高的情况下进行异常点检测的问题;孤立森林异常检测算法是一种相对比较复杂、对计算资源要求相对较高的算法,无论是对计算时间还是对内存空间都有较高的要求。随着现代计算机技术的发展,带来数据量的迅猛增长,且异常点检测过程中常常涉及巨大的数据阵列和大规模的数据运算,对异常点检测算法的效率提出了更高要求。在对于高维数据量较大的情况下,首先使用较好的降维方法减轻计算量对于提高异常点检测效率有很大程度的提高,所以对于高维大数据量数据集进行异常检测的算法是很有必要的。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于傅里叶变换异常点检测方法包括以下步骤:
S101:数据集特征提取并聚类;
S102:计算簇密度均值密度对比进行精简;
S103:傅立叶函数变换;
S104:回归操作连续化离散值;
S105:与标准正余弦函数比较查找异常点。
下面结合附图对本发明的应用原理作进一步的描述。
本发明实施例提供的基于傅里叶变换检测方法具体包括以下步骤:
第一步,将原始数据集进行聚类操作;
第二步,计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简;
第三步,对剩余数据集进行傅立叶变换,利用回归方程将离散值连续化;
第四步,对变换完成后的数据集与标准正余弦函数作对比进行异常检测;
第一步将原始数据集进行聚类操作的具体步骤为:
步骤一:输入N个模式样本{xi,i=1,2,…N},预选Nc个初始聚类中心
Figure BDA0002218251750000123
预选的初始聚类中心数目小于等于所要求的聚类中心的数目,预选:K=预期的聚类中心数目;
θn=每一聚类域中最少样本数目,若少于此数即不作为一个独立的聚类;
θs=一个聚类域中样本距离分布的标准差;
θc=两个聚类中心间的最小距离,若小于此数,两个聚类则进行合并;
L=在一次迭代运算中可以合并的聚类中心的最多对数;
I=迭代运算的次数;
步骤二:将N个模式样本分给最近的聚类Sj,若Dj=min{||x-zi||,i=1,2,…Nc},Dj表示的是聚类中心与非中心点的最小距离,即||x-zj||的距离最小,则x∈Sj
步骤三:当Si中的样本数目Sj<θn,则取消该样本子集,此时Nc减去1;
步骤四:修正各聚类中心:
Figure BDA0002218251750000121
步骤五:计算各聚类域Sj中模式样本与各聚类中心间的平均距离:
Figure BDA0002218251750000122
步骤六:计算全部模式样本和其对应聚类中心的总平均距离:
Figure BDA0002218251750000131
步骤七:判别分裂、合并及迭代运算,判断步骤为:
S1:若迭代运算次数已达到I次,即最后一次迭代,则置θc=0,转至步骤十一;
S2:若
Figure BDA0002218251750000132
即聚类中心的数目小于或等于规定值的一半,则转至步骤八,对已有聚类进行分裂处理;
S3:若迭代运算的次数是偶数次,或Nc≥2K,不进行分裂处理,转至步骤十一,否则,转至步骤八,进行分裂处理;
步骤八:计算每个聚类中样本距离的标准差向量,计算公式为:
σj=(σ1j,σ2j,…,σnj)T
其中,向量的各个分量为:
Figure BDA0002218251750000133
式中,i=1,2,…,n为样本特征向量的维数,j=1,2,…,Nc为聚类数,Nj为Sj中的样本个数;
步骤九:求每一标准差向量{σj,j=1,2,…,Nc}中的最大分量,以{σjmax,j=1,2,…,Nc}代表;
步骤十:在任一最大分量集{σjmax,j=1,2,…,Nc}中,若有σjmax>θs,同时又满足如下两个条件之一:
一、
Figure BDA0002218251750000134
和Nj>2(θn+1),即Sj中样本总数超过规定值一倍以上;
二、
Figure BDA0002218251750000135
则将Zj分裂为两个新的聚类中心和,且Nc加1;
其中,对应于σjmax的分量加上kσjmax;其中,对应于σjmax的分量减去kσjmax;如果本步骤完成了分裂运算,则转至步骤二,否则继续;
步骤十一:计算全部聚类中心的距离:
Dij=||zi-zj||,i=1,2,…,Nc-1,j=i+1,…,Nc
步骤十二:比较Dij与θc的值,将Dij<θc的值按最小距离次序递增排列,即
{Di1j1,Di2j2,…DiLjL}
Di1j1<Di2j2<…<DiLjL
步骤十三:将距离为Dikjk的两个聚类中心Zik和Zjk合并,得新的中心为:
Figure BDA0002218251750000141
式中,被合并的两个聚类中心向量分别以其聚类域内的样本数加权,使
Figure BDA0002218251750000142
为真正的平均向量;
步骤十四:若是最后一次迭代运算,则算法结束;否则,若需要操作者改变输入参数,转至步骤一;若输入参数不变,转至步骤二;在本步运算中,迭代运算的次数每次加1。
第二步计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简的具体步骤包括;
步骤(1):以聚类中心为原点一定距离为半径,计算所有子簇相应区域内的密度,给定一定距离dc,统计dc范围内数据点的个数,统计公式:为
Figure BDA0002218251750000143
步骤(2):将区域密度按从大到小顺序排列以区域密度的均值
Figure BDA0002218251750000144
作为阈值,将均值密度插入到区域密度序列,查询出比均值密度数值更大的子数据集,记标签为0;
步骤(3):将标记为0的子数据集去除,减少异常检测数据量。
第三步对剩余数据集进行傅立叶变换的具体步骤包括;
A:由于周期性函数可以看成很多频率是原函数频率整数倍的正余弦波的叠加,利用欧拉公式则周期为2L的函数f(x)的傅立叶形式为:
Figure BDA0002218251750000151
化简可得:
Figure BDA0002218251750000152
B:对数据信息进行符号替换,
Figure BDA0002218251750000153
C:对数据信息进行极限变换得到
Figure BDA0002218251750000154
Figure BDA0002218251750000155
则得到最终傅立叶变换结果:
Figure BDA0002218251750000156
第四步对变换完成后的数据集利用标准正余弦函数比较进行异常检测的具体步骤包括;
i:将由傅立叶变换后的数据集规整;
ii:规整后的数据集与标准正余弦函数做比较,同为标准正余弦函数的数据为正常数据,如果与标准正余弦函数差异较大则为异常数据。
对于数据量较大的数据集,在使用传统异常点检测算法时会有许多不必要的计算占用计算机CPU计算资源,造成计算效率的降低,并且提高了错误率。基于传统算法所存在的不足,本发明对于原始数据集进行的精简过程相当于正式做异常检测步骤前的数据预处理阶段。孤立森林是一个基于Ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,是符合大数据处理要求的state-of-the-art算法(其可以用于网络安全中的攻击检测,金融交易欺诈检测,疾病侦测,和噪声数据过滤等。子数据集特征处理实质指的是在面对异常数据判断时,不仅仅只考虑数据集密度与距离的问题,还要将一些数据集本身作为异常检测的基准做一个特别详尽的描述信息,将其数据化后作为一个衡量标准。
现有算法大部分只是对密度和距离作为异常检测的基准,而没有将数据集本身所具有的一些特征信息作为相同的判断依据,因此将这两方面结合起来作为异常检测过程的双向基准,可以减少数据分类的错误率,提高算法本身所具有的鲁棒性。
异常检测运用到的领域十分广泛,对于网络安全、信息筛查、有效信息比对等有着十分重要的应用地位。异常检测算法的评价标准有很多,本发明将以异常检测速率和异常度作为主要性能评价信息。本发明的异常检测过程中主要的计算在于密度和傅立叶变换的计算,主要分为两个部分,第一部分是对于簇密度大于原数据集均值密度的每个子数据集进行标签化处理,在进行稀疏表达,精简掉簇密度大于均值密度的子簇以减少傅立叶变换所处理的数据量。第二部分是对于傅立叶变换的计算,对于剩余的数据进行傅立叶变换,将会得到离散的数据点再利用回归方程对其进行离散值连续化,得到连续型数据。再与标准正余弦函数进行对比分析查找异常数据。基于前期的数据预处理大量的减少了需要异常检测过程的数据量,极大地提高了计算速率。在对于异常度的问题上,因为本发明在考虑是否为异常点时不仅仅以其簇密度与均值密度对比作为异常依据,还以该数据傅立叶变换后与标准正余弦函数的相似性作为重要判断依据。以此可以增加算法的鲁棒性及异常检测的准确率。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (4)

1.一种基于傅立叶函数变换的异常点检测方法,其特征在于:该方法具体包括以下步骤:
第一步,将原始数据集进行聚类操作;
第二步,计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简;
第三步,对剩余数据集进行傅立叶变换,利用回归方程将离散值连续化;
第四步,对变换完成后的数据集与标准正余弦函数作对比进行异常检测;
所述第一步将原始数据集进行聚类操作的具体步骤为:
步骤一:输入N个模式样本{xi,i=1,2,…N},预选Nc个初始聚类中心
Figure FDA0002218251740000012
预选的初始聚类中心数目小于等于所要求的聚类中心的数目,预选:K=预期的聚类中心数目;
θn=每一聚类域中最少样本数目,若少于此数即不作为一个独立的聚类;
θs=一个聚类域中样本距离分布的标准差;
θc=两个聚类中心间的最小距离,若小于此数,两个聚类则进行合并;
L=在一次迭代运算中可以合并的聚类中心的最多对数;
I=迭代运算的次数;
步骤二:将N个模式样本分给最近的聚类Sj,若Dj=min{||x-zi||,i=1,2,…Nc},Dj表示的是聚类中心与非中心点的最小距离,即||x-zj||的距离最小,则x∈Sj
步骤三:当Sj中的样本数目Sj<θn,则取消该样本子集,此时Nc减去1;
步骤四:修正各聚类中心:
Figure FDA0002218251740000011
步骤五:计算各聚类域Sj中模式样本与各聚类中心间的平均距离:
步骤六:计算全部模式样本和其对应聚类中心的总平均距离:
Figure FDA0002218251740000022
步骤七:判别分裂、合并及迭代运算,判断步骤为:
S1:若迭代运算次数已达到1次,即最后一次迭代,则置θc=0,转至步骤十一;
S2:若即聚类中心的数目小于或等于规定值的一半,则转至步骤八,对已有聚类进行分裂处理;
S3:若迭代运算的次数是偶数次,或Nc≥2K,不进行分裂处理,转至步骤十一,否则,转至步骤八,进行分裂处理;
步骤八:计算每个聚类中样本距离的标准差向量,计算公式为:
σj=(σ1j,σ2j,…,σnj)T
其中,向量的各个分量为:
Figure FDA0002218251740000024
式中,i=1,2,…,n为样本特征向量的维数,j=1,2,…,Nc为聚类数,Nj为Sj中的样本个数;
步骤九:求每一标准差向量{σj,j=1,2,…,Nc}中的最大分量,以{σjmax,j=1,2,…,Nc}代表;
步骤十:在任一最大分量集{σjmax,j=1,2,…,Nc}中,若有σjmax>θs,同时又满足如下两个条件之一:
一、
Figure FDA0002218251740000031
和Nj>2(θn+1),即Sj中样本总数超过规定值一倍以上;
二、
则将Zj分裂为两个新的聚类中心和,且Nc加1;
其中,对应于σjmax的分量加上kσjmax;其中,对应于σjmax的分量减去kσjmax;如果本步骤完成了分裂运算,则转至步骤二,否则继续;
步骤十一:计算全部聚类中心的距离:
Dij=||zi-zj||,i=1,2,…,Nc-1,j=i+1,…,Nc
步骤十二:比较Dij与θc的值,将Dij<θc的值按最小距离次序递增排列,即
{Di1j1,Di2j2,…DiLjL}
Di1j1<Di2j2<…<DiLjL
步骤十三:将距离为Dikjk的两个聚类中心Zik和Zjk合并,得新的中心为:
Figure FDA0002218251740000033
式中,被合并的两个聚类中心向量分别以其聚类域内的样本数加权,使
Figure FDA0002218251740000034
为真正的平均向量;
步骤十四:若是最后一次迭代运算,则算法结束;否则,若需要操作者改变输入参数,转至步骤一;若输入参数不变,转至步骤二;在本步运算中,迭代运算的次数每次加1。
2.根据权利要求1所述的一种基于傅立叶函数变换的异常点检测方法,其特征在于,第二步计算簇密度和均值密度,以原数据集的均值密度作为阈值,将数据集进行精简的具体步骤包括;
步骤(1):以聚类中心为原点一定距离为半径,计算所有子簇相应区域内的簇密度,给定一定距离dc,统计dc范围内数据点的个数,统计公式:为
Figure FDA0002218251740000041
步骤(2):将簇密度按从大到小顺序排列以簇密度的均值
Figure FDA0002218251740000042
作为阈值,将均值密度插入到簇密度序列,查询出比均值密度数值更大的子数据集,记标签为0;
步骤(3):将标记为0的子数据集去除,减少异常检测数据量。
3.根据权利要求1所述的一种基于傅立叶函数变换的异常点检测方法,其特征在于,所述第三步对剩余数据集进行傅立叶变换的具体步骤包括;
A:利用欧拉公式
Figure FDA0002218251740000043
则周期为2L的函数f(x)的傅立叶形式为:
Figure FDA0002218251740000044
化简可得:
Figure FDA0002218251740000045
B:对数据信息进行符号替换,
Figure FDA0002218251740000046
C:对数据信息进行极限变换得到
Figure FDA0002218251740000047
Figure FDA0002218251740000048
则得到最终傅立叶变换结果:
Figure FDA0002218251740000049
4.根据权利要求1所述的一种基于傅立叶函数变换的异常点检测方法,其特征在于,所述第四步对变换完成后的数据集利用标准正余弦函数比较进行异常检测的具体步骤包括;
i:将由傅立叶变换后的数据集规整;
ii:规整后的数据集与标准正余弦函数做比较,同为标准正余弦函数的数据为正常数据,若与标准正余弦函数差异较大则为异常数据。
CN201910931124.4A 2019-09-27 2019-09-27 一种基于傅立叶函数变换的异常点检测方法 Pending CN110674882A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910931124.4A CN110674882A (zh) 2019-09-27 2019-09-27 一种基于傅立叶函数变换的异常点检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910931124.4A CN110674882A (zh) 2019-09-27 2019-09-27 一种基于傅立叶函数变换的异常点检测方法

Publications (1)

Publication Number Publication Date
CN110674882A true CN110674882A (zh) 2020-01-10

Family

ID=69080000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910931124.4A Pending CN110674882A (zh) 2019-09-27 2019-09-27 一种基于傅立叶函数变换的异常点检测方法

Country Status (1)

Country Link
CN (1) CN110674882A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134862A (zh) * 2020-09-11 2020-12-25 国网电力科学研究院有限公司 基于机器学习的粗细粒度混合网络异常检测方法及装置
CN112766459A (zh) * 2021-01-12 2021-05-07 合肥黎曼信息科技有限公司 一种基于生成器的异常检测方法
CN118277802A (zh) * 2024-03-29 2024-07-02 欧亚高科数字技术有限公司 一种用于麻醉学危机技能虚拟仿真的数据交互方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134862A (zh) * 2020-09-11 2020-12-25 国网电力科学研究院有限公司 基于机器学习的粗细粒度混合网络异常检测方法及装置
CN112134862B (zh) * 2020-09-11 2023-09-08 国网电力科学研究院有限公司 基于机器学习的粗细粒度混合网络异常检测方法及装置
CN112766459A (zh) * 2021-01-12 2021-05-07 合肥黎曼信息科技有限公司 一种基于生成器的异常检测方法
CN112766459B (zh) * 2021-01-12 2024-05-03 合肥黎曼信息科技有限公司 一种基于生成器的异常检测方法
CN118277802A (zh) * 2024-03-29 2024-07-02 欧亚高科数字技术有限公司 一种用于麻醉学危机技能虚拟仿真的数据交互方法

Similar Documents

Publication Publication Date Title
Hsu et al. Ensemble convolutional neural networks with weighted majority for wafer bin map pattern classification
CN111680614B (zh) 一种基于视频监控中的异常行为检测方法
CN114021799A (zh) 风电场日前风电功率预测方法及系统
CN110674882A (zh) 一种基于傅立叶函数变换的异常点检测方法
CN111612041A (zh) 异常用户识别方法及装置、存储介质、电子设备
CN113569920B (zh) 基于自动编码的第二近邻异常检测方法
CN113807418A (zh) 一种基于高斯混合模型的注塑机能耗异常检测方法及系统
CN113537321A (zh) 一种基于孤立森林和x均值的网络流量异常检测方法
CN115269870A (zh) 一种基于知识图谱实现数据中台数据链路故障分类预警的方法
CN112417893A (zh) 一种基于语义层次聚类的软件功能需求分类方法及系统
Li et al. Exploring Feature Selection With Limited Labels: A Comprehensive Survey of Semi-Supervised and Unsupervised Approaches
CN117763305A (zh) 一种计及行为共性的电力时序数据异常检测与修复方法
Mandal et al. Unsupervised non-redundant feature selection: a graph-theoretic approach
Zhang et al. A new outlier detection algorithm based on fast density peak clustering outlier factor.
Yuan et al. CSCIM_FS: Cosine similarity coefficient and information measurement criterion-based feature selection method for high-dimensional data
Liu et al. Unbalanced classification method using least squares support vector machine with sparse strategy for steel surface defects with label noise
CN110942089B (zh) 一种基于多级决策的击键识别方法
CN113705920A (zh) 火电厂用水数据样本集的生成方法和终端设备
Zhou et al. A review of a text classification technique: K-Nearest Neighbor
CN112765148A (zh) 一种基于改进svm多分类的网络入侵检测方法
Wang et al. Tensor voting based similarity matching of wafer bin maps in semiconductor manufacturing
Liu et al. Data cleaning of irrelevant images based on transfer learning
Wu et al. Classification of tumor gene expression data based on manifold learning and gaussian process
Zhang et al. TIM‐Net: A multi‐label classification network for TCM tongue images fusing global‐local features
SU et al. Extended ResNet and Label Feature Vector Based Chromosome Classification

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200110

RJ01 Rejection of invention patent application after publication