基于神经网络的异常检测方法与流程

文档序号:31663330发布日期:2022-09-27 23:28阅读:300来源:国知局
基于神经网络的异常检测方法与流程

1.本发明属于数据挖掘技术领域,具体涉及一种基于神经网络的异常检测方法。


背景技术:

2.在大数据的时代,如何挖掘数据中的异常具有重要意义。很多企业采用大数据技术对各类数据进行集中统一分析,高效、有针对性的异常检测算法具有重要意义。
3.异常检测算法的种类多种多样,针对数据分布不同的数据集合,异常检测算法的表现也不同。利用数据样本点之间的距离与密度来检测异常时,如果数据包含较强的时序性,这种方法的表现较差。而待检测数据集合的数量过大,维度过高时,通过数据点之间的距离,来对异常进行检测的算法,会因为计算复杂度过高,被工业界所弃用。而深度学习算法因为模型调优过程较为耗时,并且需要针对不同的场景做出相应的调整,如何能更好的利用这些异常检测算法来对专家标注提供标注辅助,是算法应用层面需要解决的问题。
4.异常检测的应用领域非常广泛。例如网络端口异常攻击、蜂窝网络流量盗取。金融领域的应用有银行欺诈交易、保险欺诈、医保骗局、社交媒体异常关系检测、日志异常检测等,以及在工业界的异常检测,因为应用的广泛,所以异常检测算法更新迭代快,针对不同的场景都有不同的变形,更新迭代快。
5.2004年提出的k近邻算法,通过计算每个数据样本点的k邻近距离,将数据样本分为几个大类,而离类别中心的距离即被定义为数据样本点的异常分数,由此判断数据样本点是否异常,该算法在交通异常情况预测中有较多的应用。2001年提出的单类别的向量机算法,通过对训练数据密度的分布进行建模,建立超球面,把所有正常样本包含于超球面内,将超球面之外的数据点预测为异常数据点,单类别的向量机算法还可应用于图像检索优化。这些方法可以应用对多种场景的异常检测。在时序异常检测领域,使用的算法包括自回归移动平均线以及在此基础上的改进算法,基于自回归移动平均线的优化算法。由周志华于2008年提出的孤立森林算法,通过计算孤立一个样本点所需要的次数,来进行异常值的检测,以及基于孤立森林改进的算法隔离森林。
6.但是目前的异常检测算法中并没有专门针对多维时序数据的算法,因为多维时序数据中存在的时间依赖性,所以传统的基于距离的算法或聚类的异常检测算法无法有效的捕获时序数据中包含的异常,因为算法本身并不会去捕获不同时间步长所包含的时间相关性。并且,在真实场景下获取的多维时间序列数据,往往包含较大的真实噪声,当噪声比较严重时,时间预测模型的效果会受到较大的影响,例如自回归平均值(arma)或lstm编码器解码器算法。另外,在实际应用当中,往往异常检测的需求方可能不仅仅需要检测出相应的异常点,而且要对异常的程度进行分级,而目前针对多维时序异常检测的算法并没有解决这个问题。


技术实现要素:

7.本发明是为了解决上述问题而进行的,目的在于提供一种基于神经网络的异常检
测方法。
8.本发明提供了一种基于神经网络的异常检测方法,用于对多维时序数据中的异常数据进行自动化检测,具有这样的特征,包括以下步骤:步骤1,根据多维时序数据的长短设置长、中、短三个时间窗口长度,将多维时序数据根据时间窗口长度划分为多个时间窗口数据,对于划分后每个时间窗口内的数据,根据时间窗口长度计算相关性矩阵作为对应时间窗口数据的信号矩阵,该信号矩阵用于表示当前时间窗口的信息;
9.步骤2,通过卷积神经网络对信号矩阵中的空间信息进行提取,并对信号矩阵进行编码;
10.步骤3,通过卷积长短记忆神经网络对连续的信号矩阵中包含的时序信息进行提取,并添加到编码后的信号矩阵中;
11.步骤4,将编码后的信号矩阵通过卷积神经网络与卷积长短记忆神经网络进行解码得到还原矩阵,对还原矩阵与原始的信号矩阵计算重建误差,并设定阈值,将重构误差大于阈值的信号矩阵内的对应数据判定为异常数据。
12.在本发明提供的基于神经网络的异常检测方法中,还可以具有这样的特征:其中,步骤1中构建信号矩阵的具体过程如下:根据多维时序数据的时间长短选取时间窗口长度为w进行划分,划分后的每个时间窗口内分别对应有时间窗口数据,对于时间段t-w到t时刻的数据,xi,xj分别为样本点x的第i维特征与第j维特征,通过内积构造一个n*n的信号矩阵,信号矩阵的计算公式如下:
[0013][0014]
在本发明提供的基于神经网络的异常检测方法中,还可以具有这样的特征:其中,步骤2中,对于卷积神经网络,设定x
l-1
为第(l-1)层,w
l
为第l层的参数权重,b
l
为第l层的偏执项,则第l层的计算公式如下:
[0015]
x
l
=f(w
l
*x
l-1
+b
l
)
ꢀꢀꢀ
(2)。
[0016]
在本发明提供的基于神经网络的异常检测方法中,还可以具有这样的特征:其中,步骤3中,对于卷积长短记忆神经网络,z
t,l
为第l层需保留信息,r
t,l
为需要重置信息,c
t,l
为传递信息,output为o
t,l
,h
t,l
为第l层输出的隐藏信息,计算公式如下:
[0017][0018][0019][0020][0021][0022]
在本发明提供的基于神经网络的异常检测方法中,还可以具有这样的特征:其中,步骤4中,通过卷积神经网络与卷积长短记忆神经网络的反卷积层对编码后的信号矩阵进行解码时,对除最后一层外的反卷积层添加残差连接,计算公式如下:
[0023][0024]
在本发明提供的基于神经网络的异常检测方法中,还可以具有这样的特征:其中,步骤4中,将解码后的还原矩阵与原始输入的信号矩阵进行对比,并根据损失函数计算公式计算重构误差,计算公式如下:
[0025]
loss
auto
(x)=(x
input-x
restructure
)
ꢀꢀꢀ
(9)
[0026]
公式(9)中,x
input
为原始输入的信号矩阵,x
restructure
为解码后的还原矩阵。
[0027]
发明的作用与效果
[0028]
根据本发明所涉及的一种基于神经网络的异常检测方法,通过卷积神经网络与卷积长短记忆神经网络进行结合实现对多维时序数据异常的检测,利用多维时序数据中蕴含的内在相关性构建多维信号矩阵来表示一段时间内的数据变化,再通过卷积神经网络和卷积长短记忆神经网络分别对信号矩阵的空间信息和时序信息进行提取,最后通过反卷积层将提取的信息进行解码,对比输入的信号矩阵获得重构误差,通过重构误差的大小实现异常端到端的检测模型。本发明能够对多维时序数据的时序行进行提取,有效的检测多维时序数据中的异常,降低数据中包含的噪声影响,并且相较于传统的异常检测算法,有更高的准确率与适用性,可应用于工业生产、金融风控中的异常检测领域。
附图说明
[0029]
图1是本发明的实施例中一种基于神经网络的异常检测方法的流程示意图;
[0030]
图2是本发明的实施例中一种基于神经网络的异常检测方法的模型示意图;
[0031]
图3是本发明的实施例中异常检测结果的示意图;
[0032]
图4是本发明的实施例中异常检测准确率的对比结果图;
[0033]
图5是本发明的实施例中异常检测召回率的对比结果图。
具体实施方式
[0034]
为了使本发明实现的技术手段与功效易于明白了解,以下结合实施例及附图对本发明作具体阐述。
[0035]
《实施例》
[0036]
图1是本发明的实施例中一种基于神经网络的异常检测方法的流程示意图。
[0037]
如图1所示,本实施例中的一种基于神经网络的异常检测方法用于对多维时序数据中的异常数据进行自动化检测,包括以下步骤:
[0038]
步骤1,根据多维时序数据的长短设置长、中、短三个时间窗口长度,将多维时序数据根据时间窗口长度划分为多个时间窗口数据,对于划分后每个时间窗口内的数据,根据时间窗口长度计算相关性矩阵作为对应时间窗口数据的信号矩阵,该信号矩阵用于表示当前时间窗口的信息。
[0039]
步骤1中构建信号矩阵的具体过程如下:根据多维时序数据的时间长短选取时间窗口长度为w进行划分,本实施例中,长、中、短时间分别默认为30、10、3,划分后的每个时间窗口内分别对应有时间窗口数据,对于时间段t-w到t时刻的数据,xi,xj分别为样本点x的第
i维特征与第j维特征,通过内积构造一个n*n的信号矩阵,信号矩阵的计算公式如下:
[0040][0041]
步骤2,通过卷积神经网络对信号矩阵中的空间信息进行提取,并对信号矩阵进行编码。
[0042]
步骤2中,对于卷积神经网络,设定x
l-1
为第(l-1)层,w
l
为第l层的参数权重,b
l
为第l层的偏执项,则第l层的计算公式如下:
[0043]
x
l
=f(w
l
*x
l-1
+b
l
)
ꢀꢀꢀ
(2)。
[0044]
步骤3,通过卷积长短记忆神经网络(convlstm)对连续的信号矩阵中包含的时序信息进行提取,并添加到编码后的信号矩阵中。
[0045]
步骤3中,对于卷积长短记忆神经网络,z
t,l
为第l层需保留信息,r
t,l
为需要重置信息,c
t,l
为传递信息,output为o
t,l
,h
t,l
为第l层输出的隐藏信息,计算公式如下:
[0046][0047][0048][0049][0050][0051]
步骤4,将编码后的信号矩阵通过卷积神经网络与卷积长短记忆神经网络进行解码得到还原矩阵,对还原矩阵与原始的信号矩阵计算重建误差,并设定阈值,将重构误差大于阈值的信号矩阵内的对应数据判定为异常数据。
[0052]
步骤4中,通过卷积神经网络与卷积长短记忆神经网络的反卷积层对编码后的信号矩阵进行解码时,对除最后一层外的反卷积层添加残差连接,计算公式如下:
[0053][0054]
步骤4中,将解码后的还原矩阵与原始输入的信号矩阵进行对比,并根据损失函数计算公式计算重构误差,计算公式如下:
[0055]
loss
auto
(x)=(x
input
x
restructure
)
ꢀꢀꢀ
(9)
[0056]
公式(9)中,x
input
为原始输入的信号矩阵,x
restructure
为解码后的还原矩阵。
[0057]
图2是本发明的实施例中一种基于神经网络的异常检测方法的模型示意图。
[0058]
如图2所示,本实施例的一种基于神经网络的异常检测方法的模型主要包括卷积层、convlstm层以及反卷积层三部分,数据经过模型处理过程如下:待检测的多维时序数据经过构建得到信号矩阵后,信号矩阵分别经过卷积神经网络的卷积层提取空间信息、经过卷积长短记忆神经网络(convlstm)提取时序信息,根据提取到的空间信息和时序信息进行编码后的信号矩阵经过卷积神经网络和卷积长短记忆神经网络的反卷积层进行重构,重构后与原始的信号矩阵进行对比,根据损失函数计算公式计算均方误差作为重构误差,并设
定阈值θ,将重构误差大于阈值θ的信号矩阵内的对应数据判定为异常数据。
[0059]
本实施例中,使用北京空气质量数据集,并在测试数据中随机添加相应异常数据进行实验来验证本发明方法的有效性,图3是本发明的实施例中异常检测结果的示意图。
[0060]
如图3所示,图中竖直标注部分即为检测出的时间序列异常,通过该实验验证了本发明的基于神经网络的异常检测方法可以捕获多维时间序列数据中的空间特征以及时序信息,从而有效地检测出测试数据的异常。
[0061]
本实施例中,还将本发明的基于神经网络的异常检测方法与当前主流的时序检测模型进行对比,图4是本发明的实施例中异常检测准确率的对比结果图,图5是本发明的实施例中异常检测召回率的对比结果图。
[0062]
如图4所示,本发明在测试数据中的检测准确率高达86%,明显优于arma(62%)及lstm(75%)自编码器算法。此外,如图5所示,本发明在测试数据中的检测召回率高达82%,也明显优于arma(58%)及lstm(69%)自编码器算法。因此,本发明在异常检测的准确率及召回率上均有明显的改善。
[0063]
在多维时序数据的异常检测当中,时序相关矩阵编码器的效果好于基于密度与分类算法,相对比与时序算法arma来说,本发明对异常的检测效果更加稳定,相对于基于lstm的时序异常检测算法,本发明在数据集上的算法检测效果更好,有着更好的应用前景。
[0064]
实施例的作用与效果
[0065]
根据本实施例所涉及的一种基于神经网络的异常检测方法,通过卷积神经网络与卷积长短记忆神经网络进行结合实现对多维时序数据异常的检测,利用多维时序数据中蕴含的内在相关性构建多维信号矩阵来表示一段时间内的数据变化,再通过卷积神经网络和卷积长短记忆神经网络分别对信号矩阵的空间信息和时序信息进行提取,最后通过反卷积层将提取的信息进行解码,对比输入的信号矩阵获得重构误差,通过重构误差的大小实现异常端到端的检测模型。本实施例能够对多维时序数据的时序行进行提取,有效的检测多维时序数据中的异常,降低数据中包含的噪声影响,并且相较于传统的异常检测算法,有更高的准确率与适用性,可应用于工业生产、金融风控中的异常检测领域。
[0066]
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1