CN115115005A - 一种基于最大密距的Canopy协议识别方法 - Google Patents
一种基于最大密距的Canopy协议识别方法 Download PDFInfo
- Publication number
- CN115115005A CN115115005A CN202210902504.7A CN202210902504A CN115115005A CN 115115005 A CN115115005 A CN 115115005A CN 202210902504 A CN202210902504 A CN 202210902504A CN 115115005 A CN115115005 A CN 115115005A
- Authority
- CN
- China
- Prior art keywords
- distance
- clustering
- canopy
- sample
- density
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机机器学习技术领域,尤其涉及一种基于最大密距的Canopy协议识别方法,针对现有的聚类准确率和稳定性差、算法参数选取不准确以及中心点无法确定的问题,现提出如下方案,包括如下步骤:S1:将待分类识别的协议数据集进行数据预处理,并使用PCA进行降维;S2:抽取少量标记协议计算各子集内平均距离的平均值,并视为Canopy算法中距离阈值T2;S3:首次聚类选取样本点密度值最大的作为第一次聚类中心,进行Canopy迭代,接着计算数据集中剩余样本点的密距值r;本发明的目的是提高K‑means算法的聚类准确率和稳定性,准确算法参数选取,确定中心点,在聚类效果有所改善的同时提高了协议识别的准确率,以适应非均匀网络协议的环境。
Description
技术领域
本发明涉及协议识别和半监督学习的相关算法,属于计算机机器学习技术领域,特别是一种基于最大密距的Canopy协议识别方法。
背景技术
在网络协议识别领域,基于机器学习的方法利用网络流的外部统计特征对网络应用进行识别,摆脱了对协议内容的依赖,其中聚类算法是机器学习的经典算法,一直以来受到众多学者的关注。聚类算法属于无监督学习,其输入为未标记数据集,聚类根据数据自身的距离或相似度划分为若干类,目标是使类内距离最小化和类间距离最大化,通过聚类实现对已知类和未知类的判决,具有一定识别未知协议的能力,因此常用来进行识别工作。文献(李金涛,艾萍,岳兆新,马梦梦,边世哲.基于K-means聚类算法的改进[J].国外电子测量技术,2017,36(06):9-13+21.DOI:10.19652/j.cnki.femt.2017.06.002.)提出了基于密度的K-means改进算法,该算法选取数据集中密度最大的点作为初始中心点,以此为基准选取离此点最远的点作为第二个中心点,再在剩余点中找出离这两点距离最远的作为第三个点,以此类推直至找到k个初始中心点。此方法比传统K-means方法在准确率及稳定性方面均有所提高,但抗噪性弱。文献(黄晓辉,王成,熊李艳,曾辉.一种集成簇内和簇间距离的加权k-means聚类方法[J].计算机学报,2019,42(12):2836-2848.毛典辉.)提出一种集合簇内和簇间距离的集权K-means方法来解决高维数据聚类问题,同时使每个簇中心不但能代表本簇的数据对象,也能尽可能远离不属于本簇的数据对象。该方法在大部分情况下能获得较优的聚类性能,但是不适应包含各种复杂簇结构的情况。文献(基于MapReduce的Canopy-Kmeans改进算法[J].计算机工程与应用,2012,48(27):22-26+68.)提出一种基于最大最小化原则的Canopy-Kmeans算法,利用边界识别思想,引入深度指标确定T1值和最优聚类中心,同时忽略对T2的赋值,但其未对噪声进行处理且在运行效率方面有待提高。文献(Lin GZ,Xin Y,Niu XX,etal.Network traffic classification based on semi-supervised clustering[J]The Journal of China Universities of Posts andTelecommunications,December 2010.17(Suppl.2):84-88.)对初始聚类中心的选择进行了优化,利用特征方差确定初始聚类中心,但在簇与应用类型的映射关系时沿用了“简单多数”原则,导致算法在网络协议不均匀环境下识别率较差。
综上可知,尽管相关学者对于聚类算法已经取得了不少成果,但在针对K-means聚类算法的K值和初始聚类中心点存在局限性和不足,随着实验数据复杂性的增加,对聚类算法的改进仍是一个长期优化的问题。
发明内容
本发明为了提高K-means算法的聚类准确率和稳定性,解决算法参数选取不准确,以及中心点确定的问题,提出一种基于最大密距的Canopy协议识别方法,以适应非均匀网络协议的环境。
为实现上述目的,本发明采用一种基于最大密距的Canopy协议识别方法,包括以下步骤:
S1:将待识别协议数据集进行数据预处理并使用PCA进行降维;
S2:抽取少量标记协议计算各子集内平均距离avgi的平均值,并视为Canopy算法中距离阈值T2;
S3:首次聚类选取样本点密度值最大的作为第一次聚类中心,进行Canopy一次迭代,接着计算数据集中剩余样本点的密距值r,找出具有最大值的点为下一个中心点进行迭代,直到数据集为空;
S4:在Canopy聚类数据子集中计算的样本平均值作为其聚类中心,由此得到聚类个数k和相应的初始聚类中心,然后带入K-means进行聚类,得出识别结果。
优选的,所述S1中,数据预处理过程包括数值化、标准化和归一化,标准化即:
归一化使各个维度贡献度相同,即:
优选的,所述S2中,各标记子集内平均距离avgi的平均值定义是给定p个标记协议集合,在第i(i∈p)个集合中,有m个协议样本,则集合内样本平均距离avgi记为:
其中d(ix,iy)表示i集合内样本x与y的欧式距离。
并根据标记的p个集合avgi的数值设置Canopy距离阈值T2,即:
优选的,所述S3中具体包括以下步骤:
A1:计算样本元素密度,具有最大密度的点为首个中心点,进行Canopy聚类;
A2:计算样本元素密度、样本间距离和样本密度范围内元素平均距离三者决定的密距值,判断离群点并找出最大值为下次迭代中心点并进行Canopy聚类;
A3:数据集不为空跳转到步骤A2,为空则跳转步骤A4;
A4:输出Canopy聚类子集和子集个数。
优选的,在A3中,样本密距值r表示为样本元素密度ρi与样本间距离bi乘积除以样本密度范围内元素平均距离ai,即:r=ρibi/ai,取其最大值即为所述的最大密距法。其中样本元素密度ρi的计算公式为:
其中dij表示样本元素j与i的欧式距离。
所述样本间距离bi表示数据集中样本i与另一个比其具有更大局部密度的样本j之间的距离,若样本i密度为全局最大,则bi定义为距该元素最远元素之间的距离,若存在样本j比样本i密度大,则bi定义为比样本i更高密度样本之间距离的最小值,计算公式为:
其中ρj表示元素j比i元素具有更高密度,dij表示样本元素j与i之间距离;
样本密度范围内元素平均距离ai计算公式为:
其中ρi为范围内样本个数,d(ix,iy)表示范围内样本x与y的欧式距离。
优选的,在S4中具体包括以下步骤:
B1:在各个子集内计算样本平均值作为其初始聚类中心;
B2:在K-means算法中,计算各个样本到初始聚类中心的欧式距离,根据最小原则将样本归入到距离最近的聚类中心所在类别中;
B3:计算类别中样本元素的平均距离,并更新为该类别新的聚类中心:
B4:对比新的聚类中心与上一个聚类中心是否发生变化或误差是否在要求内,如果没有发生变化,达到最大迭代次数或者达到允许误差,则输出聚类结果,否则转到步骤B2.
本发明基于最大密距的Canopy协议识别方法具有很强的抗噪性,由于离群点和异常点具有低密度、离散特性,所以在计算样本密距值时,当密度值为1或远小于正常值,并且样本间距离bi却大于正常值,该样本可视为离群点或聚类过程中产生的孤立点,在该次聚类前去除。
本发明对比相关研究,针对现有Canopy算法距离参数难确定的缺陷,提出一种利用密距值的Canopy半监督聚类算法,通过最大密距法选取Canopy算法中心点,解决了初始中心点选取的随机性和实现过程中局部最优导致算法准确率下降的问题。同时传统Canopy随机选择阈值参数和相关研究以全局求解确定阈值参数,会对聚类结果产生较大的影响。本发明提出的基于密距值法通过实验样本确定算法阈值,将全局求解转化为局部求解,无需人工设置,可以降低阈值参数对聚类结果造成的不稳定,同时提高结果准确率。
附图说明
图1为本发明的算法流程图;
图2为本发明的数据标准化归一化特征变化示意图;
图3为本发明的最大密距法示意图;
图4为本发明的利用局部样本确定T2二维示意图;
图5为本发明的算法准确率对比示意图;
图6为本发明的协议召回率对比示意图;
图7为本发明的误差平方和示意图。
具体实施方式
为了使本发明实施例的技术方案和优点更加清楚,下面结合附图对本发明进一步描述。
参照图1,一种基于最大密距的Canopy协议识别方法,包括以下步骤:
S1:将待识别协议数据集进行数据预处理并使用PCA进行降维;
S2:抽取少量标记协议计算各子集内平均距离avgi的平均值,并视为Canopy算法中距离阈值T2;
S3:首次聚类选取样本点密度值最大的作为第一次聚类中心,进行Canopy一次迭代,接着计算数据集中剩余样本点的密距值r,找出具有最大值的点为下一个中心点进行迭代,直到数据集为空;
S4:在Canopy聚类数据子集中计算的样本平均值作为其聚类中心,由此得到聚类个数k和相应的初始聚类中心,然后带入K-means再次分类,得出识别结果。
本实施例中,数据预处理过程包括数值化、标准化和归一化。由于聚类过程中利用距离进行样本相似度判断,特征属性单位越小,数值变化幅度越大,这样会导致计算该维度距离不准确,对最终聚类会产生较大影响,所以需要对数据特征进行标准化,即:
在计算距离时,特征向量取值范围过大对最终的距离影响更大,会对距离精度造成影响,因此需要对多有数据进行归一化处理,使各个维度贡献度相同,即:
参照图2,标准化和归一化对数据特征的改变,相同特征范围限制在[0,1]范围内,未改变不同样本之间特征形状。
本实施例中,计算Canopy的阈值参数T2步骤为:给定p个标记协议集合,在第i(i∈p)个集合中,有m个协议样本,则集合内样本平均距离avgi记为:
其中d(ix,iy)表示i集合内样本x与y的欧式距离。
根据标记的p个集合avgi的数值设置Canopy距离阈值T2,即:
参照图3,在二维直观样本观察下,利用T2进行一次迭代效果。
在上述基础上,所述S3具体包括如下步骤:
A1:计算样本元素密度,具有最大密度的点为首个中心点,进行Canopy聚类;
A2:计算样本元素密度、样本间距离和样本密度范围内元素平均距离三者决定的密距值,判断离群点并找出最大值为下次迭代中心点并进行Canopy聚类;
A3:数据集不为空跳转到步骤A2,为空则跳转步骤A4;
A4:输出Canopy聚类子集和子集个数。
参照图4,所述密距值r表示为样本元素密度ρi与样本间距离bi乘积除以样本密度范围内元素平均距离ai,即:r=ρibi/ai,取其最大值即为所述的最大密距法,对于样本元素密度ρi的计算公式为:
对于样本间距离bi的计算公式为:
其中ρj表示元素j比i元素具有更高密度,dij表示样本元素j与i之间距离。
对于样本密度范围内元素平均距离ai计算公式为:
其中ρi为范围内样本个数,d(ix,iy)表示范围内样本x与y的欧式距离。
本实施例中,在S4中具体包括以下步骤:
B1:在各个子集内计算样本平均值作为其初始聚类中心;
B2:在K-means算法中,计算各个样本到初始聚类中心的欧式距离,根据最小原则将样本归入到距离最近的聚类中心所在类别中;
B3:计算类别中样本元素的平均距离,并更新为该类别新的聚类中心:
B4:对比新的聚类中心与上一个聚类中心是否发生变化或误差是否在要求内,如果没有发生变化,达到最大迭代次数或者达到允许误差,则输出聚类结果,否则转到步骤B2。
本发明的数据集采用由剑桥大学Andrew Moore等人提供的数据集。该数据集是对一个研究机构进行24小时高性能网络检测收集到的数据,其中每个样本表示一个TCP数据流,包含了248个流统计特征以及对应协议类别,实验过程中选择六种网络协议,选其中两种去除标签视为未知协议,同时随机选取剩余各种协议的10%进行标记作为已知协议,其余协议同样去除标签。
参照图5,算法准确率对比结果,仿真参数在同一数据集下采用四种算法,并且阈值参数T2取法相同,其中ICK算法即为本发明提出算法,CK算法为传统算法,在中心点选取方式中,MDCK算法利用最大最小原则,DCK算法利用密度最大原则。
参照图5,算法准确率可以看出,相比于MDCK和CK算法,ICK算法在准确率指标上表现更好,提升了3%,并且在重复实验中可以得出ICK算法与MDCK算法稳定性能好,而CK算法准确率浮动较大。MDCK算法准确率稳定是由于初始两个中心点一个是密度最大,另一个是距离最远,所以准确率不受随机标记样本的影响,传统的CK算法不稳定的原因是抽样样本的分布离散性影响聚类结果,低密度样本被选取的概率低,同时受到中心点选取的随机性和噪声的影响。而DCK算法准确率低于其它算法,在结果分析中发现DCK算法能够区分大类样本,但未能识别小类样本,而是将小类样本归为高密度样本一类,从而导致总体准确率下降,因此基于DCK算法不适用于非均匀协议数据集。
参照图6,协议召回率中可以看出,三种算法对于http和service召回率相差不多,而ICK算法在smtp、ftp-c和multimedia上有较高的召回率。由于DCK算法准确率低于其它算法,这里不对该算法进行召回率对比。
参照图7,误差平方和值越小表示聚类效果越好,从图中可以得出本发明提出的算法误差平方和小于其他算法,意味着算法聚类效果有所提高。
具体的基于最大密距的Canopy协议识别系统计算过程可参见上述实施例,本发明实施例在此不再赘述。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于最大密距的Canopy协议识别方法,其特征在于,包括以下步骤:S1:将待识别协议数据集进行数据预处理并使用PCA进行降维;
S2:抽取少量标记协议计算各子集内平均距离avgi的平均值,并视为Canopy算法中距离阈值T2;
S3:首次聚类选取样本点密度值最大的作为第一次聚类中心,进行Canopy一次迭代,接着计算数据集中剩余样本点的密距值r,找出具有最大值的点为下一个中心点进行迭代,直到数据集为空;
S4:在Canopy聚类数据子集中计算的样本平均值作为其聚类中心,由此得到聚类个数k和相应的初始聚类中心,然后带入K-means进行聚类,得出识别结果。
4.根据权利要求1所述的一种基于最大密距的Canopy协议识别方法,其特征在于,所述S3中,样本密距值r为样本元素密度ρi与样本间距离bi乘积除以样本密度范围内元素平均距离ai,即:r=ρibi/ai,取其最大值即为所述的最大密距法。
5.根据权利要求1所述的一种基于最大密距的Canopy协议识别方法,其特征在于,所述S1具体包括以下步骤:
A1:计算样本元素密度,具有最大密度的点为首个中心点,进行Canopy聚类;
A2:计算样本元素密度、样本间距离和样本密度范围内元素平均距离三者决定的密距值,判断离群点并找出最大值为下次迭代中心点并进行Canopy聚类;
A3:数据集不为空跳转到步骤A2,为空则跳转步骤A4;
A4:输出Canopy聚类子集和子集个数。
6.根据权利要求1所述的一种基于最大密距的Canopy协议识别方法,其特征在于:所述S2具体包括以下步骤:
B1:在各个子集内计算样本平均值作为其初始聚类中心;
B2:在K-means算法中,计算各个样本到初始聚类中心的欧式距离,根据最小原则将样本归入到距离最近的聚类中心所在类别中;
B3:计算类别中样本元素的平均距离,并更新为该类别新的聚类中心:
B4:对比新的聚类中心与上一个聚类中心是否发生变化或误差是否在要求内,如果没有发生变化,达到最大迭代次数或者达到允许误差,则输出聚类结果,否则转到步骤B2。
10.根据权利要求3所述的一种基于最大密距的Canopy协议识别方法,其特征在于,在计算样本密距值时,当密度值为1或远小于正常值,并且样本间距离bi却大于正常值,该样本可视为离群点或聚类过程中产生的孤立点,在该次聚类前去除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902504.7A CN115115005A (zh) | 2022-07-26 | 2022-07-26 | 一种基于最大密距的Canopy协议识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902504.7A CN115115005A (zh) | 2022-07-26 | 2022-07-26 | 一种基于最大密距的Canopy协议识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115115005A true CN115115005A (zh) | 2022-09-27 |
Family
ID=83335275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902504.7A Pending CN115115005A (zh) | 2022-07-26 | 2022-07-26 | 一种基于最大密距的Canopy协议识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115115005A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115967683A (zh) * | 2022-12-23 | 2023-04-14 | 重庆邮电大学 | 基于Canopy-FCM加权属性的未知协议分类方法 |
CN117238378A (zh) * | 2023-09-15 | 2023-12-15 | 杭州普罗亭医学检验实验室有限公司 | 基于密度估计和二次型距离的自动圈门方法、装置、设备及存储介质 |
-
2022
- 2022-07-26 CN CN202210902504.7A patent/CN115115005A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115967683A (zh) * | 2022-12-23 | 2023-04-14 | 重庆邮电大学 | 基于Canopy-FCM加权属性的未知协议分类方法 |
CN117238378A (zh) * | 2023-09-15 | 2023-12-15 | 杭州普罗亭医学检验实验室有限公司 | 基于密度估计和二次型距离的自动圈门方法、装置、设备及存储介质 |
CN117238378B (zh) * | 2023-09-15 | 2024-04-26 | 杭州普罗亭医学检验实验室有限公司 | 基于密度估计和二次型距离的自动圈门方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115115005A (zh) | 一种基于最大密距的Canopy协议识别方法 | |
CN107392121B (zh) | 一种基于指纹识别的自适应设备识别方法及系统 | |
CN110569316A (zh) | 基于t-SNE降维技术和BIRCH聚类的低压台区用户拓扑辨识方法 | |
CN111507385B (zh) | 一种可扩展的网络攻击行为分类方法 | |
CN107832456A (zh) | 一种基于临界值数据划分的并行knn文本分类方法 | |
CN112347894A (zh) | 基于迁移学习和高斯混合模型分离的单株植被提取方法 | |
CN117478390A (zh) | 一种基于改进密度峰值聚类算法的网络入侵检测方法 | |
CN114722098B (zh) | 一种基于正态云模型和密度聚类算法的典型负荷曲线辨识方法 | |
CN111797260A (zh) | 基于图像识别的商标检索方法及系统 | |
CN111428064B (zh) | 小面积指纹图像快速索引方法、装置、设备及存储介质 | |
He et al. | An effective clustering scheme for high-dimensional data | |
CN109783586B (zh) | 基于聚类重采样的水军评论检测方法 | |
Islam et al. | Automatic categorization of image regions using dominant color based vector quantization | |
CN110532867A (zh) | 一种基于黄金分割法的人脸图像聚类方法 | |
Al-Jubouri et al. | A Content-Based Image Retrieval Method By Exploiting Cluster Shapes. | |
CN115186138A (zh) | 一种配电网数据的比对方法及终端 | |
CN114529975A (zh) | 一种应用于人脸识别的自适应快速无监督特征选择方法 | |
CN114358191A (zh) | 一种基于深度自动编码器的基因表达数据聚类方法 | |
CN114996287A (zh) | 一种基于特征库的设备自动识别和扩容方法 | |
CN112256766A (zh) | 用于能源采集终端的用电行为分析方法 | |
CN115112032B (zh) | 一种球面栅极组件间距的测量方法 | |
CN117609529B (zh) | 电子元器件的替代检索方法及其系统 | |
CN118410362B (zh) | 一种用户多维度指标数据的聚合方法 | |
CN113722607B (zh) | 一种基于改进聚类的托攻击检测方法 | |
CN117093884B (zh) | 基于层次聚类的多模态对比学习样本构建方法及系统 |
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 |