机器学习分类算法及相关案例分析
摘 要:准确的流量分类是网络管理和网络安全的有效保障。近年来基于机器学习的网络流量分类备受关注,特征选择对于机器学习的分类效果有重要影响。但使整体分类性能达到最优的特征选择子集,并不一定使特定类别的分类性能达到最佳,这降低了分类性能可达到的上限,对此提出基于改进的一对一算法的流量分类模型。首先采用一对一的思想将流量多分类任务拆解为多个相互独立的二分类子任务,分别对任意两类流量进行特征选择和流量分类。所有子任务的分类结果采用Stacking策略结合。实验表明,多种机器学习算法与特征选择算法应用于该模型的准确度较经典模型均有提升。
关键词:任务的分类结果采用Stacking策略结合。实验表明,多种机器学习算法与特征选择算法应用于该模型的准确度较经典模型均有提升。
- 引言
准确的网络流量分类是众多网络活动的基础,许多互联网服务提供商将流量分配到相关服务类别的能力视为优先事项。因为对网络应用的了解能使网络运营商更好地规划、预算和计费,还可以跟踪不同用户群的增长并设计网络以满足不同的需求。
传统的流量识别方法主要有端口识别与深度包检测( deep packet inspection,DPI) 。在互联网发展初期,应用协议比较单一,协议在服务器端均使用固定的传输层端口号,并都在互联网号码分配机构( The Internet Assigned Numbers Authority, IANA) [1]上进行注册,如 HTTP 协议使用 80 端 口,为 Web 应 用; 25 端 口 为 SMTP,110 端 口 为POP3,均为 Mail 应用等。而随着互联网的发展,越来越 多 的 私 有、非标准协议出现,且 没 有 在IANA 中注册使用的端口,新型应用又多采用动态端口技术,这些变化使得端口识别的准确度已经低于 50%[2]。因此自 2000 年后,通过提取流量载荷的特征信息进行识别的 DPI 方法逐渐受到青睐,不仅识别的准确度高,而且在稳定性等方面也取得了令人满意的效果。可由于新应用层出不穷、数据包中的特征字符串复杂多变,网络业务流量巨大,DPI 技术已经很难适应如今的高速网络,此外 DPI 也难以有效识别越来越多的加密流量。
基于机器学习的流量分类通过流量在传输中的统计特征进行分类,能有效克服传统方法的问题。自 Paxson 和 Floyd[3-4]对互联网流量统计特征的开创性研究以来,已经开展了许多研究来开发使用机器学习技术进行流量分类。Zuev 和 Moore[5]提出基于朴素贝叶斯( nave Bayes,NB)的流量分类器,该方法假设所有统计特征间相互独立且服从高斯分布,然而真实的流量数据很难满足上述条件。因此,该方法流量分类的整体准确率仅有 65%。之后 Moore 和 Zuev[6]使用基于关 联 的 快 速 过 滤 ( fast correlation-based filter, FCBF) 对特征进行筛选,并采用核估计技术对 NB算法进行改进,将分类准确率提高到 95%,但使用核 密 度 估 计 无 法 保 证 分 类 结 果 的 稳 定 性。 Roughan 等[7]介绍两种简单的机器学习方法处理流量分类,包括 K 近邻( k-nearest neighbor,K-NN)和 线 性 判 别 分 析 ( linear discriminant analysis, LDA) 。K-NN 方法需要单独计算训练样本和未识 别的流量之间的相似性,不仅计算开销大,且容易 受到噪声的干扰; LDA 方法通常需要复杂的预处 理操作,产生大量额外开销。有监督的机器学习 方法,都需要将使用的数据预先分类好,所以有些 学者将无监督的机器学习算法应用到网络流量分 类中。McGregor 等[8]使用 EM 算法对网络流量进 行聚类分析,表明可以利用流量模式相似性将观 察到的流分组到分层群集中,证明无监督机器学 习对粗略统计流量分类的有效性。Erman 等[9-10] 应用多种聚类算法,包 括 K-Means、DBSCAN 和 AutoClass 算法,分类准确度均优于 NB 算法,而且 因为不需要训练数据的标签,所以能够识别出未 出现过的新类别流量。
特征选择是从原始特征中选择出一些最有效 特征以降低数据集维度的过程,它是提高学习算 法性能的一个重要手段[11],上述算法均对数据集 整体进行特征选择,对所有类别采用统一的特征 子集。但使整体性能达到最优的特征子集确不一 定是使特定类别流量达到最优的特征子集,对于 所占权重不大的类别,甚至完全不能体现该类流 量的数据特征,这降低了分类性能可达的上限。
本文对此提出基于改进一对一算法的网络流 量分类模型。首先采用一对一的思想将原本流量 多分类任务拆解为多个二分类的子任务,每个任 务对任意两类流量进行分类,将通常的对全部数 据集进行特征选择改为每个子任务分别进行特征 选择,充分挖掘每类流量的数据特征,有利于提升 分类性能。最后采用 Stacking 结合策略将所有的 分类结果作为数据特征再次使用机器学习算法进 行训 练 和 分 类,得到最后的分类结果。使 用 Moore 数据集验证模型的可行性,结果表明多种 机器学习算法与特征选择算法应用于该模型的准 确度较经典模型相比均有提升。
- 结束语
本文基于改进一对一算法提出一种新的网络流量分类模型。首先采用一对一的方法将多分类任务拆解为多个二分类的子任务,每个子任务对任意两类流量进行分类,之后将所有子任务的分类结果作为输入数据再次输入到次级学习器中,得到最后的分类结果。本文使用 moore 数据集进行仿真实验,图 4,图 5 显示机器学习算法与特征选择算法应用于改进模型后,较在经典模型中准确度有所提升,但通过表 1 发现改进模型计算复杂度要高于经典模型。表 2 具体展示系统对每类的分类情况,说明改进模型对于占比较小的类别能显著提升分类性能。表 3 证实模型在特征选择上的优异性,子任务分别进行特征选择比使用同一特征子集的准确度高。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。