CN109412969B - 一种移动App流量统计特征选择方法 - Google Patents

一种移动App流量统计特征选择方法 Download PDF

Info

Publication number
CN109412969B
CN109412969B CN201811104919.XA CN201811104919A CN109412969B CN 109412969 B CN109412969 B CN 109412969B CN 201811104919 A CN201811104919 A CN 201811104919A CN 109412969 B CN109412969 B CN 109412969B
Authority
CN
China
Prior art keywords
feature
value
drift
flow
dis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811104919.XA
Other languages
English (en)
Other versions
CN109412969A (zh
Inventor
王若愚
张凌
刘珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201811104919.XA priority Critical patent/CN109412969B/zh
Publication of CN109412969A publication Critical patent/CN109412969A/zh
Application granted granted Critical
Publication of CN109412969B publication Critical patent/CN109412969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Abstract

本发明公开了一种移动App流量统计特征选择方法,该方法包括:S1、获取原始移动App的流量数据集,提取移动App流量的流统计特征,获取用于训练的有标记数据集LD,以及待分类的无标记数据集UD;S2、在LD数据集上,利用信息增益率,评估每个流统计特征在类间的区分能力;S3、在LD和UD数据集上,计算每个流统计特征的取值分布,利用Hellinger距离评估特征取值分布差异性,评估流统计特征的漂移程度;S4、将漂移程度作为区分能力的惩罚因子,计算流统计特征的综合评估值;S5、基于综合评估值,搜索区分能力强且漂移程度低的流统计特征子集。本发明的方法涉及移动互联网流量测量领域的移动App流量分类技术,降低数据维度,并提高分类鲁棒性能。

Description

一种移动App流量统计特征选择方法
技术领域
本发明涉及流量测量领域的流量分类技术领域,具体涉及一种移动App流量统计特征选择方法。
背景技术
基于机器学习的移动App流量分类技术描述为:对原始流量基于五元组{源IP、目的IP、源端口、目的端口、传输层协议}组流,对流提取流统计特征建立流样本集合,用于训练分类模型。多种流统计特征已经被提出,例如Moore等人在2005年提出248个流统计特征(A.Moore,D.Zuev,M.Crogan.Discriminators for use in flow-basedclassification.Queen Mary and Westfield College,Department of ComputerScience,2005.),包括:报文大小的统计特征(最小、最大、均值、中间值、标准差)、报文到达时间间隔的统计特征(最小、最大、均值、中间值、标准差)、特殊报文数(PUSH报文、ACK报文等)等。流统计特征集合可能存在与分类无关或冗余的特征,为降低分类模型的训练开销和提高分类性能,特征选择通常作为分类模型的预处理(Z.Liu,R.Wang,M.Tao,et al.Aclass-oriented feature selection approach for multi-class imbalanced networktraffic datasets based on local and global metrics fusion.Neurocomputing,2015,168:365-381.)。
在互联网流量分类领域,信息增益率等特征选择算法已被用于选择流统计特征,但这些算法仅关注特征在类间的区分能力,忽略了互联网流量的动态特性导致的特征不稳定问题。Zhang等人提出SRSF特征选择算法,此算法在多个训练集上利用WSU_AUC指标分别选择一个特征子集,再从多个子集中选择出现频率较高的特征加入最终的特征子集(H.Zhang,G.Lu,M.T.Qassrawi,et al.Feature selection for optimizing trafficclassification.Computer Communications,2012,35(12):1457-1471)。Fahad等人提出GOA特征选择算法,此算法通过多个特征评估指标(例如信息熵、信息增益率、卡方等)分别选择一个最优的特征子集,然后搜索具有较高出现频率的特征加入最终的特征子集(A.Fahad,Z.Tari,I.Khalil,A.Almalawi,An optimal and stable feature selectionapproach for traffic classification based on multi-criterion fusion,FutureGener.Comput.Syst.36(2014):156–169)。上述特征选择算法间接地考虑了特征稳定性问题,但是没有提出特征稳定性的评估指标。
专利CN201410352930.3提供了一种基于杜鹃搜索算法的对等网络流量统计特征选择方法,对对等网络数据集,利用杜鹃搜索算法进行特征选择,剔除不相关或冗余的对等网络流量特征,取出真正相关的特征,节省对等网络流量识别中特征提取的计算时间,从而提高对等网络流量识别的效率和正确率。该发明尽管针对网络流量数据,剔除了冗余特征,但是没有分析特征的稳定性,不能用于选择较为稳定的特征子集。
发明内容
本发明的目的在于克服现有技术中的缺点与不足,提供一种移动App流量统计特征选择方法,选择区分能力强且稳定性高的特征集合。
为实现以上目的,本发明采取如下技术方案:
一种移动App流量统计特征选择方法,包括下述步骤:
步骤S1、获取移动App的原始流量数据集,提取移动App流量的流统计特征,获取用于训练的有标记数据集LD,以及待分类的无标记数据集UD;
步骤S2、在LD数据集上,利用信息增益率,评估每个流统计特征在类间的区分能力;
步骤S3、在LD和UD数据集上,计算每个流统计特征的取值分布,利用Hellinger距离评估特征取值分布差异性,评估流统计特征的漂移程度;
步骤S4、将漂移程度作为特征区分能力的惩罚因子,计算流统计特征的综合评估值;
步骤S5、基于综合评估值,搜索区分能力强且漂移程度低的流统计特征子集。
作为优选的技术方案,步骤S1中所述提取移动App流量的流统计特征,具体包括下述步骤:
步骤S11、获取移动App的原始PCAP流量数据,根据五元组{源IP、源端口、目的IP、目的端口、传输层协议},对一定时间间隔内具有相同五元组的TCP/UDP报文进行组流;
步骤S12、对属于同一条流的报文计算流统计特征,具体采用相邻报文大小差值的最小值、最大值进行统计计算。
作为优选的技术方案,步骤S1中,LD数据集的每条网络流有App类别标签,UD数据集的每条流没有App类别标签;
数据采集过程中,在移动设备端记录会话信息,会话信息包括:五元组、会话创建或结束时间、会话活动状态、以及创建会话的App;在标记网络流时,查找会话信息记录中,五元组相同且时间戳最接近的App作为网络流的类别标签。
作为优选的技术方案,步骤S2,具体包括下述步骤:
步骤S21、在LD数据集上,采用有监督的最小描述长度方法离散化每个流统计特征fi,i=1,2,..,m,m表示特征个数;
步骤S22、在LD数据集上,计算每个流统计特征的信息增益率GR(LD,fi),表征流统计特征fi在类间的区分能力dis(fi),信息增益率越大表明该特征有利于确定类别取值,即在类间的区分能力越强;
所述信息增益率的计算公式如下:
Figure GDA0003219026830000041
Figure GDA0003219026830000042
Figure GDA0003219026830000043
其中V(fi)表示特征fi的取值域,LDv表示LD数据集中特征fi取值为第v个值的样本集合;Entropy(LD)和Entropy(LDv)分别表示LD和LDv数据集上类别的信息熵;LDk表示类别Ck的样本集合,k表示类别序号,LDv k表示来自Ck类别中特征fi取值为第v个值的样本集合。
作为优选的技术方案,步骤S3,具体包括下述步骤:
步骤S31、采用无监督的简单取值域方法离散化LD和UD数据集的每个流统计特征fi的取值,i=1,2,..,m,m表示特征个数;
步骤S32、在LD数据集上计算每个流统计特征fi的取值分布Prob(fi|LD),表示为:Prob(fi|LD)={p(r1),...,p(rn)},其中p(rj)表示特征fi在LD数据集上的取值分布,j=1,…,n,n=li,li表示LD数据集上特征fi的取值个数;
步骤S33、在UD数据集上计算每个流统计特征fi的取值分布Prob(fi|UD),表示为:Prob(fi|UD)={p'(r1),...,p'(rn)},其中p'(rj)表示特征fi在UD数据集上的取值分布,j=1,…,n,n=li,li表示UD数据集上特征fi的取值个数;
步骤S34、利用Hellinger距离,计算流统计特征fi在LD和UD数据集上的取值分布的差异性,用于评估特征fi的漂移程度;Hellinger距离记为HD,具体计算如下:
Figure GDA0003219026830000051
每个特征fi的漂移程度:drift(fi)=HDi
作为优选的技术方案,步骤S4中,所述流统计特征的综合评估值表示为:
Figure GDA0003219026830000052
其中,dis(fi)表示特征fi的类间区分能力,drift(fi)表示特征fi的漂移程度;dis(fi)由步骤S2的信息增益率评估,drift(fi)由步骤S3的Hellinger距离HD评估;dis和drift在计算com之前进行了MIN-MAX式的归一化;γ表示dis和drift之间的平衡系数。
作为优选的技术方案,所述dis和drift之间的平衡系数γ,计算步骤包括:
步骤(a):算法参数初始化:k=0,γ=2-k=1,循环执行步骤(b)~(d);
步骤(b):利用当前的γ值,计算每个特征的综合评估值com(fi),i=1,2,…,m;
步骤(c):判断Ssafety的每个特征fi在所有特征集合中的com取值排序,若排序在前2*|Ssafety|中,则返回γ值,退出循环,否则执行步骤(d);其中Ssafety表示在LD数据集上具有显著区分能力的特征子集,这些特征子集将被选择;
步骤(d):更新k值,k=k+1,更新γ值,γ=2-k,然后执行步骤(b)和步骤(c)。
作为优选的技术方案,步骤S5,具体包括下述步骤:
步骤S51、基于区分能力dis,获取具有显著区分能力的特征子集Ssafety,具体是:基于所有特征的区分能力dis={dis1,dis2,...,dism},获取显著值划分阈值ηdis;若特征fi的disidis,则将fi加入到Ssafety中;
步骤S52、基于漂移程度drift,获取具有显著漂移程度的特征子集Sdanger,具体是:基于所有特征的漂移程度drift={drift1,drift2,...,driftm},获取显著值划分阈值ηdrift;若特征fi的driftidrift,则将fi加入到Sdanger中;
步骤S53、对所有特征,根据综合评估值com值进行降序排序,获得Ssort
步骤S54、将Ssafety的特征加入最优特征子集Sbest,Sbest=Sbest∪Ssafety,将Ssafety从Ssort中移除;
步骤S55、获取Ssort的第一个特征fp,判断fp是否在Sdanger中,若不在其中,则将fp加入Sbest,并从Ssort中剔除;循环执行当前步骤S55,直到Sbest的大小为K,其中K为用户预设定的选择的特征个数,Sbest为最终选择的特征子集。
作为优选的技术方案,步骤S51和步骤S52中的显著值划分阈值,获取步骤如下:
步骤(1):初始化较大取值序列
Figure GDA0003219026830000061
初始化较小取值序列
Figure GDA0003219026830000062
步骤(2):计算数值序列val={v1,v2,..,vm}的误差平方和SSE,表示为
Figure GDA0003219026830000063
其中数值序列val,当搜索类间区分能力dis的显著值划分阈值时,val表示dis序列;当搜索漂移程度的显著值划分阈值时,val表示drift序列;vi表示数值序列的第i个值,i=1,2,…,m;
步骤(3):对val序列进行降序排序,降序排序后的val序列表示为Vsort
步骤(4):获取Vsort的前两个值,加入Vlarge
步骤(5):将Vlarge从Vsort中移除,表示为Vsmall=Vsort\Vlarge
步骤(6):获取Vlarge的误差平方和SSE,表示为
Figure GDA0003219026830000064
获取Vsmall的误差平方和SSE,表示为
Figure GDA0003219026830000065
步骤(7):若
Figure GDA0003219026830000066
为真,返回显著值划分阈值η,否则执行步骤(8);其中β表示用户设定的是否有显著变化的阈值;
步骤(8):
Figure GDA0003219026830000071
Vlarge的最后一个值赋值给η,Vsmall的第一个值赋值给v,Vlarge=Vlarge∪{v},Vsmall=Vsmall\{v},执行步骤(6)。
作为优选的技术方案,在步骤(2)中,所述误差平方和SSE表示为:
Figure GDA0003219026830000072
其中vi表示数值序列val的第i个值,i=1,2,…,m;
Figure GDA0003219026830000073
表示数值序列val的所有值的均值。
本发明相对于现有技术具有如下的优点和效果:
(1)本发明方法利用有标记和无标记数据集,提出了特征漂移程度评估指标,对特征的稳定程度进行了量化,有利于选择稳定的特征子集。
(2)本发明提出的特征选择方法综合了有标记数据集上的区分能力评估指标和无标记数据集上的特征漂移程度评估指标,选取的特征集合不仅具有较高的区分能力,并且较为稳定。
(3)本发明方法的多个参数可以通过搜索算法获取,不依赖于人工设定,避免人工设定参数不当带来的性能损失。
附图说明
图1是本发明的一种移动App流量统计特征选择方法流程图;
图2是本发明实施例中评估流统计特征的漂移程度的方法流程图;
图3是本发明实施例中综合评估指标的平衡系数γ的搜索流程图;
图4是本发实施例中流统计特征子集的搜索流程图;
图5是本发明实施例中显著值划分阈值的搜索流程图;
图6是本发明实施例的特征选择算法性能示意图。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不限于本发明。
实施例
如图1所示,一种移动App流量统计特征选择方法,包括下述步骤:
步骤S1、获取移动App的原始流量数据集,提取移动App流量的流统计特征,获取用于训练的有标记数据集LD,以及待分类的无标记数据集UD;
步骤S2、在LD数据集上,利用信息增益率,评估每个流统计特征在类间的区分能力;
步骤S3、在LD和UD数据集上,计算每个流统计特征的取值分布,利用Hellinger距离评估特征取值分布差异性,评估流统计特征的漂移程度;
步骤S4、将漂移程度作为特征区分能力的惩罚因子,计算流统计特征的综合评估值;
步骤S5、基于综合评估值,搜索区分能力强且漂移程度低的流统计特征子集。
可以理解,在流量数据集上提取流统计特征并建立流样本集合是特征选择算法研究和评价的第一步。
S1、建立流样本集合的步骤包括:
步骤S11、获取原始PCAP流量数据,根据五元组{源IP、源端口、目的IP、目的端口、传输层协议},对一定时间间隔(600秒)内具有相同五元组的TCP/UDP报文进行组流;
步骤S12、对属于同一条流的报文计算流统计特征,例如,相邻报文大小差值的最小值、最大值等统计计算等。
本发明实施例的移动App流量数据集的采集过程中,在移动设备端记录移动App的会话信息,包括:五元组、会话创建(或结束)时间、会话活动状态、产生会话的App。在标记网络流时,查找会话信息记录中,五元组相同且时间戳信息最接近的App作为网络流的类别标签。本发明实施例提供的数据集包含了155维特征,共12种App。
本实施实例中,LD数据集的流样本带有类别标签,UD数据集的流样本集合没有类别标签。LD数据集可以看作有标记的训练样本集,将被用于评估每个特征在类间的区分能力。
S2、本发明采用信息增益率作为区分能力的评估指标,其实施步骤包括:
步骤S21、在LD数据集上,采用有监督的最小描述长度方法(Minimum DescriptionLength)离散化每个统计特征fi,i=1,2,..,m,m表示特征个数;
步骤S22、在LD数据集上,计算每个流统计特征的信息增益率GR(LD,fi),表征了特征fi在类间的区分能力dis(fi);信息增益率越大表明该特征有利于确定类别取值,即在类间的区分能力越强;
所述信息增益率的计算公式如下:
Figure GDA0003219026830000091
Figure GDA0003219026830000092
Figure GDA0003219026830000093
其中V(fi)表示特征fi的取值域,LDv表示LD数据集中特征fi取值为第v个值的样本集合;Entropy(LD)和Entropy(LDv)分别表示LD和LDv数据集上类别的信息熵;LDk表示类别Ck的样本集合,k表示类别序号,LDv k表示来自Ck类别中特征fi取值为第v个值的样本集合。
S3、如图2所示,在LD和UD数据集上,建立每个流统计特征的取值分布,利用Hellinger距离评估特征取值分布差异性,作为特征的漂移程度,具体过程包括如下步骤:
步骤S31、采用无监督的简单取值域方法(simple binning)离散化LD和UD数据集的每个流统计特征fi的取值,i=1,2,..,m;
步骤S32、在LD数据集上计算每个流统计特征fi的取值分布Prob(fi|LD),表示为:Prob(fi|LD)={p(r1),...,p(rn)},其中p(rj)表示特征fi在LD数据集上的取值分布,j=1,…,n,n=li,li表示LD数据集上特征fi的取值个数;
步骤S33、在UD数据集上计算每个流统计特征fi的取值分布Prob(fi|UD),表示为:Prob(fi|UD)={p'(r1),...,p'(rn)},其中p'(rj)表示特征fi在UD数据集上的取值分布,j=1,…,n,n=li,li表示UD数据集上特征fi的取值个数;
步骤S34、利用Hellinger距离,计算流统计特征fi在LD和UD数据集上的取值分布的差异性,用于评估特征fi的漂移程度;Hellinger距离记为HD,具体计算如下:
Figure GDA0003219026830000101
每个特征fi的漂移程度:drift(fi)=HDi
S4、流统计特征的综合评估值表示为:
Figure GDA0003219026830000102
其中,dis(fi)表示特征fi的类间区分能力,drift(fi)表示特征fi的漂移程度;dis(fi)由步骤S2的信息增益率评估,drift(fi)由步骤S3的Hellinger距离HD评估;dis和drift在计算com之前进行了MIN-MAX式的归一化;γ表示dis和drift之间的平衡系数。
本实施例中,如图3所示,综合评估值中的γ表示dis和drift之间的平衡系数,计算步骤包括:
步骤(a):初始化参数,k=0,γ=2-k=1,循环执行步骤(b)~(d);
步骤(b):利用当前的γ值,计算每个特征的综合评估值com(fi),i=1,2,…,m;
步骤(c):判断Ssafety的每个特征fi在所有特征集合中的com取值排序,若排序在前2*|Ssafety|中,则返回γ值,退出循环,否则执行步骤(d);其中Ssafety表示在LD数据集上具有显著区分能力的特征子集,这些特征子集将被选择;
步骤(d):更新k值,k=k+1,更新γ值,γ=2-k,然后执行步骤(b)和步骤(c)。
S5、如图4所示,基于综合评估值,搜索区分能力强且漂移程度低的流统计特征子集,包括如下步骤:
步骤S51、基于区分能力dis,获取具有显著区分能力的特征子集Ssafety,具体是:基于所有特征的区分能力dis={dis1,dis2,...,dism},获取显著值划分阈值ηdis;若特征fi的disidis,则将fi加入到Ssafety中;
步骤S52、基于漂移程度drift,获取具有显著漂移程度的特征子集Sdanger,具体是:基于所有特征的漂移程度drift={drift1,drift2,...,driftm},获取显著值划分阈值ηdrift;若特征fi的driftidrift,则将fi加入到Sdanger中;
步骤S53、对有所特征,根据综合评估指标com值进行降序排序,获得Ssort
步骤S54、将Ssafety的特征加入最优特征子集Sbest,Sbest=Sbest∪Ssafety,将Ssafety从Ssort中移除;
步骤S55、获取Ssort的第一个特征fp,判断fp是否在Sdanger中,若否,则将fp加入Sbest,并从Ssort中剔除。
可以理解,循环执行S55,直到Sbest的大小为K,其中K为用户预设定的选择的特征个数,Sbest为最终选择的特征子集,通过保留区分能力强的Ssafety的特征,剔除漂移程度高(不稳定)的Sdanger的特征,并从剩余的特征中选择综合指标值较高的特征,最终选择的特征个数为用户预先设定的K。
在步骤S51和步骤S52中,ηdis和ηdrift表示在某个数值序列val={v1,v2,..,vm}中的显著值划分阈值,如图5所示,显著值划分阈值的获取步骤包括:
步骤(1):初始化较大取值序列
Figure GDA0003219026830000121
初始化较小取值序列
Figure GDA0003219026830000122
步骤(2):计算数值序列val={v1,v2,..,vm}的误差平方和SSE,表示为
Figure GDA0003219026830000123
其中数值序列val,当搜索类间区分能力dis的显著值划分阈值时,val表示dis序列;当搜索漂移程度的显著值划分阈值时,val表示drift序列;
所述误差平方和SSE表示每个取值到均值的距离平方之和,具体计算如下:
Figure GDA0003219026830000124
其中vi表示数值序列val的第i个值,i=1,2,…,m;
Figure GDA0003219026830000125
表示数值序列val的所有值的均值;
步骤(3):对val序列进行降序排序,降序排序后的val序列表示为Vsort
步骤(4):获取Vsort的前两个值,加入Vlarge
步骤(5):将Vlarge从Vsort中移除,表示为Vsmall=Vsort\Vlarge
步骤(6):获取Vlarge的误差平方和SSE,表示为
Figure GDA0003219026830000126
获取Vsmall的误差平方和SSE,表示为
Figure GDA0003219026830000127
步骤(7):若
Figure GDA0003219026830000128
为真,返回显著值划分阈值η;否则执行步骤(8);其中β表示用户设定的是否有显著变化的阈值;
步骤(8):
Figure GDA0003219026830000129
Vlarge的最后一个值赋值给η,Vsmall的第一个值赋值给v,Vlarge=Vlarge∪{v},Vsmall=Vsmall\{v},执行步骤(6)。
本实施例中,如图6所示,在本发明提供的移动App流量数据集上,开展了特征选择算法的性能比较实验,分别从流分类准确率(flow accuracy),字节分类准确率(byteaccuracy),流g-mean(flow g-mean),字节g-mean(byte g-mean)四个指标比较,四项指标计算如下:
Figure GDA0003219026830000131
Figure GDA0003219026830000132
Figure GDA0003219026830000133
Figure GDA0003219026830000134
在某个网络流量数据上,Af、Ab、gf、gb分别表示流分类准确率,字节分类准确率,流g-mean,字节g-mean。Cf、Cb分别表示正确分类的流数目和字节数目,Nf、Nb分别表示总体流数目和字节数目,Ci f、Ci b分别表示类别i的正确分类的流数目和字节数目,Ni f和Ni b分别表示类别i的流数目和字节数目。实验结果表明,本发明提供的方法DDFS的性能更优。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以权利要求所述为准。

Claims (8)

1.一种移动App流量统计特征选择方法,其特征在于,包括下述步骤:
步骤S1、获取移动App的原始流量数据集,提取移动App流量的流统计特征,获取用于训练的有标记数据集LD,以及待分类的无标记数据集UD;
步骤S2、在LD数据集上,利用信息增益率,评估每个流统计特征在类间的区分能力;
步骤S3、在LD和UD数据集上,计算每个流统计特征的取值分布,利用Hellinger距离评估特征取值分布差异性,评估流统计特征的漂移程度;
步骤S4、将漂移程度作为特征区分能力的惩罚因子,计算流统计特征的综合评估值;
步骤S5、基于综合评估值,搜索区分能力强且漂移程度低的流统计特征子集;
其中,步骤S2,具体包括下述步骤:
步骤S21、在LD数据集上,采用有监督的最小描述长度方法离散化每个流统计特征fi,i=1,2,..,m,m表示特征个数;
步骤S22、在LD数据集上,计算每个流统计特征的信息增益率GR(LD,fi),表征流统计特征fi在类间的区分能力dis(fi),信息增益率越大表明该特征有利于确定类别取值,即在类间的区分能力越强;
所述信息增益率的计算公式如下:
Figure FDA0003219026820000011
Figure FDA0003219026820000012
Figure FDA0003219026820000013
其中V(fi)表示特征fi的取值域,LDv表示LD数据集中特征fi取值为第v个值的样本集合;Entropy(LD)和Entropy(LDv)分别表示LD和LDv数据集上类别的信息熵;LDk表示类别Ck的样本集合,k表示类别序号,LDv k表示来自Ck类别中特征fi取值为第v个值的样本集合;
步骤S3,具体包括下述步骤:
步骤S31、采用无监督的简单取值域方法离散化LD和UD数据集的每个流统计特征fi的取值,i=1,2,..,m,m表示特征个数;
步骤S32、在LD数据集上计算每个流统计特征fi的取值分布Prob(fi|LD),表示为:Prob(fi|LD)={p(r1),...,p(rn)},其中p(rj)表示特征fi在LD数据集上的取值分布,j=1,…,n,n=li,li表示LD数据集上特征fi的取值个数;
步骤S33、在UD数据集上计算每个流统计特征fi的取值分布Prob(fi|UD),表示为:Prob(fi|UD)={p'(r1),...,p'(rn)},其中p'(rj)表示特征fi在UD数据集上的取值分布,j=1,…,n,n=li,li表示UD数据集上特征fi的取值个数;
步骤S34、利用Hellinger距离,计算流统计特征fi在LD和UD数据集上的取值分布的差异性,用于评估特征fi的漂移程度;Hellinger距离记为HD,具体计算如下:
Figure FDA0003219026820000021
每个特征fi的漂移程度:drift(fi)=HDi
2.根据权利要求1所述的移动App流量统计特征选择方法,其特征在于,步骤S1中所述提取移动App流量的流统计特征,具体包括下述步骤:
步骤S11、获取移动App的原始PCAP流量数据,根据五元组{源IP、源端口、目的IP、目的端口、传输层协议},对一定时间间隔内具有相同五元组的TCP/UDP报文进行组流;
步骤S12、对属于同一条流的报文计算流统计特征,具体采用相邻报文大小差值的最小值、最大值进行统计计算。
3.根据权利要求1所述的移动App流量统计特征选择方法,其特征在于,步骤S1中,LD数据集的每条网络流有App类别标签,UD数据集的每条流没有App类别标签;
数据采集过程中,在移动设备端记录会话信息,会话信息包括:五元组、会话创建或结束时间、会话活动状态、以及创建会话的App;在标记网络流时,查找会话信息记录中,五元组相同且时间戳最接近的App作为网络流的类别标签。
4.根据权利要求1所述的移动App流量统计特征选择方法,其特征在于,步骤S4中,所述流统计特征的综合评估值表示为:
Figure FDA0003219026820000031
其中,dis(fi)表示特征fi的类间区分能力,drift(fi)表示特征fi的漂移程度;dis(fi)由步骤S2的信息增益率评估,drift(fi)由步骤S3的Hellinger距离HD评估;dis和drift在计算com之前进行了MIN-MAX式的归一化;γ表示dis和drift之间的平衡系数。
5.根据权利要求4所述的移动App流量统计特征选择方法,其特征在于,所述dis和drift之间的平衡系数γ,计算步骤包括:
步骤(a):算法参数初始化:k=0,γ=2-k=1,循环执行步骤(b)~(d);
步骤(b):利用当前的γ值,计算每个特征的综合评估值com(fi),i=1,2,…,m;
步骤(c):判断Ssafety的每个特征fi在所有特征集合中的com取值排序,若排序在前2*|Ssafety|中,则返回γ值,退出循环,否则执行步骤(d);其中Ssafety表示在LD数据集上具有显著区分能力的特征子集,这些特征子集将被选择;
步骤(d):更新k值:k=k+1;更新γ值:γ=2-k;然后执行步骤(b)和步骤(c)。
6.根据权利要求4所述的移动App流量统计特征选择方法,其特征在于,步骤S5,具体包括下述步骤:
步骤S51、基于区分能力dis,获取具有显著区分能力的特征子集Ssafety,具体是:基于所有特征的区分能力dis={dis1,dis2,...,dism},获取显著值划分阈值ηdis;若特征fi的disidis,则将fi加入到Ssafety中;
步骤S52、基于漂移程度drift,获取具有显著漂移程度的特征子集Sdanger,具体是:基于所有特征的漂移程度drift={drift1,drift2,...,driftm},获取显著值划分阈值ηdrift;若特征fi的driftidrift,则将fi加入到Sdanger中;
步骤S53、对所有特征,根据综合评估值com值进行降序排序,获得Ssort
步骤S54、将Ssafety的特征加入最优特征子集Sbest,Sbest=Sbest∪Ssafety,将Ssafety从Ssort中移除;
步骤S55、获取Ssort的第一个特征fp,判断fp是否在Sdanger中,若不在其中,则将fp加入Sbest,并从Ssort中剔除;循环执行当前步骤S55,直到Sbest的大小为K,其中K为用户预设定的选择的特征个数,Sbest为最终选择的特征子集。
7.根据权利要求6所述的移动App流量统计特征选择方法,其特征在于,步骤S51和步骤S52中的显著值划分阈值,获取步骤如下:
步骤(1):初始化较大取值序列
Figure FDA0003219026820000041
初始化较小取值序列
Figure FDA0003219026820000042
步骤(2):计算数值序列val={v1,v2,..,vm}的误差平方和SSE,表示为
Figure FDA0003219026820000043
其中数值序列val,当搜索类间区分能力dis的显著值划分阈值时,val表示dis序列;当搜索漂移程度的显著值划分阈值时,val表示drift序列;vi表示数值序列的第i个值,i=1,2,…,m;
步骤(3):对val序列进行降序排序,降序排序后的val序列表示为Vsort
步骤(4):获取Vsort的前两个值,加入Vlarge
步骤(5):将Vlarge从Vsort中移除,表示为Vsmall=Vsort\Vlarge
步骤(6):获取Vlarge的误差平方和SSE,表示为
Figure FDA0003219026820000051
获取Vsmall的误差平方和SSE,表示为
Figure FDA0003219026820000052
步骤(7):若
Figure FDA0003219026820000053
为真,返回显著值划分阈值η,否则执行步骤(8);其中β表示用户设定的是否有显著变化的阈值;
步骤(8):
Figure FDA0003219026820000054
Vlarge的最后一个值赋值给η,Vsmall的第一个值赋值给v,Vlarge=Vlarge∪{v},Vsmall=Vsmall\{v},执行步骤(6)。
8.根据权利要求7所述的移动App流量统计特征选择方法,其特征在于,在步骤(2)中,所述误差平方和SSE表示为:
Figure FDA0003219026820000055
其中vi表示数值序列val的第i个值,i=1,2,…,m;
Figure FDA0003219026820000056
表示数值序列val的所有值的均值。
CN201811104919.XA 2018-09-21 2018-09-21 一种移动App流量统计特征选择方法 Active CN109412969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811104919.XA CN109412969B (zh) 2018-09-21 2018-09-21 一种移动App流量统计特征选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811104919.XA CN109412969B (zh) 2018-09-21 2018-09-21 一种移动App流量统计特征选择方法

Publications (2)

Publication Number Publication Date
CN109412969A CN109412969A (zh) 2019-03-01
CN109412969B true CN109412969B (zh) 2021-10-26

Family

ID=65466103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811104919.XA Active CN109412969B (zh) 2018-09-21 2018-09-21 一种移动App流量统计特征选择方法

Country Status (1)

Country Link
CN (1) CN109412969B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102700A (zh) * 2014-07-04 2014-10-15 华南理工大学 一种面向因特网不平衡应用流的分类方法
WO2014193158A1 (ko) * 2013-05-28 2014-12-04 아주대학교산학협력단 콘텐츠 중심 네트워크에서의 서비스 거부 공격 탐지 장치 및 방법
CN105740388A (zh) * 2016-01-27 2016-07-06 上海晶赞科技发展有限公司 一种基于分布漂移数据集的特征选择方法
CN106156803A (zh) * 2016-08-01 2016-11-23 苏翀 一种基于Hellinger距离的懒惰决策树方法
CN108319987A (zh) * 2018-02-20 2018-07-24 东北电力大学 一种基于支持向量机的过滤-封装式组合流量特征选择方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193158A1 (ko) * 2013-05-28 2014-12-04 아주대학교산학협력단 콘텐츠 중심 네트워크에서의 서비스 거부 공격 탐지 장치 및 방법
CN104102700A (zh) * 2014-07-04 2014-10-15 华南理工大学 一种面向因特网不平衡应用流的分类方法
CN105740388A (zh) * 2016-01-27 2016-07-06 上海晶赞科技发展有限公司 一种基于分布漂移数据集的特征选择方法
CN106156803A (zh) * 2016-08-01 2016-11-23 苏翀 一种基于Hellinger距离的懒惰决策树方法
CN108319987A (zh) * 2018-02-20 2018-07-24 东北电力大学 一种基于支持向量机的过滤-封装式组合流量特征选择方法

Also Published As

Publication number Publication date
CN109412969A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN110311829B (zh) 一种基于机器学习加速的网络流量分类方法
CN111144459B (zh) 一种类不平衡的网络流量分类方法、装置及计算机设备
US9729571B1 (en) System, method, and computer program for detecting and measuring changes in network behavior of communication networks utilizing real-time clustering algorithms
CN110572382B (zh) 基于smote算法和集成学习的恶意流量检测方法
Liu et al. A class-oriented feature selection approach for multi-class imbalanced network traffic datasets based on local and global metrics fusion
Singh Performance analysis of unsupervised machine learning techniques for network traffic classification
Mahmood et al. Critical infrastructure protection: Resource efficient sampling to improve detection of less frequent patterns in network traffic
US8694630B1 (en) Self-learning classifier for internet traffic
CN104102700A (zh) 一种面向因特网不平衡应用流的分类方法
Liu et al. Mobile app traffic flow feature extraction and selection for improving classification robustness
CN113762377B (zh) 网络流量识别方法、装置、设备及存储介质
CN114880478B (zh) 基于主题信息增强的弱监督方面类别检测方法
Su et al. Hierarchical clustering based network traffic data reduction for improving suspicious flow detection
WO2020024444A1 (zh) 人群绩效等级识别方法、装置、存储介质及计算机设备
Chung et al. An effective similarity metric for application traffic classification
Zhang et al. Semi–supervised and compound classification of network traffic
CN109412969B (zh) 一种移动App流量统计特征选择方法
Alizadeh et al. Timely classification and verification of network traffic using Gaussian mixture models
CN112633353A (zh) 基于包长概率分布与k近邻算法的物联网设备识别方法
CN114978593B (zh) 基于图匹配的不同网络环境的加密流量分类方法及系统
Sajeev et al. LASER: A novel hybrid peer to peer network traffic classification technique
CN113794653B (zh) 一种基于抽样数据流的高速网络流量分类方法
Hsieh et al. On the classification of mobile broadband applications
CN114925286A (zh) 舆情数据处理方法及装置
Garcia et al. Clustering-based separation of media transfers in DPI-classified cellular video and VoIP traffic

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant