基于跨模态深度度量学习的时序数据异常检测
2022-11-29李海瑛刘秋红
李 娟,李海瑛,边 玲,刘秋红
(河北医科大学,河北 石家庄 050031)
1 引言
时序数据在不同的环境中会涵盖诸多相关信息与属性,譬如网络数据流量节点类别、社交媒体的个人信息、注册时间等数据都可以作为时序数据的属性[1,2]。研究时序数据对定义人体或物品的活动规律具备很强的现实意义,消除异常数据干扰也变得尤为关键[3],也是本文研究的中心内容。
针对异常检测问题,文献[4]采用长短期记忆网络预测数据,推算预测值与真实值的差值,挑选恰当滑动窗口分布建模,按照各差值在现阶段分布概率密度,获得数据异常概率,但该方法不适用于具有周期性变化的数据,适用性差。文献[5]采用多元高斯模型拟合两元特征概率密度分布,引入小时窗口构建修正数据集,在各修正窗口内,利用灰色马尔可夫模型完成数据异常检测过程。因该方法需要定义时间窗口,精准性依赖于参数设置,运算结果容易受到影响。
总结以上内容,根据时序数据异常检测现实需求,本文提出一种基于跨模态深度度量学习的时序数据异常检测方法。组建跨模态深度度量学习模型,运用均值中心度量完善特征空间分布,划分不同数据形态的时序数据,运用核主成分分析方法,检测计算检测数据集主成分方向矢量分布概率,依照概率值大小评估是否包含异常数据,仿真结果表明本文方法具有一定的应用价值。
2 跨模态深度度量学习下时序数据特征聚类
网络数据中包含了多类时序特征,为简化时序数据异常检测复杂度,增强检测效率与精度,设计基于跨模态深度度量学习的时序数据特征聚类方法,跨模态深度度量学习模型如图1所示。
图1 模型整体架构
在特征空间内,不同场景时序数据的间距越大,相似场景混淆的概率越小,优化深度度量学习模型输出特征空间分布形态,对增强数据特征聚类正确率具有积极影响[6]。下面利用均值中心度量策略,优化特征空间分布。
假设d是每个聚类中心之间欧式距离的平方,计算过程描述为
(1)
其中,i、j表示数据类型编码,N是样本点,cik是第i类均值聚类中心矢量的第k维,cjk为第j类均值聚类中心矢量的第k维。
深度度量学习特征分类模型损失函数共有四个部分[7],即交叉熵损失项Ls、均值中心度量损失项Lcm、权重项W和偏置项b。不同项的中心含义依次为:交叉熵损失项可以分离不同类别的样本时序数据;中心度量损失项可在汇聚同类别数据的同时,增大聚类中心之间的最小间距;权重项和偏置项可以避免模型产生过度拟合。将模型损失函数表示成
(2)
其中,λ1、λ2均表示权重指数。若时序数据集合中包含N个样本类别,记作
(3)
xi=[xi1,xi2,…,xia]
(4)
yi=[yi1,yi2,…,yiK]
(5)
其中,a是模型输出特征的维数,xi为输出特征矢量,yi表示和xi相对应的标签矢量。
将式(2)中的交叉熵损失项Ls与均值中心度量损失项Lcm进一步解释为
(6)
(7)
其中,m表示一次训练的样本数量。
为增强式(2)模型特征分类精度,利用随机梯度下降策略进行模型优化[8],Lcm项的xi偏导数和均值聚类中心的更新梯度解析式分别表示成
(8)
(9)
其中,δ(·)为更新函数,n是样本类型序号。
3 核主成分分析下时序数据异常检测
按照时序数据特征归类后,接下来要对不同类型时序数据中的异常部分进行检测分析,提出基于核主成分分析的时序数据异常检测方法。
主成分分析是一种线性特征提取方案,通过协方差矩阵分解初始样本[9,10],挑选前M个最大特征值对应矢量,构成最佳投影矩阵,把数据映射于矩阵内部,可压缩、去噪、消除样本相关性。若输入空间数据为线性不可分状态,就要利用非线性映射把数据安置在线性可分特征空间,再进行主成分分析,同时因为计算过程中,会使用核函数内积运算高维特征空间向量,也可称为核主成分分析。
设定xi∈Rp是p维输入空间的N个样本点,若利用非线性变换φ把Rp投射至特征空间F(Rf),那么φ:Rp→F(Rf),φ(xi)是空间F内相对的样本点。在高维特征空间内进行核主成分分析时,需要计算特征空间内样本协方差矩阵的特征值与特征矢量[11]。如果φ(xi)是被中心化处理后的高维特征空间矢量,则把特征空间的协方差矩阵描述成
(10)
协方差矩阵与特征矢量之间的关联解析式为
Cφv=ov
(11)
其中,o、v依次为矩阵Cφ的特征值与相对的特征矢量。
因为协方差矩阵为实对称[12],所以具备r个标准正交特征矢量,即式(11)拥有r个非零解。但变换策略的多变量,导致无法直接获得式(11)的特征矢量。按照再生核定理,特征矢量v可通过空间F内的样本构成,记作
(12)
将核矩阵描述成
Kα=nλα
(13)
其中,α表示矩阵转换系数。
核矩阵K要通过推算高维特征空间内的向量内积获得,挑选恰当的核函数,就能计算核矩阵的特征值与特征矢量。如果选择与特征值相对的特征向量构成主成分方向矢量,那么时序数据集合的主成分方向矢量为
v=λ1v1+…+λmvm
(14)
其中,λ代表归一化特征值,归一化能确保主成方向矢量的正确性。
根据高维特征空间的主成分分析结果,认定不同状况下时序数据的主成分方向矢量要维持统一,运用主成分方向矢量内积,衡量不同类型时序数据之间的差别,得到
θ=|〈v1,v2〉|
(15)
其中,θ表示不同时序数据之间的差异特征,数字1、2表示数据集编码。
将异常检测算法划分成两部分:训练阶段与检测阶段。训练阶段关键是利用历史时序数据得到数据分布特性,评估分布模型参变量;检测阶段是推算检测数据集合的主成分方向矢量分布概率,按照概率值高低判断是否具备异常数据。
为简化计算步骤,本文仅将首个特征向量看作数据的主成分方向矢量,此刻时序数据集的主成分方向矢量的内积是
(16)
由式(16)可知,主成分方向矢量之间的内积运算同样能够利用核函数方法获得。在数据异常检测时,可把真实时序数据分割为长度是e的数据子集合,各子集相对应一个主成分方向矢量,将其主成分方向矢量均值表示成
(17)
针对时序性数据,一般使用的高维空间分布方法为von Mises Fisher(vMF)分布,能够很好地处理数据的方向特征,完成异常数据筛查。本文采用该方法完成时序数据方向性特征归类,将p维vMF分布的任意向量的概率密度函数记作
Mp(v|k,μ)=cp(k)ekμTv
(18)
式中,μ代表平均向量方向,该值能直接决定数据分布的核心方位,也被称作位置参变量;cp(k)是固定值的系数,具体的计算过程为
(19)
式中,Ip(·)代表修正的p阶贝塞尔函数。
(20)
确定vMF参数后,可利用式(21)算出内积值是η时的主成分矢量,并和门限值ε进行对比,如果p<ε,认定时序数据内包含异常数据。
(21)
4 仿真研究
4.1 仿真设置
为证明本文提出时序数据异常检测方法的优越性,将其与文献[4]滑动窗口法及文献[5]二元特征法进行对比实验,实验平台为深度学习的tensorflow框架,仿真时间周期设定为800ms。
实验分为两部分:时序数据分类和时序数据异常检测性能。时序数据集中包含12463条数据,其中有6792条为训练集数据,用于完成网络训练,有5671条数据作为测试集。
采用均方根误差(Root Mean Square Error,RMSE)与平均绝对误差(Mean Absolute Error,MAE)两个指标作为实验评估标准。RMSE表示观测值和真实值误差的平方和与观测数量比值的平方根,展现出输出值和实际值间的偏差。MAE表示绝对误差均值。
将两个指标计算过程表示为
(22)
(23)
其中,yt、ft依次表示时序数据在t时段的真实值与预测值。
4.2 时序数据分类结果
图2是本文方法与两个对比方法的时序数据分类仿真结果。从图中看出,训练集样本从400条增多至3200条时,滑动窗口法的分类精度从76%上升至93%,二元特征法分类精度从78%上升至94%,本文方法分类精度从88%上升至96%。伴随训练集样本个数的增长,本文方法分类精度始终大于两个文献方法,证明本文方法对不同数据形态的时序数据,都具备优秀的分类效果。样本数量处于400~1200条时,本文方法和两个文献方法的精度差值最高,证明训练样本较少时,本文方法依旧能维持较高的分类精度;两个文献方法在训练网络中产生了过度拟合,致使分类精度较低,无法保证算法应用的稳定性。
图2 三种方法时序数据分类准确率对比
4.3 时序数据异常检测分析
下面对三种方法的异常检测精度进行对比实验,把数据集从600条按一定规律增加至6000条。将不同训练集大小下,数据异常检测均方根误差与平均绝对误差实验结果记作表1。
表1 三种方法数据异常检测误差对比/%
从表1看出,三种方法在样本数量较少时的检测精度并不高,均方根误差与平均绝对误差都很大,但伴随训练样本个数的不断递增,三种方法的检测训练误差均呈现出先高后低的局面,本文方法无论在何种训练数据量情况下,误差水准都低于两个对比方法,显示出其检测性能的可靠性。原因在于,本文方法采用核主成分分析方法,利用主成分方向矢量内积评估不同类型时序数据之间的差异,并运用vMF分布实现异常数据筛查任务。
图3 三种方法异常检测耗时对比
图3是三种方法异常检测的时间消耗,横坐标是训练数据个数,纵坐标是实现异常检测损耗的时间。由图3可知,本文方法的检测耗时最少,滑动窗口法检测过程中的时间函数跳跃性较大,二元特征法的检测时间较为平稳,但耗时量依旧要高于本文方法。
综合以上实验结果来看,本文方法可准确识别不同的时序数据特征,在不同时序数据量下完成高质量异常数据检测,同时具备更优的检测效率,为现实场景下的时序数据研究提供有效参考。
5 结论
面向传统时序数据异常检测的不足,提出一种基于跨模态深度度量学习的时序数据异常检测方法。通过创建跨模态深度度量学习模型划分数据类型,运用核主成分分析策略得到数据的特征表达,评估是否存在异常检数据。该方法检测时效性强、跨模态时序数据分类精度高,拥有广泛的应用空间。下一步会重点探究核函数的选择对异常检测结果准确度的影响,深入完善算法性能。