【技术实现步骤摘要】
基于能量和镜像生成对抗网络的异常检测方法
[0001]本专利技术涉及机器学习和异常检测
,特别是涉及一种基于镜像生成对抗网络结合能量思想的异常检测方法。
技术介绍
[0002]异常检测是人工智能领域中的一个非常活跃的研究课题,其目的是识别不属于正态数据分布的异常实例,即与大多数其他数据具有显着不同特征的观察值。这些观察结果是如此独特,以至于引起人们怀疑它们是由非法行为或未被发现的错误产生的。在数据集中,正例样本是比较容易获取的,并且正例样本的“模式”往往固定或者不多变的。异常则与之相反,数量很少、区域相对多变、甚至未知,此时异常检测就面临样本不均衡的情况。
[0003]一般来说,根据数据标签的可用性,现有的异常检测方法可以分为三类:无监督、半监督和有监督异常检测。无监督算法是研究最广泛的算法之一,因为它们不需要额外的标签或先验信息。包括基于统计、基于聚类、基于回归、基于近邻的方法。这类方法明确或隐含地假设异常值不像正常数据那样集中。因此,可以有效地检测离散异常。但是,在许多情况下,同一机制可能会产生多个异常(例如DoS攻击)。它们变得越来越集中,以至于无监督的异常值检测错误地将这些组异常检测为正常数据。此外,模型和参数的选择对于没有先验知识帮助的无监督方法来说是一个相当大的挑战。而监督算法通常可以获得较高的检测率和较优参数,因为标签在训练过程中是完整和校正的。但在绝大多数情况下,完整标签的获取成本都是巨大的且无法承受的,由于完全基于监督式的方法对数据集的要求太高,故其的实施局限性较大。而半监督算法处于二
【技术保护点】
【技术特征摘要】
1.一种基于能量和镜像生成对抗网络的异常检测方法,其特征在于:具体包括如下步骤:步骤1:对正常数据进行预处理,将其标准化,以消除量纲对结果的影响。划分数据集得到训练样本和测试样本,分别用于模型的训练和测试,并将训练样本使用聚类算法进行分簇,消除簇间空隙对边缘异常点生成的影响;步骤2:用神经网络构建镜像生成对抗网络,并引入能量的思想,使用步骤1所得的单簇训练数据,对模型进行迭代训练,以得到最优参数,并将训练完成后的边缘异常点加入到原始数据集中;步骤3:用神经网络另外搭建异常检测器,使用步骤2对所有簇训练所得的边缘异常点及正常点,对其进行迭代训练,并使用测试集对其进行测试。2.根据权利1要求所述的数据预处理,其特征在于:所述步骤1对数据的预处理包括以下步骤:步骤11:对数据集中所有数据进行标准化处理,以消除量纲对结果的影响。步骤12:对数据集进行划分,将其中的全部异常数据划分到测试集中。对于正常数据,将80%的数据分割出来作为训练集,剩下的20%数据于异常数据合并成为测试集,分别记为X
train
,X
test
。步骤13:使用聚类算法,将训练数据X
train
进行分簇,其中m为数据簇的个数。取每一簇数据单独执行后续的步骤2和步骤3,以消除簇间空隙对异常点生成的影响。3.根据权利1所述的训练镜像生成对抗网络,其特征在于:所述步骤2训练镜像生成网络并结合能量思想包括以下步骤:步骤21:构建镜像生成对抗网络,不同于传统的单生成器单判别器结构,我们加入镜像判别器,并将其各组件记为G(生成器),D(判别器),D
mirror
(镜像判别器),其中D和D
mirror
结构相同,但目标输出相反。步骤22:引入能量的思想,更改D和D
mirror
为编码器
‑
解码器的结构,经过编码解码计算得到原始数据x
i
的重构数据y
i
。x
i
与y
i
维度一致,以x
i
和y
i
的均方误差作为能量值,直接用于与生成器G的对抗训练。步骤23:取预处理后的训练集中的一簇数据,记为其中n为该簇训练样本的个数。步骤24:随机采样k维的均匀噪声z作为生成器G的输入,输出最初的生成样本,记为X
g
={x
g1
,x
g2
,
…
,x
gn
},其中n为生成样本的个数。步骤25:将步骤23,24所得的生成样本X
g
及一簇训练样本作为D的输入,通过编...
【专利技术属性】
技术研发人员:梁启亮,张吉,关东海,李博涵,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。