分类识别

2024-08-26

分类识别(精选10篇)

分类识别 篇1

发动机工作时, 许多相对运动零部件承受着相当大的机械负荷和热负荷, 而这些零件因相对运动表面之间产生摩擦, 不仅会增大发动机内部的功率消耗, 使零件迅速摩损, 而且由于摩擦产生的热量会使某些零件熔化黏合, 致使发动机无法运转, 因此为保证这些零件能够长期可靠地工作, 必须对相对运动表面加以润滑。

1 机油特性

通常要求机油具备良好的黏温特性、抗氧化性能、清洁分散功能以及抗磨损性能。只有具备以上性能, 才能保证机油实现下面的功能:①在发动机各零部件之间形成油膜, 润滑及降低摩擦阻力;②在活塞环和气缸之间形成有效密封, 防止燃油混合气泄露;③冷却并降低发动机的工作温度;④把发动机中的杂质带走, 避免形成油泥影响运转;⑤对发动机内部零件提供油膜保护, 避免金属表面受到腐蚀。

机油的评价指标很多, 黏度、黏温性能、清净分散性能以及抗氧、抗腐、抗磨性能等等, 其中最重要的是黏度, 因为黏度不仅是机油分类的重要依据, 而且对发动机的工作有重要影响。 如果黏度过小, 会出现以下弊病:①在高温条件下, 润滑油容易从摩擦表面流失, 不能形成有效油膜, 使机件的摩擦与磨损加剧; ②密封作用不好, 气缸易漏气, 有效功率下降, 机油易被稀释和污染;③蒸发性较大, 机油易上窜, 造成烧机油, 恶化发动机工况, 还白白增加机油消耗量。 相反, 如果机油黏度过大, 又会出现相应的问题:①发动机低温起动困难, 机油流动性差, 易出现干摩擦与半液体摩擦;②机油循环阻力增大, 致使发动机功率损失和燃料消耗增加;③机油的循环速度慢, 循环频率降低, 冷却与清洗作用变差。

2 机油的分类

按品质和成分可以将机油分成以下三大类:植物类机油、矿物性机油、合成机油。其中植物类机油由于容易产生积炭, 必须经常清洗发动机, 异常麻烦。矿物性机油是以从石油中精炼出来的润滑机油为基础, 添加各种添加剂混合而成, 分为蜡基机油和环烷基机油。现在机车一般使用蜡基机油, 主要是因为蜡基机油的种类多, 价格选择性大, 可以满足各个层次的需要。合成机油是利用化学方法根据需要添加各种成分制造出来的机油。这种机油实际上不是机油, 正确的叫法应该是化学合成润滑剂, 也称为化学合成油, 现在其价格已经与矿物性高级机油的价格相差无几。目前普遍认为合成机油是下一代的机车机油, 必将获得广泛的应用。

对于那些低温时黏度小、高温时黏度大, 能保证发动机在任何温度下都能正常润滑的机油, 定义为多级机油。多级机油的主要优点:①全年使用;②延长发动机寿命, 减少磨损 (减少冷起动引起的磨损) ;③提高燃油经济性;④降低润滑油消耗;⑤提供良好低温润滑性;⑥更长的换油期。

3 机油牌号的识别

机油牌号有SF SAE20W-50、SE SAE10W-30等, 这是美国汽车技术协会 (SAE) 机油黏度指数表示法。机油按SAE法分类, 冬季用油有6种, 夏季用油有4种, 冬夏通用油有16种。冬季用油牌号分别为:0W、5W、10W、15W、20W、25W, 符号W代表冬季, W前的数字越小, 其低温黏度越小, 低温流动性越好, 适用的最低气温越低。夏季用油牌号分别为:20、30、40、50, 数字越大, 其黏度越大, 适用的最高气温越高。冬夏通用油牌号分别为:5W/20、5W/30、5W/40、5W/50、10W/20、10W/30、10W/40、10W/50、15W/20、15W/30、15W/40、15W/50、20W/20、20W/30、20W/40、20W/50, 代表冬用部分的数字越小、代表夏季部分的数字越大者黏度越高, 适用的气温范围越大。而机油牌号中的SF是美国石油协会的机油等级标记, 机油等级大致有:SA、SB、SC、SD、SE、SF、SG, 按顺序, 机油性能递增。如SG具有比SF更好的清净性、高温氧化稳定性、耐磨性、高温时的清净性, 机油中会有更多用来保护发动机的添加剂。

分类识别 篇2

高光谱图像模糊识别分类及其精度评价

高光谱遥感是在特定光谱域以高光谱分辨率同时获取连续波长的地物光谱图像,并能提供更多的精细光谱信息,有利于选择各种单一地物光谱差异明显的`波段,使得高光谱遥感应用于更广的地物识别中.文中采用模糊识别的绝对值指数法对高光谱图像进行识别分类,并对分类结果进行像元级的评价.

作 者:闫永忠 万余庆 YAN Yongzhong WAN Yuqing  作者单位:中国煤炭地质总局航测遥感局遥感应用研究院,西安,710054 刊 名:地球信息科学  ISTIC PKU英文刊名:GEO-INFORMATION SCIENCE 年,卷(期):2005 7(4) 分类号:X87 关键词:高光谱遥感   模糊识别   绝对值指数   精度评价  

分类识别 篇3

【关键词】词块  界定  分类  识别

引言

词块是固定或半固定的语言结构,具有特定的表达功能,因为词块不但兼具词汇和语法的特征,而且融合了语义、语法和语境的优势,可以作为整体被储存和提取,并在英语这一自然语言中大量存在。这对于新课程下标准下的英语教学意义重大,因为词块的大量积累可以有助于外语学习者克服外语学习中的语言障碍,使口语和写作更为流利连贯,语言表达更为地道生动。基于词块在语言习得中所扮演的重要角色,在本文中笔者就词块的界定、分类和识别尝试性地进行了讨论和分析。

一、词块的界定

英国著名语言学家D. A. Wilkins说过:“没有语法,人们不能表达很多东西;而没有词汇,人们则无法表达任何东西。”词汇是语言系统的建筑材料,大量的词汇对于语言学习的每个阶段来说都是必不可少的。然而,在传统的英语教学法中,词汇教学并未受到应有的重视,词汇与语法不仅被割裂开来而且往往被视。

近年来,随着语料库语言学的发展,人们对这一现象有了重新的认识 ——词块理论逐渐进入研究者的视野。研究者们发现英语自然语言中存在着大量的兼有语法和词汇双重特征的固定或半固定的语言结构,这些模式化的结构(lexical chunk)作为一个整体储存在人的大脑中,供人们提取使用,一些研究者们把这种语言结构称之为词块。实际上,虽然在国内外语言学术界对词块的调查研究和教学实践进行得如火如荼,但迄今为止,研究者们对词块的定义众多,尚未统一。

二、词块的分类

由于对词块的定义标准不一致,词块的分类标准也存在着多样性。这显然不利于新课程标准下英语教学实践活动的高效开展,故笔者尝试着在多种词块分类中进行了筛选。

1.Michael Lewis于1993年出版了一本书籍,在他的著作中,根据词块的结构和功能,词块可以被分为四类:(1)单词和聚合词。前者指传统意义上的单词,后者通常为2~3个词组成的固定短语,不可变化,不可分割,类似微型习语,如nevertheless;by the way;up to now;bread and butter;on the other hand。复合名词亦属于此类,如prime number;nativity play。(2)搭配词。指自然语言中共现频率很高的单词组合,如catch a cold;a broken home;rancid butter。(3)固定表达。这类语块相对少见,形式固定且具有语用功能,大多为口语交际套语、谚语等,如I beg your pardon;how are you;not too bad;kick the bucket;It was the first time that I had seen the night face to face.(4)半固定表达。通常为非连续的结构性短语,相对于固定表达,这类语块数量较多,且广见于口语及书面中,如could you pass…,please?;what really surprised me was;firstly,secondly,and finally。

2.此外,只按语法功能分也可以将词块分为:(1)名词性词块,如bread and butter、life and death;(2)动词性词块,如look forward to、pay attention to;(3)形容词性词块,如a large number of、large and small、right and wrong、a piece of;(4)副词词块,如all of a sudden、by and large;(5)介词词块,如according to、in accordance with、in addition to;(6)连词词块,如as far as、as soon as、as long as。

3.按成分词数分类按成分词的个数可以将词块分为两词词块(如above all)、三词词块(如first of all)、四词词块(如on the one hand)、五词词块(如as a matter of fact)等。

4.按出现频率分类按照在语料库中的出现频率,词块可以分为高频词块、中频词块和低频词块。频率是决定一个语言结构是否为词块的一个非常重要的条件,因为只有频率相对较高的语言结构才有可能是词块。考查词块的频率,不仅要看词块在整个语料库中出现的实际频率及其排名,还需要看组成词块的那些词一起出现的概率。常常某个词块在语料库中的出现频率未必很高,但组成这个词块的词之间却可能有很高的互现率。

三、词块的识别

多方印证法是综合运用文献收集、语料库和人工识别等方法来确定词块。我们可以先考查·候选词块在口语、书面语和学术语料库中出现的频率,在3个语料库中出现频率较高的词块,再结合教材进一步分析词块的出现频率,出现频率仍然高的便可鉴定为词块。多方印证法是保证词块识别信度和效度的最佳选择。

四、结语

手势动作识别分类的研究 篇4

1 s EMG的特征提取与特征选择

表面肌电信号的特征提取对手势动作的识别率有直接影响。本文采用时域、频域及时频域的特征作为不同手势动作的特征。但是, 特征太多会给计算带来困难, 而且会造成分类效果的恶化。因此本文采用K-W检验的方法对时域、频域及时频域的单个特征进行评价, 选择最具有分离度的特征。本文将提取的特征作为改进PNN神经网络的输入信息对7种手势动作识别分类, 并与传统的神经网络进行识别率对比分析。

2 改进PNN神经网络模型

PNN神经网络是1990年由Specht提出的一种径向基函数 (RBF) 网络的重要变形。它的训练学习过程是一个完全正向的过程这一点与传统神经网络不同, 大大减少了点问题。

训练时间。不仅如此该网络不易陷入局部极小值点, 非常适合模式识别研究。在进行仿真实验时, 传播率的改变对识别结果的影响明显, 总会有一个值能使识别率最高但是在概率神经网络中该参数一般是手工设定, 增加了训练时间, 为了提高效率本文通过仿真实验, 在多次试验中找使结果最好的取值。粒子群优化算法被广泛应用与优化数值的求解, 本文采用该方法选取最优的传播率参数。

3 仿真实验及结果分析

将本文的改进算法统传统的算法进行比较分析, 改进PNN神经网络算法记为P1算法, 传统BP神经网络算法记为P2算法。对于P1算法:设计的PNN网络的结构为:输入层有4个神经元, 输出层有7个神经元, 中间层的传递函数为高斯函数, 输出层的传递函数为线性函数。将第1通道均值、第2通道均值、第1通道功率谱密度、第2通道功率谱密度作为输入特征, 进行仿真实验研究。

4 结论

传统的神经网络训练时间长且易陷入局部极小值, 在手势动作识别研究中正确识别率也并不高, 本文针对这些问题提出的改进PNN神经网络有效克服了这些不足, 识别率提高到90%左右, 并且训练时间也缩短了一半。有效的改善了手势动作识别效果。

改进PNN神经网络的提出为手势动作识别分类提供了理论基础, 为智能假肢的研究提高的科学依据, 但是, 为了将手势动作的识别算法应用于智能假肢, 改进的概率神经网络识别算法的识别率仍有待提高。因此, 寻找更有效的识别算法, 提高手势动作的识别准确率是今后的研究热

摘要:手势动作识别分类已成为当今的热点研究问题, 但目前所采用的识别方法识别率较低。为了寻找高识别率的手势识别方法, 本文提出了一种基于改进的PNN神经网络手势识别算法。主要对传播率参数进行优化, 克服了传统传播率需要人工设置的缺点。经过仿真实验研究, 改进算法平均正确识别率均在90%以上, 而传统算法的正确率仅为80%左右, 即改进的PNN神经网络算法具有更短的训练时间和更强的分类能力。

关键词:手势动作识别,PNN,传播率,识别率

参考文献

[1]JIN D W, WANG R CH.Artif iciallntelligent prosthesis[J].Chinese J.Clinical Rehabilitation, 2002, 5 (20) :2994-2995.

[2]Paclik P, Novovicova J, Pudil P.Roadsign classification using Laplace classifier[J].Pattern Recognition Letters, 2000, 21 (13-14) :1165-1173.

[3]Sueteus P, Fua P, Hanson A J.Com-putation alstrategies for objectrecognition[J].ACM Computing Surveys, 1992, 24 (1) :5-61.

[4]Specht D.Probabilistic neural network[J].Neural Networks, 1990, 3 (1) :109-1 1 8.

[5]McDuff R J, Simpson P K.An Inves-tigation of Neural Networks for F-16Fault Dignosis:II.System Performance[C]//SPIE 1294 Application of Arti-ficial Neural Networks.1990:42-45.

[6]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社, 2005.

分类识别 篇5

关键词 KNN算法;Bayes算法;组合分类器;互信息;交叉验证

中图分类号 O213;TP18 文献标识码 A

1 引 言

电子商务的异军突起促使网购走进人们的日常生活,网购的同时,多数网民会在不受约束的情况下对相关产品发表评论,而这种随意性往往使得这些产品评论中充斥了大量无用的、不真实的信息,这些信息就是垃圾评论.垃圾评论在一定程度上影响了评论信息的参考价值,从而误导潜在消费者并干扰销售商对销售业绩的评价.产品垃圾评论的识别旨在解决这一问题,将垃圾评论从评论文本中剔除,保留真实的产品评论,为用户提供可靠的参考依据.

结合近几年垃圾评论识别的文献可知,垃圾评论识别的关键问题是文本特征的提取与分类算法的选择.N Nitin Jamal和Bing Liu等[1]首次对垃圾评论进行了分类,很好地识别了英文领域中存在的无用评论,但由于中英文之间存在差异,往往英文领域的垃圾识别方法不能直接有效地应用到中文领域当中.游贵荣等[2]提出了中文垃圾评论的特征提取方法,邱云飞等[3]、吴敏等[4]、李霄等[5]分别从用户行为、产品特征的显著性检验以及信息的有用性角度对垃圾评论的识别进行了研究,但在分类器的选取上,上述学者均采用单一算法的分类模型,如单一的Logistic回归算法等.大量的理论与实验结果表明,多分类器系统不但可以提高分类的正确率,而且可以提高识别系统的泛化能力和鲁棒性.与此同时所有分类器都参与集成的效果并非最好,从众多分类器中选择部分互补性强的分类器进行集成可以提高集成的效率并改善其效果[6].因此本文在建立文本特征表示模型的基础上,提出了用高互补性组合分类器对评论进行识别和过滤.

2 文本特征的提取

2.1 产品评论的特点与垃圾评论的分类

为了更准确地识别垃圾评论,首先探讨产品评论的特征.

通过对中文产品评论中的评论文本进行分析,总结出中文产品评论领域的特点主要体现在以下几个方面:

1)评论文本格式自由多样;

2)评价对象的多样化;

3)评论内容具有近似重复性;

可分为①由不同评论者针对同一产品发表的近似重复评论;②由同一评论者针对不同产品发表的近似重复评论;③由不同评论者针对不同产品发表的近似重复评论;

4)不真实评论;

5)广告;

6)不带有感情色彩的随机文本.

基于以上分析,将垃圾评论定义为以下5种类型:-

1)非指定产品的评论:该类评论的特点为它虽然是评论,但只对品牌和制造商,甚至是站点评论,而没有针对当前产品本身进行评论,或者确实是对产品进行了评论,但是评错了产品.如在苹果手机的评论中,“买SONYZ3也不错啊,很漂亮,旗舰机...”等

2)虚假评论:如“我这有全新的iPhone6 Plus,只要99元”等.

3)广告评论:如“苹果超爱大屏幕3 500元拿现货QQ热购122929079”

4)无意义文本:

①个人的消费经历,如“再烂都永远有人疯抢,飘扬过海甚至成为一部手机,实在不懂.”②人身攻击,如“用苹果的都是脑残”等,③其他无关文本,如“信号不好等”“转给我呗?”

5)咨询性评论:只是询问关于产品的情况,而不是评论.如“多少钱呢?”.

2.2 特征提取与量化

为了建立产品垃圾评论识别模型,根据2.1节的分析结果,分4个模块对产品评论文本进行特征提取与量化.

模块一 数据的搜集

本文采用WebHarvest网络爬虫对京东商城和天猫商城内多个商家的iPhone 6 Plus的产品评论进行爬取,得到由两万条产品评论组成的数据集A0,同时对苹果官网上关于iPhone 6 Plus的产品参数进行爬取,得到产品属性数据集B0.

模块二 对爬取的数据集进行预处理

1)构造用户词典.用户词典包括停用词词典、极性词词典,其中极性词词典主要是由HowNet极性词加上一些评论作者常用的、和表达情感有关的网络流行词,及一些口语化的词语与缩写组成,用以表达用户褒贬倾向和感情色彩.停用词词典由网络上现有的停用词词表加上针对垃圾评论特性的停用词组成[7-9].

2)文本分词.中文单词是评论信息处理的基础,分词工具采用中科院提供的分词工具ICTCLAS 2015分词系统[10],其主要功能包括中文分词、词性标注,同时允许用户向系统中导入自定义词典以提高特定领域的分词效果,因此,将上述用户词典与产品属性数据集B0作为自定义词典导入ICTCLAS分词系统后,对数据集进行逐条分词、词性标注以及情感词标注,得到预处理后的数据集A.

模块三 特征的互信息检验

为了选取最能表达文本信息内容的特征,本文从被评论的商品、评论者、文本结构、情感倾向、主题词五个属性提取特征,在提取特征之前,先利用互信息说明这5个属性对识别垃圾评论具有显著相关性.-

互信息是2个事件集合之间的相关性,通常用来衡量某个属性和类别之间的统计独立关系,互信息量越大,代表特征项与类别之间的贡献概率也越大.现对所选特征进行互信息检验,旨在说明所选属性能在一定程度上反应该条评论的信息,即所选属性项是互信息量较大的词条,互信息(MI)定义如下

2)高互补性分类器

高互补性分类器组合的构建流程大致为:首先构造一定数量的候选分类器如Bayes分类器、KNN分类器、SVM分类器和logistics回归分类器等,计算分类器之间的相关程度,然后根据相关系数对候选分类器进行排序,并依据可信度,选择出对目标有较高识别率的分类器组合.

首先,验证单一算法分类器的局限性.利用数学软件MATLAB,对其进行基于多层BP网络的识别模式的标记,对上述四种分类器用SPSS比较其准确率,召回率以及Fmeasure值.得表2.由表2,垃圾评论识别的准确率相对偏低,不少数量的正常评论被识别为垃圾评论;其召回率也不高,直观来看是有些垃圾评论被判别为正常评论.可见单一分类算法的过滤效果并不理想,本质原因是分词的不准确性使得评论文本特征有限的缺点充分暴露,以致于对结果的准确性产生很大影响,而且Bayes分类器要求各个特征项之间相互独立,这显然于现实不符.同时也从侧面说明单一算法的分类器对数据量要求很大,需要对较为完备的训练集特征进行学习[6].

为了更准确地进行垃圾评论识别,本文对各分类器进行组合,得到高互补性分类器.根据高互补性分类器组合理论,利用相关系数对上述4种分类器的互补性进行分析,即相关系数大的分类器组合互补性弱,相关系数小的分类器组合互补性强.

利用SPSS软件对其进行相关分析,见表3.

由表3,相关系数的大小排序为:

SVM+Bayes>SVM+KNN>Bayes+LR> LR+KNN>LR + SVM>Bayes+KNN.

其对偶命题互补性排序为:

SVM+Bayes

LR+KNN

可见Bayes分类器和KNN分类器的相关性最低且显著性均大于0.01,即可认为他们之间的互补性最强,存在统计学意义.而SVM分类器和Bayes分类器的相似度较高,且显著性大于0.01,认为存在统计学意义.为了进一步验证这4种分类器的互补性,对这6个组合进行聚类检验.

用SPSS软件对其进行聚类分析,结果见表4

由上可知,互补性最强的组合分类器为Bayes+KNN分类器.

3.4 模型的交叉验证

本文利用WebHarvest爬虫从天猫和京东商城爬取了20 000条评论作为原始数据集A0,将构建好的用户词典与产品属性数据集B0导入ICTCLAS 2015分词系统后,得到预处理数据集A,对A中的每个数据类型进行人工标记,再随机地将其等分成4份得到A1、A2、A3、A4.

先以数据集A1为检验集,A2,A3,A4为训练集,计算模型的性能指标.首先将数据集A2,A3,A4的特征向量导入Bayes+KNN组合分类器对其进行训练,然后将检验集A1的特征向量导入到已训练好的分类器中,得出检验集中相应评论是非垃圾评论还是垃圾评论,最后根据分类器对每条评论判定的结果以及人工标记,计算该训练集和检验集组合下,分类器的性能指标.用同样的方法得到依次以A2、A3、A4为检验集的分类器的性能指标,相关结果见表5.-将上述3个评价值平均得,基于KNN算法和Bayes算法的垃圾评论识别模型的最终准确率达到75.3%,召回率为82.1%,F1值为77.5%,结果较为理想,有应用价值.

4 结束语

垃圾评论识别的关键问题是文本特征的提取与分类算法的选择.本文根据中文评论的特点提取了14个特征,并利用组合分类器算法对垃圾评论进行了识别,得到了较理想的结果.通过搭建基于Hadoop的大数据平台集群,本模型可推广到一个基于通过海量数据集进行训练的垃圾评论问题,从而实现此模型适用于更一般产品的垃圾评论的检测目标.-

参考文献

[1] N JINDAL, B LIU.Opinion spam and analysis[C]//Proceedings of the first ACM international conference on Web search and data mining,2008:219-229.

[2] 游贵荣,吴为,钱沄涛.电子商务中垃圾评论检测的特征提取方法[J].情报分析与研究.2014,251(10):93-100.

[3] 邱云飞,王建坤,邵良彬等.基于用户行为的产品垃圾评论者监测研究[J].计算机工程.2012,38(11):254-257,261.

[4] 吴敏,何珑.融合多特征的产品评论识别[J].微型机与应用.2012,31(22):85-87.

[5] 李霄,丁晟春.垃圾商品评论信息的识别研究[J].现代图书情报技术.2013,29(1):63-68.

[6] H J KANG,D DOERMANN.Selection of classifiers for the construction of multiple classifier systems[C]//Proceedings of the 8th- international conference on Document Analysis and Recognition. Seoul, Korea, 2005,1194-1198.

[7] 知网[DB/OL].HowNet Knowledge Database[DB/OL].[2013-11-05]. http://www.keenage.com/ .

[8] 赵文婧.产品描述词及情感词抽取模式的研究[D].北京:北京邮电大学计算机学院,2010.

[9] 顾益军,樊孝忠,王建华.中文停用词表的自动选择[J].北京理工大学学报.2005,25(4):337-340.

[10]ICTCLAS 汉语分词系统 (ICTCLAS Chinese Lexical Analysis System [CP/OL].[2015-10-05].http://www.ictclas.org/.

[11]C C CHEN, Y D TSENG. Quality evaluation of product reviews using an imformation quality framework[J].Decision Support Systems. 2011, 50(4):755-768.

基于遗传规划的植物分类识别方法 篇6

植物的分类识别是一项基础性的工作, 在农业生产及林业统计中的应用十分广泛。传统的分类识别主要依靠工作人员手工操作, 不仅识别效率低, 而且对工作人员的专业素质要求较高, 造成了巨大的人力资源浪费。如何寻求一种有效的、能够实现植物的自动分类识别的方法, 成了这一领域研究的热点问题。目前, 国内外在植物自动分类识别方面的研究有了一些成果, 但是都没有形成完善的体系, 分类识别的准确性有待提高。

遗传规划诞生以来, 遗传规划与图像有关的研究工作已取得了丰硕成果, 其中包括图像处理、图像分类及目标检测等方面应用研究。遗传规划提出了一种全新的结构描述方法, 其实质是用广义的层次化计算机程序描述问题。这种广义的计算机程序能根据环境状况动态改变其结构和大小, 具有良好的自学习和自适应性。遗传规划分类器的进化和分类速度非常快, 实时性能好, 分类识别需要领域知识很少, 便于推广使用。本文应用遗传规划对植物叶片进行识别分类, 取得了较好的效果。

1 遗传规划概述

遗传规划是从遗传算法中派生和发展起来的一种搜索寻优技术, 由J.R.Koza于1989年首次提出。它仿效生物界中进化和遗传的过程, 从一组随机生成的初始可行解开始, 通过复制、交叉和变异等遗传操作, 逐步迭代而逼近问题的最优解。遗传规划从遗传算法发展而来, 但是表现形式有很大区别[1]。遗传规划中所使用的个体是长度和大小可变的程序树, 这种动态树状表示方式自然灵活, 更接近人类解决问题的自然方式, 在很大程度上克服了遗传算法的局限性, 是一种不依赖于具体问题领域特定知识的机器自动学习的方法。

1.1 遗传规划的程序表达

1.1.1 遗传规划函数集 (Function set)

1) 算术运算符“+, -, ×, /”, 这里的“/”是保护除, 即当除数为0 时, 其商定义为0。

2) 三角函数及其它函数, 如sin, cos, exp, log 等。

3) 逻辑运算符为AND, OR, NOT, XOR。

4) 其他:甚至可以是复杂的程序结构、傅里叶变换等。一般非常复杂的程序 (如循环结构) 不放在函数集中, 避免造成程序过程进化太复杂和适应度计算不便[1]。

1.1.2 终止集 (terminal set)

终止集由要解决的问题相关特征值组成, 有时也根据具体情况加入常量值。一般常量用随机函数随机产生, 还可以加入其他与问题领域有关的常量。

1.2 遗传规划的进化过程

1) 确定各控制参数。主要包括:确定函数集和终止符集;确定适应度函数;确定各个遗传操作的概率 (如复制概率、交叉概率等) ;确定终止准则。

2) 随机产生初始群体, 本文中函数集为 (+, -, *, /) 。

3) 确定每个个体的适应度, 如果满足停止准则, 则停止, 否则转到第4步。

4) 对群体中个体施加遗传操作, 以便产生下一代群体。一是复制, 即将现有个体复制到新的群体中;二是交叉, 即交换两个个体的相应随机选定的部分;三是变异, 即改变个体的随机选定的部分;四是转回第3步[2]。

2 方法设计

方法设计如图1所示。

2.1 图像样本采集和预处理

为了便于研究, 本文收集若干植物叶片图片作为实验样本。通过c++编写程序对样本进行了去噪和灰度化等处理, 得到了比较清晰的灰度图像。

2.2 图像分割与特征值提取

为了提取有效的图像特征值, 一般要对图像进行分割处理。分割方法有很多种, 如矩形环域划分、六矩形区域划分、同心环域划分和三角形区域划分等。根据叶片形状的特性, 本文采用等宽同心环的方法进行分割[3,4]。使用像素统计法提取图像特征, 分别统计划分区域的像素亮度标准差和像素亮度平均值。每种窗口划分方法都是6个区域划分, 每个识别的图像提取12个图像特征值。公式为

式中 n—区域内总的像素个数;

f (x) —像素点的亮度值。

2.3 遗传规划的参数设置

2.3.1 叶节点的选择

个体树的叶结点由输入变量与常量构成。本文算法是:选取从图像样本中提取的特征, 把每个特征值作为一个叶结点, 并用这些点和临时随机常数P表示终端集, 即

2.3.2 数集的选择

通常函数集可以由运算函数、三角函数、布尔运算符和条件运算符等构成。经过研究发现:使用算术运算符 (+, -, *, /) 不仅能很好地进行图像的识别和分类, 而且可以提高程序进化的效率。因此, 本文选择算术运算符“+, -, *, /”作为函数集。

2.3.3 适应度函数的定义

适应度函数是对个体相对于要解决问题的优劣程度的评价。根据适应度的大小决定个体是繁殖还是消亡, 因此适应度是驱动遗传规划的动力。从生物学角度讲, 适应度相当于“优胜劣汰, 适者生存”的原则, 在程序进化过程中具有重要意义[5]。

为了提高分类识别精度和控制种群规模, 本文选用带有反馈因子的识别误差形式, 即

式中q (x) —反馈因子, 根据正确率的变化而变化;

x —分类的正确率;

s —个体的规模。

2.3.4 算法控制参数的确定

算法控制参数包括种群的大小、遗传操作 (如交叉、复制、变异) 的概率。应用遗传规划必须先提供一个初始的种群, 该种群的选择对遗传规划的进化速度有一定的影响[6]。

2.3.5 终止条件选择

分类系统在识别分类时, 若满足下列条件之一, 则分类器停止进化:

1) 种群 (population) 中程序 (program) 的最好适应度达到了预先设定的标准, 即进化得到的问题解决方案符合要求;

2) 系统进化的代数达到了预设的最大代数, 意味着条件1) 没有达到分类识别的效果。

3 实验结果与总结

应用上述方法挑选160组试验样本作为训练集, 对分类器进行训练。另选240组试验样本验证集进行分类识别, 程序进化代数为62, 正确识别组数为231组, 识别正确率为96.25%, 基本达到了预期目标。

本文提出了一种基于遗传规划进行植物的分类识别方法, 通过对植物的最直观、最易收集的叶片部分进行研究, 利用简单的像素统计方法提取叶片图像特征值, 达到了较高的识别准确率。但也存在着一些不足:由于在遗传规划的进化程序中, 初始种群是由电脑随机产生, 同时产生了大量冗余, 最终影响了分类器的识别效率, 希望在以后的研究中加以改进。

参考文献

[1]云庆夏, 黄光球, 王战权.遗传算法和遗传规划[M].北京:冶金工业出版社, 1997:58-85.

[2]李敏强, 寇纪淞, 林丹, 等.遗传算法的基本理论与应用[M].北京:科学出版社2002:317-347.

[3]Milan Sonka, Vaclav Hlavac, Roger Boyle.图像处理、分析与机器视觉[M].艾海舟, 武勃, 译.北京:人民邮电出版社, 2003:385-412.

[4]Linda G.Shapiro George C.Stockman.计算机视觉[M].赵清杰, 钱芳, 蔡利栋, 译.北京:机械工业出版社, 2005:62-79.

[5]Langdon W B, Poli R.Foundation of genetic programming[M].[S.l.]:Springer-verlag, 2002.

分类识别 篇7

关键词:安卓系统,流量,抓包,应用划分

1 引言

随着智能手机和3G、4G网络的普及, 流量也成为话费支出的一大巨头。据著名分析机构Strategy Analytics公司发布的一份关于Android用户数据流量使用情况最新调研报告显示, 有近四分之一的Android用户被归类为“重度用户 (Power User) ”, 每天使用的数据流量超过300M。日益增长的手机流量消费以及手机流量分类对于运行商改善网络发展规划、提供高能效业务等方面的重大影响, 都使得对于手机流量的应用分类成为我们关注的目标。而安卓手机作为手机系统中的主流, 自然地被选作了手机系统分类研究的目标。

目前, 网络流量的分类已经被广大研究者关注, 在流量分类上也取得了较大的成果。本实验的目的就是将网络流量的分类算法引入到安卓手机流量分类中来, 基于应用将手机上进出的流量进行识别划分。针对这个目的, 我们的工作主要流程是获取安卓手机不同类型应用的报文, 提取某些流测度, 训练出一个分类器, 当安卓手机有应用传输数据时, 抓取报文, 利用训练出来的分类器进行流量的识别, 判断是哪类应用。

每个报文的头部都有相同的指标, 但是不同的应用交换的流的指标参数都有其独特的特征, 这也是本文将流为划分不同应用的依据。基于正确的分类算法, 能够较为准确的判断出应用类别。

检测流的应用分类, 本文将其分为以下几个步骤。 (1) 获取不同类型应用的流的特征参数出训练分类器。 (2) 用抓包软件抓取手机后台吞吐的流量包, 保存, 提取特征参数。 (3) 通过域名地址对应表或分类器进行应用确定。本文监测的流量和训练分类器所用的流量, 都是来源于运行配备android系统的手机上的不同应用而捕捉到的。

2 相关工作

关于网络流量分类的研究成果, 主要可以归纳为4种方法:基于标准端口匹配、基于深度包检测、基于协议解析和基于统计学习方法。每种方法各有优缺点和适用范围。鉴于基于端口和基于协议的局限性, 本文将采用较为灵活的基于统计学习的分类算法。前人在此已经有了较为丰富的成果:周剑峰等人改进了C4.5算法, 提高决策树的构建速度[1];林平、雷振明等人通过程序对采集的数据进行特征提取, 利用两类流的特征, 将单个流检验的正确率大幅度提高, 同时也将最终模型从35个特征参数降维到26个, 进一步降低了复杂度[2]。

综上, 可以总结出基于统计学习的流量分类的内容:基于统计学习的流量分类方法通过计算特定的应用流量的统计信息, 利用各种机器学习算法, 包括有监督和无监督学习算法, 对捕获的数据包进行鉴别。

3 数据采集以及特征参数获取

分类器的训练是整个研究的中心和重点, 训练分类器的数据是影响分类的准确性的重要因素。为了减少不确定因素, 本文用来训练分类器的数据都是通过运行安卓手机应用获取的。获取数据的方法是用电脑建立wifi, 将手机连接至电脑, 利用电脑的wireshark软件抓取流量包, 编写Java程序, 提取出所需的三个特征参数, 保存为txt文件。本文中为了训练分类器选取了三个特征参数 (Time——流持续时间, Packets——流报文总数, Bytes——流字节总数) , 利用不同应用具有相应的特性的特点, 来训练分类器和检测应用。

分类器的训练需要通过大量不同类型应用数据, 主要可分为三类。 (1) 电话应用——由微信软件打电话生成的流参数。 (2) 语音应用——由微信软件发语音生成的流参数。 (3) 消息应用——由微信软件发消息生成的流参数。

但是, 不同的数据在流特征很小的地方重合度较高, 因此, 在训练分类器的之前, 应该通过数据过滤, 将小于某一特定流测度的数据点全部过滤掉, 只利用具有代表性特征的数据点去进行训练。在利用训练好的分类器进行判断的时候也可以像这样, 对后台的包进行过滤后, 再判断其应用类型。

通过图通过排除具有误导性和干扰性的数据后, 分类器的精确度会大大提升, 为本次实验的成功奠定了基础。

4 分类器模型

分类器模型的建立主要是依靠经过处理后分为三类的训练数据以及做出分类的算法。主要是利用图形来表示。

利用gnuplot软件画聚类之后的三维图如图1所示。



可以从图上看出不同类型的数据分散较开, 当一组数据过来时, 就可以通过观察它的在图中的分布状况, 就可以得出它属于哪一类应用。

5 结语

文章研究了基于统计学习方法的安卓手机流量分类, 从应用这个角度切入, 将手机流量大致分为三类——语音、电话和消息。从上面的实验可以看到不同的统计学习方法具有不同的准确性。

基于统计学习方法的流量分类具有较高的灵活性, 操作简便。但是由于基于统计学习的方法对数据的选取要求较高, 准确性易受其影响, 如果检验采用的流不包含或仅含有较少的具有代表性的报文, 将会难以辨别其属于哪一类应用, 所以此方法具有一定的局限性。

目前已经做好的分类是仅仅利用了三个流测度来进行划分, 而实际应用中流的特征远远不止这些, 如果将更多能作为分类依据的特征参数加入到分类的因素中, 分类的效果应该会更好、更精确。

参考文献

[1]刘吉财.基于改进的C4.5算法的网络流量分类方法[J].计算机工程与应用, 2012 (5) :71-74.

基于量价特征分析的股票分类识别 篇8

上述方法各有所长, 却各有不足之处。它们在股票分类识别应用中的最大不足便是重用性差[1], 例如神经网络模型需要做预先训练来最优化参数, 因此训练的结果往往不适用于其它数据。比如我们训练一个神经网络来识别银行板块的股票, 训练好的神经网络模型却不能用来识别煤炭板块的股票。

结合上述模型的优点, 通过股票技术分析与模糊逻辑的理论方法建立一个基于量价特征分析的股票分类识别模型。模型的优点是: (1) 模型重用性高, 可将某一板块训练得到的模型应用于其他不同板块; (2) 利用均线系统与模糊逻辑方法降低了数据噪声影响; (3) 模型分类结果直观易理解, 通过对识别后的同类股票盯梢, 可以在某只股票率先上涨后立刻购入与其同类的未涨股票, 以此获利。

1 模型介绍

量价分析是分析价格、交易量两者之间关系的技术分析方法。模型立足于股票量价分析, 目标在价格和成交量的时间序列中找到一定的规律, 并根据这些规律找到相同规律的股票。模型通过分析股票的价格距离、走势特征、成交量特征来完成对同类股票的识别。

1.1 价格距离

价格距离是指两个股票间价格的欧式距离。但由于不同股票的发行价格不同、且存在除权的影响, 所以不能直接拿两个股票进行价格距离计算, 而应取经归一化处理后的复权价格数据来建模计算。同时为了降低数据噪声影响, 模型采用收盘价的3日移动平均值 (下文简称:MA3值) 代替日收盘价。在数据长度上, 选择200天的交易数据, 因为200天接近一年的总交易日, 已经足够反应两只股票间的走势是否相近, 并可据此判断他们是否属于同一类股票。

在计算价格距离前, 还需要考虑日期对齐问题。在股票市场, 上市公司遇到重大事项, 常常会向交易所申请停牌。由于可能存在交易停牌, 所以在计算价格欧式距离前必须先对齐价格数据的日期。交易日期对齐后, 若某日缺少价格数据, 则当日价格距离等于最后总距离的平均值。当对齐后缺少价格数据的天数超过一定数值 (一般取24天) , 则失去价格距离计算的意义。如果仍要进行股票间的价格距离计算, 只能另选满足长度要求的数据。

两个股票间价格距离的详细计算流程如下:1.取两只股票最近200日的交易数据, 2.将交易数据的日期对齐;3.判断对齐后的数据是否满足模型计算要求;4.计算股票收盘价的MA3值;5.将MA3值归一化;6.计算股票间的价格距离。

1.2 走势特征距离

单纯依靠计算两股票间的价格距离并不能知道两股的走势是否相近, 如图1中两个股票的价格欧式距离接近, 但走势不同。所以要判断两个股票是否属于同一类型, 除了计算股票间价格距离外, 还必须计算两个股票的走势特征距离。

股票走势分上涨、下跌、平缓三种, 如何定义这三种走势是计算走势特征距离的关键。经过实验统计, 模型将股票的三种走势分别定义如下: (1) 上涨走势:MA3值累计上涨超过3%为上涨走势; (2) 下跌走势:MA3值累计下跌超过3%为下跌走势; (3) 平缓走势:非上涨、下跌的走势统称平缓走势 (技术分析又称之为横盘走势) 。

据此定义的走势分布如图2下的走势统计图所示, 在统计时间 (2013年1月30日——2013年7月8日) 内的所有股票走势中, 44.7%为平缓走势, 而下跌、上涨走势分别为28.7%和26.6%。从图2上的单日MA3涨跌统计图可以看到, 单日便形成上涨、下跌走势的交易日不足10%, 也就是说走势的确立主要依靠数日的走势累积来完成, 这也符合股票实际运行规律。

在计算走势特征距离时, 还需考虑如何降低噪声影响, 例如由于某日暴涨形成上涨走势后在次日回落形成平缓走势甚至下跌走势, 这种单日暴涨形成的上涨走势便是噪声。为了降低噪声影响, 模型将三种走势分别细分成:走势初成、走势延续、走势结束三种, 最后将所有9种分类通过模糊逻辑的方法将其模糊化以降低走势特征的噪声影响。在模糊化时, 根据统计结果, 让这9种走势类型相互覆盖, 以减少波动噪声对整体走势计算的影响。

1.3 成交量异动特征

相同板块的股票常常具有相近的成交量变化规律, 例如2010年10月8日煤炭板块的股票集体放量大涨, 2013年3月28日银行板块的股票集体放量大跌。成交量变化和价格变化一样, 是市场最基本的表现, 也是分析股票行情的重要指标。在研究成交量特征时, 由于成交量的影响因素太多, 如股票股本结构、机构大户对敲、股票除权等, 这导致同类股票的中长期成交量变化不规律, 故模型采用股票技术分析中的短时成交量异动特征来分析股票间成交量变化规律是否一致, 并以此作为股票类别判断的其中一个依据。

模型使用的成交量异动特征分别是:倍量、地量、三天持续放量、三天持续缩量。这四种异动特征的定义分别如下:倍量, 即当前交易日的成交量比上一交易日的成交量大两倍以上。地量, 即当前交易日的成交量比上一交易日的成交量小两倍以上。三天持续放量, 即当前交易日的成交量比上一交易日的成交量大1.5倍以上, 同时上一交易日的成交量比上上一交易日的成交量大1.5倍以上。三天持续缩量, 即当前交易日的成交量比上一交易日的成交量小1.5倍以上, 同时上一交易日的成交量比上上一交易日的成交量小1.5倍以上。

确定好四种成交量异动特征后, 会发现这四个异动存在同时满足的情况。例如某一交易日, 可以同时满足倍量和三天持续放量;或者同时满足地量和三天持续缩量;为了更好地计算成交量异动特征距离, 使用模糊逻辑方法将异动特征模糊化, 再进行特征距离计算。

2 模型分类识别结果

建好模型后, 开始对模型进行测试, 测试模型的数据为截止2013年7月8日前的证券日交易数据。在进行分类识别前需对模型进行训练, 让其“学会”什么样的股票是同一类型的股票。训练模型使用的股票样本选择银行板块中9个走势基本相同的银行股:000001、002142、600000、600015、600016、601009、601166、6001169、601818。这九只股票走势相近, 且作为2012年末股市行情启动的标志板块, 其具有鲜明的板块联动特征。

通过上述9只股票完成模型训练后, 我们输入了:600008、000713、000858来测试模型分类识别结果, 模型输出结果见表1。

对测试的输入股票, 模型皆能找到与之走势相近的股票。其中模型输出与600008同类股票仅600874, 经分析两者虽同属环保板块, 但两者在13年7月8日前的走势与其他环保板块的股票并不相同, 可见同一板的股票不一定具有相同的走势。此外在13年2月20日的环保股上涨行情中600008与600874作为环保板块龙头股领涨环保板, 独树一帜, 在当时被市场称为环保双雄。

有趣的事情发生在完成分类识别后的13年7月24日14:15, 此刻600008放量上涨5.47%, 而同一时刻600874仅上涨了2.87%, 上涨步伐落后于600008, 此时买入600874次日卖出便能获利7%。

3 小结

文章介绍的基于量价特征分析的股票分类识别模型是基于历史统计信息的, 适用性广的和直观的股票技术分析模型。该模型通过计算股票间价格距离特征、走势距离特征、成交量距离特征来对股票进行分类, 分类结果能够指导投资者进行准确的投资决策。

摘要:该文介绍一种基于量价特征分析的股票分类识别模型, 该模型可输出与输入股票走势相近的同类股票。在证券市场, 同一板块或同一概念的股票在一定时间内都会表现出相近的走势。对相近走势股票进行计算机自动分类识别, 不仅减轻了手工分类的工作, 还能从同类股票中找到盈利机会。

关键词:量价分析,股票分类,模式识别

参考文献

[1]徐信喆.基于模式识别和分类的股市时间系列的分析和预测[D].上海:上海交通大学, 2008:19-27.

[2]刘明政, 梁斌.股市技术分析模型的自动辨识研究[J].鲁东大学学报:自然科学报, 2010, 26 (2) :122-126.

[3]宋恒, 张杨.基于模式识别技术的股票市场技术分析研究[J].计算机仿真, 2004, 21 (7) :469-475.

分类识别 篇9

1 基于微信流量的分类模型

目前对微信的流量识别方式较少,有些是基于深包检测的研究方法[2],但这些方法缺乏系统化的流量分类方法,在现有的深包检测的基础上,进一步对微信流量分类细化,提出了一种基于层次化的微信流量分类模型,能广泛用于类似微信的基于DPI的分类方法中[3]。

1.1 流量模式分析

从协议的角度上分析,微信流量是不具备加密性的,但可能存在一些重要的数据在网络传输前就进行过本地的加密。进一步,微信是基于一个主TCP连接发生的,在进入微信的同时,会开启一个客户端到服务器的TCP握手,当用户发生操作行为时,会在TCP连接中传输数据;当TCP连接传送完成时,也不会立刻关闭这个连接,由于微信业务的实时性,会有可能不断地发生更新,如果立即关闭TCP,很可能又需要再次开启,为了节省握手的资源消耗,微信采取了心跳包的方式,图1简要介绍了微信的大致通信机制。

1.2 基于DPI的微信流量的分类模型

基于上述微信的特点,提出了一种层次化的基于DPI的微信识别方法对微信流量进行识别研究。基于层次化的模型有如下好处:首先,层次化的结构是一种自上而下的结构,逐步细化求精的过程,轮廓分明;其次,基于层次化的结构易于管理和维护,一旦其中某一环发生了问题,可以立刻追踪到所归属的层次进行改进或者发现问题;最后,层次化的结构有及时反馈的扩展功能[4]。

(1)深包检测原理。微信流量分类使用的主要技术是基于正则表达式的DPI匹配技术对微信流量进行识别。首先,通过对微信流量的统计分析,得到微信的正则表达式特征,然后根据该正则表达式对微信流量进行匹配。实验结果表明,基于DPI的匹配技术在微信流量分类上具有较高的匹配度和识别度。

(2)微信流量分类模型。基于DPI的方法是通过分析捕获网络包的内容,通过签名的分类方法对网络流识别的一种流量分类方法,它强调了流的隐私性和加密性,如果流量是隐私或加密的流,则DPI的方法不可行。一般地,对于流中的有效载荷,其方法是通过流量的各个阶段分析流量特征的正则表达式,从而得出适合准确鉴别的流量特征。图2提出了基于层次化的流量分类结构的模型。

2 微信流量的识别

2.1 微信业务的研究对象

本文以微信5.1版本的流量为研究对象,该版本涵盖了实验研究的主流微信业务。实验室选用定点镜像交换机收集手机系统的微信流量进行研究,由于这些流量直接来自于定向的手机流量,所以得到的流量是100%的真阳性的微信流量,最终收集的流量存储在pcap[5]文件中,实验分析研究的对象就是这些本地的pcap文件。

2.2 微信特征分析

(1)微信特征包的采样对比

实验首先对微信的文本图片等业务进行了采样比对,发现某些包具有一些特定的特征。对单一的微信文本流量进行观察,发现wireshark软件中提示continuation or non-HTTP traffic包中的载荷部分的字节存在恒定的字段,进一步对微信的图片流量进行分析。在微信的图片流量中,仍然存在一些非HTTP协议的微信包可能包含有微信的特征字段,而这些包正式被标记为continuati on or non-HTT Ptraffic包,这说明,这类包中可能具备微信包的某种DPI特征,而图片和文本的微信流量的此类型包之间也存在一定的公共性。这些存在公共部分特征的包极有可能用来表征微信,于是实验重点研究了这些可能被DPI识别的微信特征包,也就是后面提到的研究所抽取的微信特征包。

(2)微信特征获取

为了研究采集的特征不过于偏向于微信的某些业务特征,分析阶段对微信流量的各项业务进行了平均性的抽样采集,分别采集了9种不同业务的特征包,包括心跳、登陆、注销、刷新、文本、图片、语音、视频和社交业务,每种业务提取30个可能具备特征的包进行分析,总共分析了270个包的有效载荷。

通过wireshark的分析,收集到的270个可能包含特征的包中,在前16字节中,有一部分字段随着包的不同不会发生变化,这些载荷的字段部分极有可能是公共字段部分。为了重点研究这16字节,采用L7-filter[6]工具。实验考虑了异或运算,对实验观察的包的对应位字段分别采用异或处理,得到初步的微信特征正则表达式序列:

2.3 微信特征优化

为了得到最短的特征序列,并确定该特征序列可以最优匹配微信流量,实验采用了增量式的研究策略,基于增量式的筛选方法如下:首先对处理的特征选取一个较短的初匹配序列,该匹配序列可能掺杂大量的假阳性,然后不断地对这个较短的匹配序列增加长度,由于每一次的增加都减少了匹配范围,这会导致能匹配到的包越来越短,最终导致结果越来越精确,当匹配的包数不变时,不再出现假阳性,此时的字段便是最优的匹配字段[7]。

实验选取了来自互联网不同时段的校园流量进行了7组取样。每组流量约4 GB,分别有300~400万个包。初匹配序列选取的长度是4,这个选择是一个经验性的推断,在互联网流量中,3不大可能标识一个互联网协议,所以没有必要取得太短。微信的特征优化见表1。

从表1中可以看出,(1,2,5,6)存在有一定的假阳性特征,从不同的分组中,包含有MSNMS[24]和大传输单元PDU(1 514)也被误识别为了微信协议。其中,MSNMS表示微软网络服务管理系统协议,而PDU表示匹配的包不属于微信但属于大量的1 514 B长度的协议数据单元,这些和微信有类似特征的结构恰好在前4个字段和微信保持一致,为了排除这些协议的出现,当增量到1,2,5,6,7时,假阳例停止出现,当包的匹配增量继续增加时,仍保持不变,分析这些分组,发现是属于微信流的,而此时字段匹配到7,相较之前匹配到15,匹配的距离缩短了一倍,最终确定的微信特征为:

3 微信业务的细粒度识别和分类

3.1 微信业务的细粒度识别和分类

针对微信的业务流量存在的特点,将微信的业务分为三大类,并在这三类的基础上对其进行分类:短消息业务(文本,刷新,登陆,注销,心跳等)、复合短消息业务(语音,朋友圈,新闻等)、长消息业务(图片,视频等)[8]。

图3为微信的业务特殊字段的获取流程图,实验结果表明,根据微信业务的特征字段及上述方法可以得出微信业务的公共字段为对应包的第12字节。表2为微信业务特征字段,第12字段能起到区分微信业务的作用,匹配该字段可以找到其对应的微信业务,这个过程经历了从微信的流量识别到业务类别的识别,但并未识别出业务的整个过程的流,而长度从7个字段的匹配长度变为12个字段,这意味着在匹配耗时上的增加。

3.2 短业务的分类

在短业务的识别算法中,首先对业务特征进行匹配,如果到来的特征包对应的业务属于短业务,那么就按照短业务的识别方式进行。短消息业务为两次过程,一次是主方发送一次信息给从方,从方给确认,然后从方再发送一次反馈信息给主方,主方给确认。在这两次发送中,主动方发送的包都包含有可识别的特征包,算法中,在第一次读到特征包后,对同一条流继续进行匹配,当两次特征包进行了匹配后,读出后续的确认包,于是得到这次短消息业务的整个流程,从而在主TCP连接中标记出这一次业务的行为及对应的包序列号。一般来说,短业务仅仅通过较少的几次特征包的交互,确认进行,所以,只需对短消息的特征包次数设置一个权值,在有限权值次数的交互下,都归类为一次短业务。

3.3 复合短业务的分类

对于语音业务来说,一次较长的语音业务可能由多次短的语音业务复合而成,而这些短业务又互相不可分割,所以需要找到一种方式识别出该次业务所包含的所有短语音业务。首先,由于每次短业务的消息发送的包都是可以根据语音业务的特征识别的,可以对每次短分片进行特征匹配,匹配到的语音业务的包不大可能是其他业务产生的,这样把统计的包范围限定在语音业务范围内;为了解决不同次语音业务之间的区别,即识别出的语音不会被误识别为其他业务或者把别次语音的业务误识别到所识别的业务之中。于是定义了一个阈值tc,设置tc是为了识别出一次语音业务中所有连续出现的语音特征包,时间越短,说明该业务的连续性越强,由于连续发送的语音包间隔非常短,而对于正常操作下,两次不同的语音操作用时会很长,明显会超出这个阈值tc,于是,在此阈值下,所有与上次发送的特征包间隔时间小于该值的语音包则被认为是同一次业务下发生的业务。

3.4 长业务的识别

为了对长业务类型的微信业务进行识别,实验采用图片业务研究长业务的分类。经过大量的实验及观察,发现存在公有的特征,就是传输连接的开始端前若干个包具有固定的长度序列,对于图片业务来说,前3个包具有比较明显、固定的序列特征,如果能找到这些包,对于识别图片的数据连接很重要。在其算法中,定义了阈值td,表示数据传输连接的时间上的逼近,设置阈值的好处是用数据流连接和主TCP的时间间隔判断数据流,如果符合一个非常短的阈值,同时也满足微信的数据传输流的特征,此两种情况下,该流属于其他流的可能性会很低。首先,通过特征包的业务字段匹配找到在长业务结尾的确认包后,需要向前寻找数据连接。由于可能存在完全找不到的情况,当寻找的次数超时时,会选取最短间隔的传输数据连接作为最终判断长业务的数据传输连接。得到长业务的数据传输连接之后,与主TCP的确认短消息进行组合便得到分类的微信的长业务流。

4 实验及分析

基于垂直化流量分类结构的实验研究环境如表3所示。实验采用镜像交换机进行网络流量的采集,并将采集结果送达分析节点,分析节点进行流量分类,最终将分类结果反馈给ISP节点进行控制。为了证实实验的有效性,根据本文提出的微信流量的分类方法,最终采用Python语言实现了微信流量分类的整个过程。

表4是微信流量分类的实验结果,在结果数据中,左侧表示分类出的业务条数,右侧表示分类出的条数占总业务数的比例。

由于网络流量过于复杂,对于未识别出的其他微信业务部分本文没有考虑。实验数据主要考虑的是识别出的微信流量中微信的准确率和识别率。从实验结果看来,对于互联网流量来说,本文提出的基于DPI的分类算法分类出了52%的微信业务,并达到了98%的分类精准度。52%的业务分类率不代表分类子业务的最大限度,而是考虑的微信子业务的部分占了52%左右,如果考虑更多的微信子业务,识别率可以进一步提高。

实验结果表明,微信正是以一种脉冲式的长连接方式进行通信的,在建立初始的TCP连接后,通过持续的心跳包保持连接。根据本文提出的分类模型,能有效地识别出微信的流量并分离出其中的各个子业务,实验结果表明了基于DPI识别方法的有效性,最终达到了对52%的微信业务识别达到了98%的准确度。

5 结论

本文以微信流量为研究对象,研究了流量分类的方式。分析了微信的流量模式,提出了对微信流量进行分类的模型;在此基础上,采集了微信的流量,并对微信的特征包进行分析,得出微信的特征字段并进行了优化;然后,将微信的业务划分为三个大类,并根据各个大类提出了相应的分类算法;最后,进行了实验分析,实验结果对互联网中的流量分类出了52%的微信流量并达到98%的分类准确度,证实了分类算法的可行性。

参考文献

[1]孙瑜玲,林勤花.基于遗传神经网络的P2P流量识别系统[J].现代电子技术,2015,38(17):117-120.

[2]邢玉凤,毛艳琼.基于有督导机器学习的网络流量识别系统[J].现代电子技术,2015,38(21):22-25.

[3]陈平,郭兰珂,方俊湘.微信业务的识别方法研究[J].移动通信,2013(18):80-83.

[4]蒋建春,马恒太,任党恩,等.网络安全入侵检测:研究综述[J].软件学报,2011(11):45-46.

[5]JOHNSON M E,GOETZ E.Embedding information security into the organization[J].IEEE security&privacy,2007,5(3):16-24.

[6]HUANG S J,CHEN K,LIU C,et al.A statistical-featurebased approach to internet traffic classification using machine learning[C]//Proceedings of 2009 International Conference on Ultra Modern Telecommunications&Workshops.Petersburg:IEEE,2009:1-6.

[7]NGUYEN T T T,ARMITAGE G.A survey of techniques for internet traffic classification using machine learning[J].IEEE communications surveys&tutorials,2008,10(4):56-76.

分类识别 篇10

自从网络诞生以来,互联网使用越来越普遍,网络用户数目不断增大,新的网络需求也不断被提出。因此,网络应用呈现出多元化、快速增长化的局面。这样,又进一步加速了网络的快速发展。尤其近些年来,网络发展更是迅猛。从网络带宽来看,接入带宽几乎是按照Nielsen定律预测的每24个月增长一倍的速度不断增加[1]。骨干网带宽则以远快于摩尔定律的速度增长,根据过去五年的统计,增长速度为每12-18个月增长一倍[2]。从网络设备处理能力来看,如今骨干网网络设备的处理能力的要求已经达到100Gbps。从网络用户来看,这些年来,互联网的用户数一直在快速而持续增长,据国际电信联盟(ITU)统计[3],2010年全球互联网用户数量已经突破了20亿,约占全球人口的三分之一,近五年来互联网用户数量翻了一倍。在中国,CNNIC报告[4]显示,截止2010年12月中国互联网用户数量达到了4.5亿。而且这些数字,在未来几年还会一直保持高速增长。

现在,网络应用已经从最初的简单的网页、邮件业务等数据通信业务,发展到现在的集P2P文件共享、语音即时通讯、在线网络游戏、网上视频及多媒体会议为一体的多元化网络应用体系。不难知道,随着移动互联网的进一步普及、网络融合的深入发展以及基于大数据的云分布式处理技术的不断成熟[5]互联网承载的应用会越来越多。这些应用的出现不断地推动着网络带宽的增长以及用户体验的提高。然而与此同时,多样化的应用给网络带宽带来了巨大的挑战,也大大提高了网络流量管理、网络安全和网络测量的难度和重要性[6]。在这种情形下,做为网络流量管理、网络安全及网络测量的核心技术,网络流量分类技术扮演者越来越重要的角色,因此对于网络流量分类技术的探究和学习,无论是在学术研究还是现实应用中都将产生重要价值。

在过去,基于端口以及网络载荷的网络流量识别技术比较盛行,但是随着越来越多的网络应用采用非指定端口、加密载荷、封装于隧道协议等技术规避网络管理,同时网络带宽也日趋增大,这些技术由于种种原因已经逐步失去作用,新的网络流量分类方法有待提出。在此背景下,本文将模式识别技术应用于网络流量分类研究领域,通过对多种模式识别算法的应用效果的分析,证明了基于模式识别方法的流量分类方法拥有着较高的吞吐率和拓展性,并且,也发现了有关不同的模式识别算法在不同的网络流量统计特征及不同的应用情形中效果不一致的重要结论,并在最后给出了应用模式识别算法进行网络流量分类的合理化建议。

1 研究背景

1.1 网络流量分类简介

在网络应用领域,管理网络运行,网络流量分类往往是网络流量分析的第一步,也是最重要的一步。网络流量分类重点在于区分出网络链路中,上层所承载的网络流的不同应用类型,这个类型一般指应用层协议,网络流流量分类技术常常也可以被认为是网络协议识别技术、应用层协议识别技术等[7]。举个例子,某网络用户在用自己的PC进行MSN聊天,同时也在用BT下载电影,那么,其主机网卡中承载着MSN协议流量以及BT协议流量,网络流量分类技术就是区分出QQ协议以及BT协议。网络流量分类技术,是对网络流量的细粒度分析,能够网络流量中承载的不同网络应用透明化,进而针对网络流量中的五元组以及网络协议建模,可以有效的分析网络用户行为特征、评估网络安全性、进行流量管控等等,同时也是三网融合等新理念的有效管理手段[8]。

1.2 网络流量分类技术现状

首先,以端口为检测主要依据的网络流量分类技术已经渐渐失去效力。基于端口的网络流量识别技术是根据IANA管理局规定的通信机制来进行网络流量识别的,具体来说[9],运用了端口与应用协议的映射机制。具体如表1所示:

其次,时基于端口映射的网络流量分类技术占有了重要角色,在骨干网大规模网络流量的分类技术中占有重要角色,但是近些年来一些新兴应用突破了传统的端口映射机制,比如P2P技术,采用了动态端口进行通信,还有一些应用,将目标网络流量封装于其他隧道协议中,这样,基于端口的网络流量识别技术,开始逐渐失效。

再次,以载荷未检测对象的网络流量分类技术。由于网络流的应用层协议信息是完全包含于网络数据包的载荷中的,因此从理论上讲,DPI技术是在识别网络协议方面,有着极高的准确率。目前关于DPI技术多是深度挖掘特定协议下,网络数据包中常出现的稳定的独特的特征字符串,这些字符而且还以网络通信协议特征码居多。通过对这些特征字符串进行匹配,可以很准确的识别出网络协议类型。在实际应用中,深度检测技术通常采用基于正则表达式的方法,通过对网络应用层协议的深入分析,提取其网包载荷中的特征信息,归纳出该应用层协议正则表达式描述的特征规则[11]。在实施过程中,这些正则表达式常常被编译成基于匹配的DFA有限自动机,但是传统的基于正则表达式的匹配方法也存在匹配效率低、空间复杂度高等问题,尤其面对骨干网的海量网络流量更显力不从心。另外,基于载荷的协议识别技术,需要固定的特征码,网络应用更新或者发生改变情形下,这些特征码就会失效,另外,很多情形下,也要考虑到网络用户的隐私,因而,基于网络数据包载荷的网络流量识别技术的应用面临很多瓶颈[12]。

此外,基于行为模式的网络流量分类算法在研究领域也逐渐兴起,但是由于基于行为模式的网络流量分类技术存在着较大的误差问题、同质化问题、延迟问题等,此分类方法前景不是很好。

最后,基于网络流量统计特征的识别方法是一种新兴也是最重要的网络流量分类方法。该方法通过提取不同网络协议的统计特征,通过一些分类算法来训练网络流量分类模型进而达到网络流量分类的目的[13]。由于此方法可以随着网络应用的更新可以重新训练新的分类模型,而且它不涉及网络用户隐私,因而此种网络流量分类方法有着较好的应用前景也是近年来学术领域的一个重要研究方向。

综上所述,基于网络流量统计特征的网络流量分类是网络协议识别领域中的重要技术,然而由于既往识别算法过于单一、统计特征选择过于盲目,此方法没有体现出应有的实用价值,因而本文针对此方法进行拓展性研究,并将模式识别算法应用到网络流量分类中。

1.3 网络相关术语说明

网包:网络应用程序在通信中,为了交换并传输网络数据,常常将应用数据分成若干的数据块并封装网络协议形成网络数据包,简称网包[14]。

包头:网包的首部开销,这里承载了传输层、网络层、数据链路层等的一系列网络协议信息,用于控制网络数据包的传输、检错、还原等等[15]。

载荷:网络数据包中的应用数据内容,这个内容是在网络中传输的核心应用数据,有些是加密的,有些是明文的[16]。

网流:网络中常把源、目的IP,源、目的端口及传输层协议一致的能够标识一个网络会话的网络数据包整合在一起,形成网络流即网流[17]。

2 相关工作

基于网络流量统计特征的识别方法具有着较高的吞吐率,而且比较灵活。尤其是现阶段,针对一些特定场景的网络流量分类,此方法具有着较大的实用性和可靠性。此领域中,国内外研究领域多是运用机器学习算法选取特定网络流统计特征,进行网络协议识别,在实际应用中,结果证明贝叶斯、C4.5及SVM算法具有较好表现,下面结合这三方面的研究做简要介绍:

(1) Zuev等[13]运用了自然贝叶斯分类器,他在做实验前,设定了网络的流统计特征是相互之间无依赖的。但是,在手动进行分类的网络流量分类实验中,发现网络流中的数据描述特征是有一定的相关性的,因而该实验的效果不是很理想。但是,他证明了自然贝叶斯分类算法在网络流量分类中的可行性。Auld[14]等提出了运用贝叶斯神经网络算法来进行网络流量分类的思想,之后在实验中发现贝叶斯神经网络算法运用于网络流量分类能够产生较好的识别效果,而且该算法能排除一定的噪声冗余数据的影响,其分类性能较好。

(2) Quinlan等人针对ID3在实际应用中的一些缺陷,基于ID3改进,并提出了C4.5算法,C4.5拥有ID3算法的长处,运用了信息增益率进行属性选择,这样就在属性选择方面避免了属性选择的盲目性,并且该算法对连续属性进行了离散化处理,也支持不完整数据的处理,因而C4.5算法在实际运用中,和ID3相比,性能得到很大的提高。紧接着,Nigel等[16l对五种机器学习算法进行了性能对比,结果发现C4.5决策树具有较高的识别准确率,而且C4.5效率也较高。Yeon-sup7]也在实验中证明了C4.5在应用层协议识别技术领域中,由于能否从网络流的特征出发,对网络流特征数据进行离散化处理,因而其分类准确率较高,而且性能也较好。

(3) Zhu[18]运用SvM机器学习算法训练分类模型,并运用此模型进行网络协议分类,在样本协议中,该算法准确率较高。紧接着,Ning[19]也在论文中,再次证明了SVM支持向量机在网络流量分类应用中,具有较高分配精度而且计算消耗较少。

在充分调研相关论文并结合实验实际环境的基础上,本论文设计图1所示的整体方案。为了应用模式识别算法进行网络流量各协议的分类,本文首先在某重点高校骨干网网关分多时段采集实际背景网络流量,以确保网络流量中常用协议齐全还能具有一定的代表性。此次流量共采集800G,基于linux下TCPDUMP采集而成。紧接着通过自行设计的网络数据处理程序,将网络流量进行解析整合成流表,然后依据实验数据要求提取所需要的网络流统计特征,并且同步的将精确背景流量进行协议标记,以对之后的模式识别算法对网络流量进行分类的结果的比对参照。之后,运用特定的特征选择算法并结合对网络流数据特点的分析,选取用于模式识别网络流量分类的特定统计特征进行建模,再加载各种不同的模式识别算法,最后将分类结果与标签网络流量进行比对准确率,并记录处理时间,已达到综合评估模式识别算法对网络流量分类的性能的目的。

整体设计做为本次实验的前提,是至关重要的环节。面对流量较大、协议复杂的实际网络环境,如何合理有效的选取网络流量统计特征、如何加载不同的模式识别算法都是是本文面临的难题。鉴于此,本文在Linux环境下设计了基于libpcap的网络流量数据处理平台,该平台包括捕包模块、预处理模块、流表建立以及维护模块、流统计特征提取模块、标记模块、模式识别算法加载模块、算法调优模块以及结果统计性能评估模块。

捕包模块:捕包模块调用Linux下的TCPDUMP命令,基于脚本实现了循环捕包功能,能够大量采集实际背景网络流量,为后续的特征提取及分析等模块提供数据支撑和比照样本,是这个系统的前提;

预处理模块:预处理模块实现了系统的初始化,并设置了一些全局变量并能读取用户的设置参数,此模块是系统平台与用户的交互接口,也为后续模块提供系统空间支持,是整个系统的重要模块之一;

流表创建及维护模块:流表创建及维护模块主要实现流表的基本功能,也是整个系统的核心功能,后续的流统计特征是基于此功能实现的,这里流表模块创建主要依据网络五元组(协议号、源IP、目的IP、源端口、目的端口)来创建一条流,并初始化流的一些关键信息,然后依据TCP协议连接的三次握手机制以及UDP协议连接的网络会话超时等判断进行网络流表的维护。因此,此模块的设计将直接影响后续网络流量统计特征的提取;

流统计特征提取模块:此模块基于之前的流表建立以及维护模块设计实现,通过对一条流内的各个网络数据包包头的一次解析并归并分析,出一条流的包数、字节数、包长分布、到达时间间隔等关键的网络流统计特征;

流特征选择模块:此模块是在之前的提取多维网络流量统计特征的基础上进行统计特征选择,此次试验中运用了算法来辅助抉择;

标记模块:此模块采用商业的DPI技术,通过精确匹配的方式识别出网络流所属应用协议,然后标记记录于流表中,进而用来与模式识别算法对网络流量分类结果的参照对比分析;

模式识别算法加载模块:该模块主要实现加载不同的模式识别算法,并依据之前提取的网络流量统计特征对网络流量进行分类;

算法调优模块:此模块依据之前的模式识别算法的分析情况进行参数的选择,以使网络流量分类性能达到最优;

结果统计性能评估模块:主要实现平台信息的输出,包括商业精确匹配标记结果与模式识别算法对网络流量进行分类的结果的对比,并总结模式识别算法的分类准确率、召回率及模型训练所需的时间等等,最周综合的统计结果评估各个算法的分类性能;

其中需要注意的是:实验是通过商业DPI工具精确载荷识别的方式标定网流所属的协议类型,并以此作为本文机器学习研究实验准确率对比的标准。OpenDPI可以准确标定的协议如下:unknown,HTTP,MaiLPOP,MaiLSMTP,MaiIMAP,DNS,NTP,SNMP,DHCP,DirectDownloadLink,MPEG,PPTP,iMESH,Bittorrent,Windowsmedia,QQ,PPLive,PPStream,Thunder/Webthunder,Jabber,MSN,NETBIOS,Telnet,SSL,eDonkey,SSH,FTP,RDP,MMS,SMB,STUN,RTP。

4 实验方案

4.1 特征选择

为了使实验更具有针对性,本文需要选择与网流类型密切相关的流量属性,这是特征选择的关键。然而研究领域对网络流的统计特征提出有100多个,部分列举如表2:

从不同的角度分析,网络流量具有很多特征可供选择作为分类依据。如何根据不同的分类目的选择不同的特征作为依据进行分类显得尤为重要。最后依据模式识别算法的要求,所选特征与类别之间应存在内在联系,而且所选特征应当尽量在网流的早期可以获得等因素,本文选取这样两类特征:1.基于网流前十个数据包的包长大小的特征。2.基于网流前十项包达到时间间隔的特征。换句话说,一条网流看成一个样本,针对每一个样本,本文提取其共计20维的特征。

对于前面提取到的20维特征,本文采用基于遗传算法的特征选择方法对20维特征进行选取。其中遗传算法的适应度准则选取的是CfsSubsetEval算法。基于遗传算法的次优特征选择算法的实验结果告诉本文:选取网流前五个网包包长长度作为特征能有效的对网流数据进行分类。因此本文实验的重点集中在利用网流前五个数据包包长长度为特征,对网络流量的应用层协议类型进行分类,并配以基于网流前五项包到达时间间隔的特征对网络流量分类的实验做相应的对比分析。

事实上,不同网络协议及其流量下确实往往前几个数据包的包长长度会有较大的差距和可分性。这是因为协议的设计者会在通信建立的开始阶段进行协议信息的交互,因此会造成不同协议的前几个数据包之间所含信息量不通,从而造成包的大小不同。而在前几个网包之后,通信建立阶段结束,数据传输阶段开始,应用程序之间开始数据交互,在这一阶段,不同应用协议的差异性较小,不具有明显的区分度。所以,理论上的分析以及利用特征选择算法得到的结果是一致的。需要注意的是,网包的大小不同便直接提升了本文运用模式识别算法对不同协议或流量分类的可行性。

综上,本文确定了两类特征集:1、基于网流前五个网包大小的特征集。2、基于网流前五项包到达时间间隔的特征集。其中第二类基于前五项包达到时间间隔的特征本文的计量分辨率是微秒,由于不同的协议时间间隔差距很大,因此本文对时间间隔求以logl0为底的对数,然后再归一化处理得到最终的样本集。

4.2 样本集划分

本文中的实验包括两类分类与多类分类。两类分类即指的是区分一种协议与非此种协议的流量,例如HTTP与非HTTP流量,其中非HTTP流量是从550G背景流量中除去HTTP流量后随即抓取的流量。多类分类即指的是所有实验所想要区分协议的同时分类。在实验流量所包含的全部种类协议中,考虑到样本数量的愿意,本文考虑以下6种不同协议的识别:HTTP、SSL,SSH,Bittorrent、eDonkey,QQ。

同时本文中的实验还按照单向网络流的原则,将实验分为Client端到Server端(简称C->S)或者Server端到Client端(简称S->C)两种情况进行分类。

因此按照上述原则,本文对8种不同的典型协议类型分别生成训练集和测试集样本,其中每个训练集或测试集文件中每种协议的样本数均为500。

4.3 分类器选择

本文实验重点研究模式识别算法在网络流量分类中的研究,因此本文选定了10种典型模式识别算法,分别为:BayesNet算法、NaiveBayes算法、SVM算法、IBil算法、IBK算法、AdaBoost算法、Bagging算法、RandomSubSpace算法、C4.5算法、RandomForest算法,具体介绍及参数设置如下:

BayesNet分类器采用K2的搜索算法,并且设定贝叶斯网络中每一个结点的父结点最大数目为1,评估准则采用的是SimpleEstimator评估量,阈值设定为0.5。

NaiveBayes即朴素贝叶斯分类方法。

SVM分类中采用标准libsvm工具箱,设定核函数为径向基RBF核函数,其中Degree值设定为3,gamma值设定为0,SVM模型中的惩罚参数设定为1。

IB1即最近邻分类方法。

IBK即K-N近邻分类判别,该方法中本文选取最近距离的5 个点投票作为判别准则,距离度量上采用欧式距离的度量方法。

AdaBoost为多分类器投票分类方法,种子值设定为1,迭代次数设定为20次。使用的基分类器是DecisionStump分类算法,其权重阈值设置为100。

Bagging同样为多分类器分类方法,其中采用的基分类器是REPTree分类器。Bagging分类器中每个bag的大小是训练集大小的80%,迭代次数同样设定为20次。

RandomSubSpace为基于随机子空间的多分类器分类方法,该分类方法采用的基分类器是REPTree分类器,子空间大小取值设定为60%的特征量,种子值设定为1,迭代次数同样设定为20次。

C4.5分类器中,设定置信参数为0.25,置信参数取值越小代表越多的剪枝操作,同时本文设定叶子结点中最小样本数目为2个。

RandomForest分类方法中设定决策树的数目是10个,在随机选择中使用特征的数目为3个,种子值设定为1。

5 实验结论

5.1 基于数据包长长度特征的分类

5.1.1 SSL协议

从SSL协议和非SSL协议的分类实验结果来看,客户端发送至服务器端(C-S)的SSL协议数据包与其他类协议的数据包相比,具有较明显的特征表现,区分度大,此情况下大部分分类器的分类准确率都在79%以上。相比而言,服务器端发送至客户端的数据包特征较不明显,其分类准确率均低于79%。SVM的分类效果差说明本文选择的径向基核函数并不适用于该数据集的分布。由此总结出,对于SSL协议的数据包的识别工作,更倾向于在C-S端进行数据采集和分类,且采用多分类器投票的分类方法可以得到更满意的分类结果。(图2)

5.1.2 SSH协议

由SSH协议和非SSH协议的分类实验数据可知,无论是C-S端还是S-C,发送的SSH协议数据包相比非SSH协议的数据包特征均明显得多,双向的分类准确率均不低于92%。且此数据集下SVM分类器表现出最佳的分类效果,说明此时径向基核函数能够良好得适用于其分布。(图3)

5.1.3 QQ协议

实验数据表明,使用前5个包的数据包长度这个特征量,在分类QQ协议与非QQ协议的过程中,效果不佳,准确率均在75%以下。此时,相比其他分类器,C4.5的效果最好。(图4)

5.1.4 HTTP协议

HTTP协议的分类结果同SSL协议相似:C-S端的数据包比S-C端数据包特征更明显,分类效果更佳。本文设计的SVM分类器(RBF核)不适合用于该类协议的分类。对于该类协议数据包的识别工作,更倾向于在C-S端进行数据采集和分类。(图6)

5.1.5 Bittorrent协议

BT协议数据包采用前5个特征量进行分类的分类正确率较高。但是S-C的正确率明显低于C-S的正确率。个别分类器如贝叶斯网(Bayes net)和SVM的分类正确率较低。而且采用SVM进行分类时,所消耗的时间明显增加。这说明,这组SVM分类器参数对该BT协议数据包的分类效果比较差,需要寻找更优的参数。(图8)

5.1.6 eDonkey协议

eDonkey协议分类结果如图9所示。eDonkey协议数据包采用前5个数据包长度进行分类的正确率,基本上在90%左右。但采用SVM进行分类的分类正确率较低,而且消耗的时间较长。这也与SVM设置的参数有关。(图9)

5.1.7 多类分类效果

多类分类效果如图10所示。

5.2 基于数据包时间间隔的特征分类

5.2.1 SSL协议

由图可见,SSL协议采用基于数据包时间间隔的特征量的分类正确率均在60%以下,相比较于采用前5个数据包长度这一特征量所得到的分类效果(79%以上),有较明显的差距。而且采用不同的分类器时,所得到的分类正确率都较低,可见,基于数据包时间间隔的特征量不是一个较好的分类依据。(图1 1)

5.2.2 SSH协议

SSH协议数据包很容易与其他协议的数据包区分开。对于基于数据包时间间隔的特征量,采用这10种分类器,分类正确率基本上在90%以上,但S-C数据包的正确率会比C-S的正确率低。而且分类所需的时间较短。可见,SSH协议的数据包具有较高的区分度。(图12)

5.2.3 QQ协议

QQ协议的数据包采用基于数据包时间间隔的特征量进行分类的分类正确率较低,均在70%以下。综合采用前5个数据包长度这个特征量的分类结果可见,QQ协议的数据包难以与其他协议的数据区分开,或者这两个特征量都对于QQ协议不是较好的特征量。QQ协议数据包采用随机森林(Random For-est)进行分类时,所消耗的时间有明显的增加。(图13)

5.2.4 HTTP协议

HTTP协议采用基于数据包时间间隔的特征量的分类正确率较低,正确率在70%以下。相对于采用前5个数据包长度这一特征量,分类正确率明显偏低。HTTP更适合于采用前5个数据包长度作为特征量,进行分类。(图15)

5.2.5 Bittorrent协议

BT协议数据包采用基于数据包时间间隔的特征量进行分类时,对于不同的分类器,分类正确率基本上保持在74%左右,没有明显的波动,但对比采用前5个数据包长度进行分类时,采用不同的分类器,分类正确率有较大的变化。但是,整体上,BT协议采用前5个数据包长度进行分类的分类效果更好。(图17)

5.2.6 eDonkey协议

eDonkey协议数据包采用基于数据包时间间隔的特征量进行分类的正确率维持在75%左右,相比较与采用前5个数据包长度,分类的正确率有所降低。(图18)

5.2.7 多类分类效果

多类分类效果如图19所示。

6. 全文总结

通过上述系列实验及相关数据结果的分析,本文可以得到如下结论:

1、合理的利用特征选择算法来帮助本文选择合适的特征是非常关键的,能大大减少实验的工作量,提高分类器分类的准确率。本实验采用遗传算法选取了网络流前五个数据包包长长度的特征,通过与基于数据包时间间隔的分类结果相对比,此次选取特征是一种较优的特征组合。

2、模式识别算法种类很多,形式各异,但它们在网流分类中所能带来的最佳效果基本接近,唯一产生分类差异的在于分类器各参数是否设定为最优值。同样的,没有任何一种机器模式识别算法是最完美的,因此在对特定的网络协议进行识别时候可选取特定的算法来进行特定的识别。

3、多分类器在网流分类中表现的普适性最好,各种情况下所能达到的效果能很好地保持稳定,优于单个的机器学习分类器算法。

4、对于网流分类,很多情况下仅仅知道单向的流数据便可正确分类了。同时本文也可以观察到C->S网流特征所带来的可分类有效信息量要略大于S->C网流特征所带来的可分类有效信息量。

上一篇:统计学的下一篇:人教版物理教材