基于Storm的马尔可夫等价类模型分布式学习方法与流程

文档序号:11143380阅读:431来源:国知局
基于Storm的马尔可夫等价类模型分布式学习方法与制造工艺

本发明属于计算机云计算、大数据及机器学习领域,具体涉及基于Storm的马尔可夫等价类模型分布式学习方法。



背景技术:

马尔可夫等价类模型是一种描述随机变量间概率关系的图模型,由CPDAG(Complete Partial Directed Acyclic Graph,完全部分有向无环图)来表示,作为入侵检测中的统计方法,能够有效地反应网络流量数据中各属性之间的关系。从大规模网络流量数据中发现能够描述其关联规则的马尔可夫等价类模型的方法具有很高的复杂度,已被证明是NP难问题。另外,对大规模数据的单机环境的集中式处理方式使模型的学习过程收到严重限制。

目前已有许多学者使用马尔可夫等价类模型等概率图模型描述网络流量数据间的相互关系,并使用了并行化方法加速概率图模型的学习过程。Sahin和Devasia将粒子群算法应用到概率图模型的并行化上;Yu等提出了并行三阶段相关性分析方法,使用条件独立性测试来合并局部结构。另一方面,云计算技术的发展也为克服数据量瓶颈提供了新的解决途径。Yue K.等使用Hadoop的MapReduce框架扩展了评分与搜索方法使其学习过程能够被适用于大规模数据集;Arias等使用Spark减少了此类方法在集群计算过程中的数据传输量,进一步加速了模型的学习过程。

在使用网络流量数据对马尔可夫等价类模型进行训练的过程中,对其搜索空间中的环状路线进行检测也是并行化树式搜索方法的困难之一,这使得现有方法对模型学习过程的并行化粒度较粗,并且常容易受到特定参数的制约。例如并行度受限于图模型中的节点数量,会使得高加速比所带来的性能提升不能发挥到最大。并且已有技术仅将计算任务分布式地在集群上执行,较少关注分布式环境下搜索空间的状态数据存储问题,不能完全有效地发挥云计算对大规模数据的处理能力。急需一种具有高加速比的概率图模型分布式学习方法,来满足入侵检测系统对大规模网络流量数据的实时性需求。



技术实现要素:

本发明的目的在于提供基于Storm的马尔可夫等价类模型分布式学习方法,从而从大规模数据集中高效地学习马尔可夫等价类模型,提高入侵检测系统中使用实时网络流量数据对模型进行训练的性能。

实现本发明的技术解决方案为:一种基于Storm的马尔可夫等价类模型分布式学习方法,具体包括以下步骤:

步骤1、将马尔可夫等价类模型的训练数据集上传至分布式文件系统HDFS(Hadoop distributed file system)中,通过Storm平台的Topology框架对训练数据集进行学习,创建四种云计算计算节点,分别是初始化节点node0、搜索节点node1、评分节点node2和输出节点node3

步骤2、初始化节点node0创建初始马尔可夫等价类状态εi,使用初始马尔可夫等价类状态生成发送给nodek的状态图元组其中k为云计算节点编号,且0≤k≤3,并发送至任一搜索节点node1以启动搜索过程,向集群中唯一的输出节点发送状态图元组其中是包含了搜索空间内第i个马尔可夫等价类的状态图元组,是在搜索空间内的第j个相邻状态图元组;

步骤3、搜索节点node1根据从初始化节点node0和评分节点node2收到的当前状态图元组ti1和前驱状态图元组为当前状态图元组生成标识符,将当前状态图元组发送给输出节点node3,确定当前状态图元组的所有可能的合法修改操作符,并将应用操作符之后产生的状态图元组发送给任一评分节点node2,其中是在搜索空间内的唯一的直接前驱状态图元组;

步骤4、评分节点node2将从搜索节点node1收到的当前状态图元组分布式地存储在各评分节点中,并计算运行实例未存储过的当前状态图元组的评分,将带有评分值的状态图元组发送至搜索节点;

步骤5、输出节点node3根据从初始化节点node0收到的终止条件来判断带有评分值的状态图元组是否达到了局部最优,如果达到了局部最优,则输出该状态图元组中对应的马尔可夫等价类模型,否则不做任何操作。

本发明与现有技术相比,其显著优点为:1)本发明通过利用Storm框架允许在分布式计算任务的拓扑逻辑中存在环的特性,以极细粒度分布化了马尔可夫等价类模型的学习算法,并通过检测搜索空间中的环状路径,消除了集群环境对并行度的制约;2)针对如马尔可夫等价类模型等概率图模型,重新设计其搜索空间内状态数据在集群上的存储方式,进一步提升了分布式学习方法的性能;3)将基于Storm的马尔可夫等价类模型分布式学习方法应用对真实的网络流量数据进行分类后,达到了近似理想加速比,并且在入侵检测系统需要处理大规模数据的情况下,加速效果更为突出。

下面结合附图对本发明作进一步详细阐述。

附图说明

图1为基于Storm的马尔可夫等价类分布式学习方法数据流图。

图2为搜索空间状态分布式存储示意图。

图3为本发明算法执行时间图。

具体实施方式

结合图1,本发明的一种基于Storm的马尔可夫等价类模型分布式学习方法,包括以下步骤:

步骤1、将马尔可夫等价类模型的训练数据集上传至分布式文件系统HDFS中,通过Storm平台的Topology框架对训练数据集进行学习,创建四种云计算计算节点,分别是初始化节点node0、搜索节点node1、评分节点node2和输出节点node3

步骤2、初始化节点node0创建初始马尔可夫等价类状态εi,使用初始马尔可夫等价类状态生成发送给nodek的状态图元组其中k为云计算节点编号,且0≤k≤3,并发送至任一搜索节点node1以启动搜索过程,向集群中唯一的输出节点发送状态图元组其中是包含了搜索空间内第i个马尔可夫等价类的状态图元组,是在搜索空间内的第j个相邻状态图元组;

所述马尔可夫等价类状态εi为一个三元组:

εi=<PiC,Ip(i),si>

其中PiC为表示一个马尔可夫等价类模型的完全部分有向无环图CPDAG,Ip(i)是εi前驱状态的标识符,si是已求得的εi对数据集的拟合度评分;

所述状态图元组的公式为:

式中,Ki为根据马尔可夫等价类状态εi计算得到的散列值,In(i,j)为状态图元组的标识符,由搜索节点的运行实例的标识符和运行实例已搜索过的状态数量组成。

步骤3、搜索节点node1根据从初始化节点node0和评分节点node2收到的当前状态图元组和前驱状态图元组为当前状态图元组生成标识符,将当前状态图元组发送给输出节点node3,确定当前状态图元组的所有可能的合法修改操作符,并将应用操作符之后产生的状态图元组发送给任一评分节点node2,其中是在搜索空间内的唯一的直接前驱状态图元组;

确定当前状态图元组的所有可能的合法修改操作符,具体是去除会导致其转移至前驱状态图元组的操作符。

步骤4、评分节点node2将从搜索节点node1收到的当前状态图元组分布式地存储在各评分节点中,并计算运行实例未存储过的当前状态图元组的评分,将带有评分值的状态图元组发送至搜索节点;

所述评分节点node2使用分布式散列表DHT存储马尔可夫等价类搜索空间,N个评分节点仅存储其接收到的状态图元组,第i个评分节点所存储的状态图元组组成集合χi,各状态图元组集合满足如下约束:

其中Ε为搜索空间中所有已搜索过的马尔可夫等价类状态所组成的集合,Ε是马尔可夫等价类状态全集的一个真子集,每个评分节点中的状态图元组集合是Ε的一个划分。

计算运行实例未存储过的当前状态图元组的评分,具体采用MDL最小描述长度准则来计算马尔可夫等价类状态对数据集的拟合度评分,获得拟合度评分最大的完全部分有向无环图,具体按照如下公式求解:

其中为使得拟合度评分最大的完全部分有向无环图,M为表示马尔可夫等价类模型的CPDAG中的节点数量,qi表示中第i个节点的父节点所有可能的组合,ni为第i个节点可能的取值范围,mijk为数据集中符合上述三个条件的条目数量,Mf是马尔可夫等价类模型中自由节点的数量,为代表数据集中第i个属性的节点的父节点集合。

步骤5、输出节点node3根据从初始化节点node0收到的终止条件来判断带有评分值的状态图元组是否达到了局部最优,如果达到了局部最优,则输出该状态图元组中对应的马尔可夫等价类模型,否则不做任何操作。

本发明在入侵检测系统的分类器模型训练问题上,不仅对模型的学习过程进行了细粒度的分布化,达到了近似理想加速比,而且能够解决分布式环境下搜索空间环状路径问题,充分利用了分布式存储给计算过程带来的加速优势,提高了入侵检测系统对网络流量数据的实时处理能力。

下面结合实施例对本发明做进一步详细的描述。

实施例

一种基于Storm的马尔可夫等价类模型分布式学习方法,使用以KDD1999入侵检测数据集对马尔可夫等价类模型进行训练作为一个实施例,包括以下步骤:

步骤1:将5个KDD1999入侵检测数据集上传至分布式文件系统HDFS(Hadoop distributed file system)中,分别包含1×104、5×104、1×105、5×105、1×106条网络连接记录,其中每条网络连接记录包含42项特征值,分别在云计算集群上创建2~6个计算节点,其中包含了初始化节点node0、搜索节点node1、评分节点node2和输出节点node3,图1所示为本发明方法所创建的4种计算节点以及分布式学习方法的数据流图;

步骤2:初始化节点node0创建了初始马尔可夫等价类状态ε0,使用ε0生成状态图元组并将发送给第一个搜索节点node1,向集群中唯一的输出节点发送状态图元组

其中初始马尔可夫等价类状态ε0是一个三元组:

其中为表示一个马尔可夫等价类模型的完全部分有向无环图CPDAG,包含了42个节点,42个节点分别对应于网络监测记录的42项特征值,Ip(0)是ε0前驱状态的标识符,s0是已求得的ε0对数据集的拟合度评分;

使用所生成的初始马尔可夫等价类状态ε0,计算得到了状态图元组和

式中,K0为根据初始马尔可夫等价类状态ε0计算得到的散列值,I0为状态图元组的标识符,由搜索节点的运行实例的标识符“1”和运行实例已搜索过的状态数量“0”组成,即“1-0”;

步骤3:搜索节点node1根据从初始化节点node0和评分节点node2收到的当前状态图元组和前驱状态图元组为当前状态图元组生成标识符,将当前状态图元组发送给输出节点node3,确定当前状态图元组的所有可能的合法修改操作符,并将应用操作符之后产生的状态图元组发送给任一评分节点node2,其中是在搜索空间内的唯一的直接前驱状态图元组;

其中确定当前状态图元组的所有可能的合法修改操作符,具体是去除会导致其转移至前驱状态图元组的操作符。

步骤4:评分节点node2将从搜索节点node1收到的当前状态图元组分布式地存储在各评分节点中,并计算运行实例未存储过的当前状态图元组的评分,将带有评分值的状态图元组发送至搜索节点;

其中评分节点node2使用分布式散列表DHT存储马尔可夫等价类搜索空间,图2所示为本发明方法搜索空间状态分布式存储的示意图,在使用了6个评分节点的实例中,每个评分节点仅存储其接收到的状态图元组,例如第2个评分节点所存储的状态图元组组成集合χ2,各状态图元组集合满足如下约束:

其中Ε为搜索空间中所有已搜索过的马尔可夫等价类状态所组成的集合,Ε是马尔可夫等价类状态全集的一个真子集,每个评分节点中的状态图元组集合是Ε的一个划分。

每个评分节点计算运行实例未存储过的当前状态图元组的评分,具体采用MDL最小描述长度准则来计算马尔可夫等价类状态对数据集的拟合度评分,获得拟合度评分最大的完全部分有向无环图,对所使用的含有1×106条网络连接记录的数据集的计算中,拟合度评分最大的完全部分有向无环图按照如下公式求解:

其中为使得拟合度评分最大的完全部分有向无环图,qi表示中第i个节点的父节点所有可能的组合,ni为第i个节点可能的取值范围,mijk为数据集中符合上述三个条件的条目数量,Mf是马尔可夫等价类模型中自由节点的数量,为代表数据集中第i个属性的节点的父节点集合。

步骤5、输出节点node3根据从初始化节点node0收到的终止条件来判断带有评分值的状态图元组是否达到了局部最优,如果达到了局部最优,则输出该状态图元组中对应的马尔可夫等价类模型,否则不做任何操作,图3为使用了本发明方法对KDD1999入侵检测数据集进行模型训练过程所消耗的计算时间,图中的横坐标为集群计算节点数量和数据集大小,纵坐标是执行时间,可以看出随着集群计算节点的增加,执行时间显著缩短,并且在网络连接记录数量巨大的情况下更为明显。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1