首页 / 电子技术在哪些领域方面用 / 模式识别的一般原理(模式识别过程)

模式识别的一般原理(模式识别过程)

Time:2024-03-19 20:08:02 Read:1000 作者:CEO

摘要: 模式识别方法应用于入侵检测领域' title='IntrusionDetection'入侵检测以区分正常和异常的用户或主机行为。以KDD99作为实验数据集,通过计算信息增益从原始数据中选择对分类结果影响较大的特征属性;然后选择两种有监督模式识别方法,支持向量机'title='Support Vector Machine'支持向量机(SVM)和多层神经网络(MNN)以及两种无监督聚类'title='Clustering'聚类方法Single - 试验了Linkage 和K-Means。实验结果表明,上述方法在入侵检测领域具有良好的应用前景。关键词: 模式识别、入侵检测、支持向量机、聚类入侵监控系统在信息安全领域具有重要的应用价值。入侵检测系统需要以高检测率和低误报率来区分正常和异常的用户或主机行为。从某种意义上来说,入侵检测问题可以看作是一个分类问题,因此作者将模式识别中的分类和聚类方法应用到入侵检测领域。该应用基于以下三个直观假设:(1)正常行为与异常行为存在较大差异; (二)同类异常行为有较大相似性的; (3)具体的异常行为是指通过修改参数,在不同的环境下可能会出现明显的变化。同时,选择模式识别中的两种监督分类方法:支持向量机(SVM)和多层神经网络(MNN),对它们进行训练以识别正常行为和异常行为,并识别每种不同的异常行为。由于在实际应用中,通常没有标记的训练数据,无法直接使用监督方法,因此选择两种无监督聚类方法:Single-Linkage和K-Means[1]作为监督方法。有效补充。 1 实验数据本文使用MIT林肯实验室在模拟环境下获得的KDD99[2]数据集记录9周内的原始网络数据包,并将其转换为大约700万条记录。每条记录包含42个字段,其中字段1至41为特征属性。特征属性描述网络会话信息,包括:连接时间、端口、源地址、目的地址等。字段42是标记字段。每条记录都被标记为正常或以下四种特定类型的异常行为之一: (1) DoS—— 拒绝服务攻击; (2)R2L——未经授权的远程访问; (3) U2R—— 未经授权使用本地超级用户权限; (4)probing——扫描攻击。实验中添加了两个新的标记来替代原来的标记。 (1)二进制标记(L2):如果一条记录是异常行为,则标记为1;如果记录是正常行为,则标记为-1。 (2)异常行为类型标记(L5):根据异常行为类型对数据集进行标记(正常:-1,探测:1,DoS:2,U2R:3,R2L:4)。 2 特征属性的选择由于记录中的某些特征属性与分类结果无关,在分类过程中使用这些特征属性会增加时间复杂度,并且很可能降低检测率。因此,为了获得更高效的分类和聚类,采用信息增益方法选择对分类结果影响较大的特征属性。具体方法如下: (1)计算N个不同值的标签字段X的熵: (2)计算标签字段的条件熵G(X|Yj)值越大,说明Yj对分类。实验中采用保守估计,信息增益阈值设置为0.2,即选择信息增益大于0.2的特征属性进行实验。最后总共选取了10个特征属性作为L2标记; L5标记选择了12个特征属性。

3 监督方法在所有监督模式识别方法中,选择广泛使用的支持向量机和多层神经网络方法来训练它们识别正常行为和异常行为以及识别不同类型的异常行为。 3.1 支持向量机(SVM) 作为较好的线性分类器之一,支持向量机的重要特点是分类器只与支持向量的个数有关。这些支持向量有助于分析。并了解最有效划分不同类别的特征属性的值。同时支持向量机还支持核函数,在不增加计算量的情况下将原始特征属性空间投影到高维空间,从而可以处理非线性可分的数据集。实验中,利用LIBSVM函数库[3]构建支持向量机分类器,并在带有L2标记和L5标记的数据集上进行实验。实验数据选择原始41个特征属性和减少后的10个特征属性或12个特征属性,停止阈值为0.01。由于支持向量机只能区分两个数据类,因此将添加L5标记的数据集根据异常行为类型分为四个子数据集进行测试。每个数据集仅包含一种异常行为和所有正常数据。结果如表1所示,其中#SV代表支持向量的数量。可见,通过信息增益方法选择特征属性的操作不仅提高了训练效率,还有效提高了分类精度。对于扫描(探测)和U2R攻击,支持向量机可以实现90%的分类率,而DoS和R2L攻击也有接近80%的分类率。此外,通过分析支持向量,可以总结出区分各种异常行为的最有效的特征属性。从f2(协议类型)特征属性可以发现,扫描攻击倾向于使用ICMP协议;从f3(服务类型)特征属性可以发现,扫描攻击经常访问eco I(ping)服务;从f6(目的字节)特征属性可以发现,检测攻击传输的字节数较少;从f12(登录)特征属性可以发现,登录后发生U2R和R2L攻击;从f24(number of srv)特征属性可以发现,被检测和攻击的服务器倾向于初始化更多的连接。 3.2 多层神经网络多层神经网络由一定数量的节点组成,所有节点又分为输入层、输出层和若干隐藏层。不同层的节点通过不同权重的链接关联起来。实验中以选定的特征属性值作为输入,通过基于梯度下降的反向传播算法迭代计算权重值,直到达到指定的迭代次数' title='迭代次数'迭代次数。实验中使用原始的41个特征属性数据进行实验。对于添加了L2标签的数据集,统计不同隐藏节点数量的神经网络的分类率。对于添加了L5标签的数据集,统计10个隐藏节点的神经网络给出的分类结果。具体参数设置为:输入节点数为41,输出节点数为2或5,迭代次数为1000。分类结果如表2所示。当隐藏节点数为8、可以获得更好的分类率,继续增加隐藏节点数量并不会进一步优化分类结果。 4 无监督方法从实验中可以看出,有监督方法通过训练可以达到更高的检测率。然而,在实际应用中,目前还没有可靠的方法来获取正确标记的训练数据。因此,实验中选择了无监督模式识别方法中的两种聚类算法Single-Linkage和K-Means。在真实的网络环境中,正常数据量通常远大于异常数据量,并且两者之间通常存在较大距离。

模式识别的一般原理(模式识别过程)

因此,利用聚类算法将正常数据划分为几大类,同时将所有不能划分为几大类的数据识别为异常,从而区分正常行为和异常行为。 4.1 数据过滤在KDD99训练数据集中,异常数据的数量超过了正常数据。为了满足前提假设,需要过滤掉一部分异常数据,使得最终数据集中98%以上的正常数据,异常数据量小于2%。 4.2 数据标准化由于没有足够可靠的先验知识来确定特征属性的相对重要性,因此所有特征属性都被同等地考虑。但是,如果对不同的特征属性使用相同的权重,那些取值较大的特征属性会过度影响聚类过程,量级大的特征属性将占主导地位,而量级小的特征属性将在聚类过程中发挥重要作用。整个分类过程。效果将被忽略。因此,在实验中,对各特征属性进行如下标准化: (1)计算各特征属性的均值和标准差: 式中,vector[j]为每条记录的第j个特征属性。 (2) 将每条记录中的连续特征属性值j 转换如下: 对于离散特征属性,如果两条记录的离散特征属性值相同,则它们之间的距离为0,否则为1。 4.3 单联-Linkage算法以标准化数据集和常数参数W(类半径)为输入,计算并输出聚类结果。它初始化的类集是空集。对于每条记录,如果类集为空,则将此记录作为类中心填充到类集中,否则计算其与每个现有类中心的距离,并选择最短距离。如果这个距离小于指定的参数常数W,则将该记录分配给距离最小的类,否则添加一个新类,并将该记录用作类中心。假设98%的数据是正常数据,设置阈值N。任何包含超过总记录数据量N%的类都被认为是正常类(实验中选择N=7)。这里采用入侵检测领域常用的ROC曲线来描述检测结果。改变参数W的值,ROC曲线如图1所示。结果表明,在误报率小于20%的前提下,Single-Linkage算法的检测率超过50%。 4.4 K-Means K-Means 算法根据输入参数k 将包含n 条记录的数据集分配到k 个类,使得同一类中的记录具有较高的相似度。其中每个类由该类中所有记录的平均值(类中心)来标识。该算法首先随机选择k条记录,每条记录代表一个初始类别。对于剩余的记录,按照与k个聚类中心的距离进行聚类,选择最接近的一个作为该记录的分类。然后根据现有的聚类更新各类的中心,然后根据新的类中心进行下一步的聚类,直到聚类结果稳定。实验中测试了不同的参数k和初始类中心。首先,参数k固定,使用不同的随机记录进行初始化,最终得到的结果没有显着差异。因此,选择前k条记录作为初始类中心。通过改变k的值,得到如图2所示的ROC曲线。从图1和图2可以看出,聚类算法在检测率较高时也存在较高的误报率,但由于其时间复杂度相对较低,因此可以应用于数据预处理。方法如下:通过设置不同的阈值来提高检测率。当检测率达到90%时,误报率在60%左右(见图1和图2)。此时,聚类算法检测到的异常数据集保留了原始数据集中90%以上的异常数据,同时过滤掉了原始数据集中大约一半的正常数据,从而得到可用于进一步处理的监督方法。小数据集的检测。

而且,由于原始数据集中异常数据所占比例较小,因此通过上述预处理方法得到的数据集的数据量约为处理前的一半。本文利用模式识别中的有监督支持向量机和神经网络方法以及无监督的Single-Linkage和K-Means方法来分析网络数据记录并进行入侵检测。实验证明,利用信息增益方法只选择对分类结果影响较大的特征属性,不会降低检测的准确率;同时,两种监督方法的检测率较高,可以直接用于检测。入侵行为,而两种无监督方法的检测率都比较低,检测率高的时候误报率也很高。但由于这些聚类方法的时间复杂度都比较低,因此可以应用于对原始数据进行预处理,过滤掉大量的正常数据,而不会对检测结果产生过大的影响,并获得一个相对较好的数据集。小但基本包含了所有原始入侵,可以大大减少下一步检测的输入数据量。对于过滤后的数据,使用支持向量机或多层神经网络分类器进行检测可以达到更高的检测效率。参考文献[1] MACQUEEN J B. 多变量观测值分类和分析的一些方法。第五届伯克利数理统计和概率研讨会论文集。 Berkeley:加州大学出版社,1967:281-297。[2] UCI 数据库档案中的知识发现。 http://kdd.ics.uci.edu /databases/kddcup99/kddcup99.html,1999[3] 张志忠,林志仁。 LIBSVM——支持向量机库.http://www.csie.ntu.edu.tw/~cjlin/libsvm/, 2007. [4] BISHOP C M. 用于模式识别的神经网络[M].牛津:牛津大学出版社,1996。

Copyright © 2002-2024 应用电子技术网 版权所有 
备案号: 滇ICP备2023006467号-62

免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)