一种基于信息熵的自适应网络流概念漂移检测方法与流程

文档序号:19124197发布日期:2019-11-13 01:57阅读:620来源:国知局
一种基于信息熵的自适应网络流概念漂移检测方法与流程

本发明涉及数据处理技术领域,具体的说是一种基于信息熵的自适应网络流概念漂移检测方法。



背景技术:

随着移动互联网的快速发展,网页浏览、流媒体以及社交网络中新业务不断出现,同时,用户网络安全需求使得加密流量占比不断增加,使得传统的流量分类方法面临严峻的挑战。但是,基于流特征的机器学习分类方法会因为不同时间段以及不同地域的流量所承载的业务分布差异而引起概念漂移问题。

概念漂移,指的是在预测分析和机器学习时,目标变量的统计特性随着时间的推移以不可预见的方式变化的现象。随着时间的推移,模型的预测精度将降低。因此,继续利用先前流量训练的分类器将会对新样本空间的适用性逐渐变弱,进而导致分类模型的识别能力下降。针对该类问题,学者们进行了很多研究,但还是存在许多不足,例如根据经验定期更新分类器是耗时的,且难以保证新分类器泛化性能。

随着时间推移以及不同网络环境引起的流特征变化导致的概念漂移问题,分类器对新流量的适应能力逐渐变差,难以继续保持稳定的识别率和泛化能力。如果能够准确地识别概念漂移,就可以及时有效地更新分类器,不然只能根据经验设置固定的更新间隔,而频繁地更新分类器需要消耗大量的时间和资源。当前,基于分类准确性的概念漂移检测方法在网络流量检测中由于类别不平衡性问题不能很好地适用。另外,在流量识别过程中,评估分类错误率所需的类型属性标签需要人工标记,很难获取。

基于此,提出一种基于信息熵的自适应网络流概念漂移检测方法,来自动检测数据会不会发生概念漂移,进而算法人员根据检测结果及时更新算法。



技术实现要素:

本发明基于现有分类准确性的概念漂移检测方法在网络流量检测中由于类别不平衡而不能很好地适用的问题,以及在流量识别过程中评估分类错误率所需的类型属性标签需要人工标记、且很难获取的问题,提供一种基于信息熵的自适应网络流概念漂移检测方法。

本发明的一种基于信息熵的自适应网络流概念漂移检测方法,解决上述技术问题采用的技术方案如下:

一种基于信息熵的自适应网络流概念漂移检测方法,该方法采用滑动窗口技术,针对新、旧数据流,将流特征属性离散化为若干个分支,并将多个流特征一同比较,通过统计各特征属性以及各分支的信息熵来比较新、旧数据流滑动窗口的差异,从而在确定滑动窗口的大小后,利用信息熵进行概念漂移的检测。

可选的,利用tie-breaking方法确定滑动窗口的大小;

在确定滑动窗口大小之前,首先利用hoeffding边界理论求得滑动窗口大小的阈值计算公式。

可选的,利用hoeffding边界理论求得滑动窗口大小的阈值计算公式,具体操作包括:

步骤一、引入hoeffding边界理论,即:随机变量r的n个独立样本的均值和真实平均值的误差不超过hoeffding边界ε的概率为1-δ,得到公式(1):

步骤二、针对公式(1)得出hoeffding边界ε随n的增加而减小,当n增长到足够大时,hoeffding边界ε足够小,最小的hoeffding边界ε也就是当前节点进行分裂的最小取值,根据hoeffding边界引入最小滑动窗口大小的阈值ξ计算公式(2):

步骤三、假设随机变量r其中两个独立样本的均值分别为u1、u2,真实平均值为u0,根据hoeffding边界,进一步得出|u0–u2|≤ε,|u0–u1|≤ε,即公式(3):

|u1-u2|≤2*ε(3)

步骤四、基于公式(2)和公式(3),最终得出滑动窗口大小的阈值ξ计算公式(4):

进一步可选的,在hoeffding边界理论中,假定δ=10-7,随机变量r=log2(2)=1,ε为0.05,在公式(3):

|u1-u2|≤2*ε(3)

恒成立的情况下,此时,|u1-u2|≤0.1。

进一步可选的,利用信息熵进行概念漂移检测时,

首先,利用信息熵计算新、旧数据流滑动窗口的熵值;

随后,根据阈值和新旧窗口的信息熵差值来判定数据是否发生了概念漂移。

更进一步可选的,随机变量r具有n个独立样本,多次获取随机变量r的任意两个独立样本,任意两个独立样本的均值分别为u1、u2,利用公式(4):

计算滑动窗口大小的阈值ξ,基于多次计算的结果,得到滑动窗口大小的最终阈值;

根据最终阈值和新旧窗口的信息熵差值来判定数据是否发生了概念漂移;

或者,

更进一步可选的,随机变量r具有n个独立样本,多次获取随机变量r的任意两个独立样本,任意两个独立样本的均值分别为u1、u2,利用公式(4):

计算滑动窗口大小的阈值ξ,从而得到滑动窗口大小的多个阈值;

根据每个阈值和新旧窗口的信息熵差值,多次判定数据是否发生了概念漂移。

更进一步可选的,利用信息熵进行概念漂移检测的具体过程包括:

1)定义数据流在ti时刻为di,di包含s个特征的特征集s和标签l,di=(si,li),由于信息熵h(x)=-∑xp(x)log2[p(x)],则对应ti时刻的信息熵为公式(5):

其中,

s表示特征的数目,

hi代表滑动窗口i(si,y)时刻在分支(b∈b)和特征(s∈s)上的信息熵;

2)根据公式(5)中s的含义,将公式(5)转换为公式(6):

其中,b代表各特征的分支,

hisb代表ti时刻在分支b和特征i(ti,ti-1,y)上的信息熵;

2)引入公式(7)、公式(8):

其中,

wisb代表每个分支的权重,

代表旧数据流滑动窗口ti时刻在分支(b∈b)和特征(s∈s)的概率;

根据公式(5)-(8),在滑动窗口大小时,令wisb=1;

随后,将公式(8)代入公式(7),即可计算得出新、旧数据流滑动窗口的熵值,如果熵值大于计算所得滑动窗口大小的阈值ξ,即判定数据流发生了概念漂移。

本发明的一种基于信息熵的自适应网络流概念漂移检测方法,与现有技术相比具有的有益效果是:

本发明首先利用hoeffding边界理论求得滑动窗口大小的阈值计算公式,随后利用tie-breaking方法确定滑动窗口的大小,再随后利用信息熵计算新、旧数据流滑动窗口的熵值,最后根据阈值和新旧窗口的信息熵差值来判定数据是否发生了概念漂移,由此可以有效的检测概念漂移并更新分类器,表现出较好的分类性能和泛化能力,解决了随着时间推移以及不同网络环境引起的流特征变化导致的概念漂移问题。

附图说明

附图1是本发明的方法流程框图。

具体实施方式

为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。

实施例一:

本实施例提出一种基于信息熵的自适应网络流概念漂移检测方法,该方法采用滑动窗口技术,针对新、旧数据流,将流特征属性离散化为若干个分支,并将多个流特征一同比较,通过统计各特征属性以及各分支的信息熵来比较新、旧数据流滑动窗口的差异。

结合附图1,检测方法的具体实现过程包括:

i、利用hoeffding边界理论求得滑动窗口大小的阈值计算公式;

ⅱ、用tie-breaking方法确定滑动窗口的大小;

ⅲ、利用信息熵计算新、旧数据流滑动窗口的熵值;

ⅳ、根据阈值和新旧窗口的信息熵差值来判定数据是否发生了概念漂移。

在本实施例的阶段i执行过程中,利用hoeffding边界理论求得滑动窗口大小的阈值计算公式,具体操作包括:

步骤一、引入hoeffding边界理论,即:随机变量r的n个独立样本的均值和真实平均值的误差不超过hoeffding边界ε的概率为1-δ,得到公式(1):

步骤二、针对公式(1)得出hoeffding边界ε随n的增加而减小,当n增长到足够大时,hoeffding边界ε足够小,最小的hoeffding边界ε也就是当前节点进行分裂的最小取值,根据hoeffding边界引入最小滑动窗口大小的阈值ξ计算公式(2):

步骤三、假设随机变量r其中两个独立样本的均值分别为u1、u2,真实平均值为u0,根据hoeffding边界,进一步得出|u0–u2|≤ε,|u0–u1|≤ε,即公式(3):

|u1-u2|≤2*ε(3)

步骤四、基于公式(2)和公式(3),最终得出滑动窗口大小的阈值ξ计算公式(4):

基于上述四个步骤,在hoeffding边界理论中,假定δ=10-7,随机变量r=log2(2)=1,ε为0.05,在公式(3):

|u1-u2|≤2*ε(3)

恒成立的情况下,此时,|u1-u2|≤0.1。

在本实施例的阶段ⅳ进行概念漂移检测之前,随机变量r具有n个独立样本,多次获取随机变量r的任意两个独立样本,任意两个独立样本的均值分别为u1、u2,利用公式(4):

计算滑动窗口大小的阈值ξ,基于多次计算的结果,得到滑动窗口大小的最终阈值;

根据最终阈值和新旧窗口的信息熵差值来判定数据是否发生了概念漂移。

本实施例阶段ⅲ、ⅳ的具体操作步骤包括:

1)定义数据流在ti时刻为di,di包含s个特征的特征集s和标签l,di=(si,li),由于信息熵h(x)=-∑xp(x)log2[p(x)],则对应ti时刻的信息熵为公式(5):

其中,

s表示特征的数目,

hi代表滑动窗口i(si,y)时刻在分支(b∈b)和特征(s∈s)上的信息熵;

2)根据公式(5)中s的含义,将公式(5)转换为公式(6):

其中,b代表各特征的分支,

hisb代表ti时刻在分支b和特征i(ti,ti-1,y)上的信息熵;

2)引入公式(7)、公式(8):

其中,

wisb代表每个分支的权重,

代表旧数据流滑动窗口ti时刻在分支(b∈b)和特征(s∈s)的概率;

根据公式(5)-(8),在滑动窗口大小时,令wisb=1;

随后,将公式(8)代入公式(7),即可计算得出新、旧数据流滑动窗口的熵值,如果熵值大于计算所得滑动窗口大小的阈值ξ,即判定数据流发生了概念漂移。

本实施例中,需要补充的是:在阶段ⅳ进行概念漂移检测之前,基于随机变量r具有n个独立样本,多次获取随机变量r的任意两个独立样本,任意两个独立样本的均值分别为u1、u2,利用公式(4):

计算滑动窗口大小的阈值ξ,从而得到滑动窗口大小的多个阈值;

我们还可以根据每个阈值和新旧窗口的信息熵差值,多次判定数据是否发生了概念漂移。在多次判定过程中,只要有至少一次熵值大于计算所得滑动窗口大小的阈值ξ的情况发生,就判定数据流发生了概念漂移。

综上可知,采用本发明的一种基于信息熵的自适应网络流概念漂移检测方法,可以有效的检测概念漂移并更新分类器,表现出较好的分类性能和泛化能力,解决了随着时间推移以及不同网络环境引起的流特征变化导致的概念漂移问题。

以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

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