一种基于自动编码机的分布式离群点检测方法及系统技术方案

技术编号:10369791 阅读:173 留言:0更新日期:2014-08-28 12:27
本发明专利技术涉及一种基于自动编码机的分布式离群点检测方法及系统,包括定义训练数据集和测试数据集;将训练集的训练数据随机分配给若干个计算单元;所有计算单元并行执行,每个计算单元求解编码与解码参数;汇总每个计算单元的编码与解码参数得到最终编码与解码参数,构建一个自复制模型;将自复制模型应用到测试数据集上,并行计算每条测试数据的重建误差;按照重建误差降序排列测试数据,重建误差大于预定阈值的测试数据为离群点;本发明专利技术所述方法处理需要的总时间与处理的样本个数之间是独立的,仅仅取决于参数求解需要达到的精度;本发明专利技术非常适合基于MapReduce框架来处理大规模数据集上的离群点检测,具有良好的伸缩性与扩展性。

【技术实现步骤摘要】
一种基于自动编码机的分布式离群点检测方法及系统
本专利技术涉及信息安全领域,尤其涉及一种基于自动编码机的分布式离群点检测方法及系统。
技术介绍
在数据挖掘与统计学里,离群点指观察值或者样本点显著地偏离其它数据。在很多数据挖掘应用中,离群点被过滤和丢弃,然而从知识发现的角度来看,罕见事件常常比平常事件更有价值,因而离群点是一个有着很高的应用价值的研究领域,例如在欺诈检测、网络入侵检测等领域。目前国内外基于计算机的离群点检测方法可以分为四大类:基于统计分布、基于深度、基于距离以及基于密度的局部离群点检测方法。自动编码机(Auto-Encoders)是一种特殊类型的神经网络。自动编码机包括编码与解码过程,首先用编码机将输入数据映射到一个隐层表示(编码过程),然后利用相似的变换将隐层重新映射回与输入数据相同形状的重建数据(解码过程)。通过最优化重建误差来学习编码,常用来做特征提取。图1是一个包含一个隐含层的三层架构的自动编码机示例。基本的自动编码机也可以看做是一种自复制模型,对不包含离群点的训练数据编码学习自复制模型,然后通过计算测试数据的重建误差可检测离群点。随着网络的普及,特别是物联网和社交网络的发展,各类感知终端产生海量的、形式多样的半结构化或非结构化数据,形成大数据问题。我们需要在有限资源、有限时间内检测出大规模数据集中的离群点,诸多传统的检测算法往往基于内存计算或者串行执行,只能处理小规模数据。基于自动编码机的离群点检测算法通常使用随机梯度下降方法来求解编码与解码参数,求解速度慢,数据全局依赖性高,难以处理比内存大得多的大规模数据。【
技术实现思路
】本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于自动编码机的分布式离群点检测方法及系统,实现大规模数据集上的离群点高效准确检测。本专利技术解决上述技术问题的技术方案如下:一种基于自动编码机的分布式离群点检测方法,包括如下步骤:步骤1:定义训练数据集和测试数据集;步骤2:将训练集的训练数据随机分配给若干个计算单元;步骤3:所有计算单元并行执行,在每个计算单元内使用随机梯度下降算法求解编码与解码参数;步骤4:汇总每个计算单元的编码与解码参数得到最终编码与解码参数,构建一个自复制模型;步骤5:将自复制模型应用到测试数据集上,并行计算每条测试数据的重建误差;步骤6:按照重建误差降序排列测试数据,重建误差大于预定阈值的测试数据为离群点。本专利技术的有益效果是:本专利技术通过将训练数据随机分配到不同的计算单元,从而可以通过在并行地每一个计算单元内使用随机梯度下降算法来求解编解码参数,这一过程可以并行执行,从而可以通过增加计算单元来减少每个计算单元内部的计算时间,最终大大减少训练时间;本专利技术所述方法处理需要的总时间与处理的样本个数之间是独立的,仅仅取决于参数求解需要达到的精度;本专利技术非常适合基于MapReduce框架来处理大规模数据集上的离群点检测,具有良好的伸缩性与扩展性。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,步骤I中所述训练数据集和测试数据集分别如下式:训练数据集IxiIxi e Rd, I = I,…,N}用来学习自动编码机的编码与解码参数;测试数据集{V Jxi J e Rd, j = I,…,N' },为待检测离群点的数据集。进一步,步骤2的具体实现为:步骤2.1:定义每个计算单元的计算样本个数:T = floor (N/K);其中,N为训练数据集中训练数据的条数,K为计算单元的个数;步骤2.2:随机划分训练数据集,给每个计算单元分配T个训练样本。进一步,步骤3的具体实现为:步骤3.1:所有计算单元并行执行,对于计算单元k e {1,2,…,K},对分配的训练数据随机排序;步骤3.2:初始化计算单元k的编码参数劣与解码参数P步骤3.3:依次读取单元k上的第t个样本xf,t e {1,…,T},T为每个计算单元计算样本个数,依照下式更新编码参数与解码参数,更新编码参数本文档来自技高网...

【技术保护点】
一种基于自动编码机的分布式离群点检测方法,其特征在于,包括如下步骤:步骤1:定义训练数据集和测试数据集;步骤2:将训练集的训练数据随机分配给若干个计算单元;步骤3:所有计算单元并行执行,在每个计算单元内使用随机梯度下降算法求解编码与解码参数;步骤4:汇总每个计算单元的编码与解码参数得到最终编码与解码参数,构建一个自复制模型;步骤5:将自复制模型应用到测试数据集上,并行计算每条测试数据的重建误差,输出以重建误差为key的键值对;步骤6:按照重建误差降序排列测试数据,重建误差大于预定阈值的测试数据为离群点。

【技术特征摘要】
1.一种基于自动编码机的分布式离群点检测方法,其特征在于,包括如下步骤: 步骤1:定义训练数据集和测试数据集; 步骤2:将训练集的训练数据随机分配给若干个计算单元; 步骤3:所有计算单元并行执行,在每个计算单元内使用随机梯度下降算法求解编码与解码参数; 步骤4:汇总每个计算单元的编码与解码参数得到最终编码与解码参数,构建一个自复制模型; 步骤5:将自复制模型应用到测试数据集上,并行计算每条测试数据的重建误差,输出以重建误差为key的键值对; 步骤6:按照重建误差降序排列测试数据,重建误差大于预定阈值的测试数据为离群点。2.根据权利要求1所述一种基于自动编码机的分布式离群点检测方法,其特征在于,步骤I中所述训练数据集和测试数据集分别如下式: 训练数据集IxiIxi e Rd, i = l,…,N}用来学习自动编码机的编码与解码参数; 测试数据集IVj e Rd, j = 1,…,N' }为待检测离群点的数据集。 D为数据的纬度,即属性个数。3.根据权利要求1所述一种基于自动编码机的分布式离群点检测方法,其特征在于,步骤2的具体实现为: 步骤2.1:定义每个计算单元的计算样本个数:T = floor (N/K); 其中,N为训练数据集中训练数据的条数,K为计算单元的个数; 步骤2.2:随机划分训练数据集,给每个计算单元分配T个训练样本。4.根据权利要求1所述一种基于自动编码机的分布式离群点检测方法,其特征在于,步骤3的具体实现为: 步骤3.1:所有计算单元并行执行,对于计算单元k e {1,2,…,K},对分配的训练数据随机排序; 步骤3.2:初始化计算单元k的编码参数< 与解码参数0^ ; 步骤3.3:依次读取单元k上的第t个样本Xi t e {I,…,T}, T为每个计算单元计算样本个数,依照下式更新编码参数与解码参数, 更新编码参~ 更新解码参数^ 其中Θ1 (化丨―)表示第t轮迭代单元k上的编码(解码)参数;α为学习速率,▽e (...

【专利技术属性】
技术研发人员:马云龙张鹏曹亚男翟立东杜跃进
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1