基于主成分分析的支持向量机入侵检测系统

news2024/11/13 8:56:05

基于主成分分析的支持向量机入侵检测系统

  • 学习目标:
  • 学习内容:
    • A. 数据集分析
    • B. 主成分分析 (PCA)--降维
    • C. 支持向量机 (SVM)
      • 核函数
      • 数据集预处理--转换
      • 数据集预处理 --特征缩放
      • 算法过程
      • 核函数对比
    • 总结
    • 不足
    • 参考论文

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计4018字,阅读大概需要3分钟
更多学习内容, 欢迎关注我的个人公众号:不懂开发的程序猿

学习目标:

一、基于主成分分析的支持向量机入侵检测系统

学习内容:

本文针对Knowledge Discovery in Databases Cup’99(KDD)数据集评估了支持向量机(SVM)不同核的性能,并比较了检测精度、检测时间。通过采用将高维数据集缩减为低维数据集的主成分分析(PCA)来减少检测时间。本研究进行的实验表明,支持向量机的高斯径向基函数核具有较高的检测精度。

A. 数据集分析

数据集:KDD
整个 KDDCup‘99 数据集由 4,898,431 条记录组成,其中每条记录包含 41 个特征。我们仅使用 KDDdataset 的 10% 部分用于训练目的和整个 KDDdataset 用于测试。此外,10% KDDCup’99 数据包含 494,069 条记录(每条记录包含 41 个特征),并分为 4 种类型的攻击,探测、拒绝服务 (DOS)、用户到根 (U2R)、根到本地(R2L)

在这里插入图片描述

B. 主成分分析 (PCA)–降维

PCA 是通过消除包含最大计算成本的高维空间中不太重要的属性,从而将更有用和相关的属性投影到低维子空间中来实现的。让我们考虑一个长度为“m”且经过“n”次检查的向量,那么给定的数据集可以由矩阵 X 表示为
X ( m ∗ n ) = [ X 1 , X 2 , X 3 , . . . , X n ] (1) X_(m*n)=[X_1, X_2, X_3, ... , X_n] \tag{1} X(mn)=[X1,X2,X3,...,Xn](1)
等式1表明 X 的每一列都是一个向量

等式2显示平均均值( μ )对于每个向量
μ = 1 n Σ i − 1 n X i j (2) \mu = \frac 1n \Sigma^n_{i-1}X_{ij} \tag{2} μ=n1Σi1nXij(2)
给定向量与其均值的变化由称为偏差的度量给出,由公式3给出
Φ = X i − μ (3) \Phi = X_i - \mu \tag{3} Φ=Xiμ(3)
两个变量之间的关系程度通过称为协方差的度量来衡量。如果协方差为正,则称这两个变量正相关,如果协方差为负,则称这两个变量负相关,如果协方差为零,则称数据不相关。所以从协方差矩阵中,我们可以实现数据的传播。协方差矩阵( Σ )构造如等式(4)中所示
∑ = 1 n − 1 Σ i = 1 n Φ i Φ i T = 1 n − 1 Σ i = 1 n ( X i − μ ) ( X i − μ ) T (4) \sum = \frac1{n-1}\Sigma^n_{i=1}\Phi_i\Phi^T_i=\frac1{n-1}\Sigma^n_{i=1}(X_i-\mu)(X_i-\mu)^T \tag{4} =n11Σi=1nΦiΦiT=n11Σi=1n(Xiμ)(Xiμ)T(4)
矩阵的转置φ表示为φ^T ,通过计算通过奇异值分解 (SVD) 算法使用的特征向量,在协方差矩阵上执行 PCA 。SVD 定义为复数或实数矩阵 X 的因式分解,使得X= U**S**V,其中 U 和 V 是酉矩阵,即
U T ‾ ∗ U = U ∗ U T ‾ = I \overline {U^T}*U=U*\overline {U^T}=I UTU=UUT=I
I 是单位矩阵,S 是非负实数对角元素的矩形矩阵。为了将系统从 n 维减少到 k 维,我们从 U 中获取前 K 个向量(列)。

C. 支持向量机 (SVM)

支持向量机的目的是通过找到一个超平面来最大化两个类之间的分离边际。让输入输出数据格式如下
( x 1 , y 1 ) , . . . , ( x n , y n ) , x ∈ R m , y ∈ { + 1 , − 1 } (x_1,y_1), ... , (x_n,y_n),x\in R^m,y \in \{+1,-1\} (x1,y1),...,(xn,yn),xRm,y{+1,1}
(x 1 , y 1 ),……(x n , y n ) 是训练的数据集,其中每个x i是一个m维实向量,n代表样本数,y属于+1或-1,通过指示点 xi属于哪个类。在线性可分的情况下,超平面对数据集进行分类,如图所示

在这里插入图片描述

核函数

然而,在大多数情况下,数据不是线性可分的,很难找到超平面来对数据进行分类。所以为了解决这个问题,SVM 有不同的核函数。线性不可分问题可以通过选择合适的核函数来解决。应用内核技巧后得到的算法保持不变,除了线性内核 SVM 中的每个点积都被非线性内核函数替换。
主要的非线性 SVM 核函数是
1.径向基核函数:使用的典型径向基核是高斯核。
K ( x , y ) = e x p ( − γ ∣ ∣ x − y ∣ ∣ ) 2 K(x,y)=exp(-\gamma||x-y||)^2 K(x,y)=exp(γxy)2
其中 x 和 y 是输入向量。如果γ=σ^− 2那么这个核被称为高斯方差核σ^− 2

2.多项式核函数:计算两个向量之间的 d 次多项式核。两个向量之间的相似性由多项式核表示。
K ( x , y ) = ( γ ( x T y ) + c 0 ) d K(x,y)=(\gamma (x^Ty)+c_0)^d K(x,y)=(γ(xTy)+c0)d
γ是斜率,d 是核度,C o是截距。如果内核被认为是同质的C 0 = 0.

数据集预处理–转换

KDDCup’99 数据的示例如图 2所示。转换后,系统将数据集中的文本词转换为数值,如图3所示. 例如,如果“Normal”被映射为 0,则攻击类型,系统使用表 3中提供的转换表将文本转换为数值。

在这里插入图片描述

在这里插入图片描述

数据集预处理 --特征缩放

转换后,数据集被归一化,使每个特征的数值在同一尺度下。在转换和规范化之后,数据集如图 4所示。进行缩放操作是为了降低复杂性,减少重叠并提高准确性。

在这里插入图片描述

在这里插入图片描述

算法过程

两个阶段中,PCA 应用于预处理数据集,以便将高维数据转换为低维数据。通过PCA对训练数据集进行降维后,通过支持向量机算法对预处理后的数据集进行训练,构建训练系统。一旦训练好的系统准备就绪,测试数据集就会被分类,以便在出现攻击时生成警报。通过将 SVM 分类器的预测结果与 KDDCup’99 中的实际结果进行比较来测量准确性,并测量每个测试记录的检测时间。完整的方法在流程图中解释

在这里插入图片描述

核函数对比

进行了两个不同的实验,即 with-PCA 和 without-PCA,以评估 PCA 在检测精度上的性能。C 和伽玛( γ) 是 SVM 非线性核中的两个重要参数。C 参数权衡了决策表面的简单性与训练样本的错误分类。较高的 C 通过将更多样本作为支持向量来正确分类所有测试数据集,而较低的 C 使决策表面平滑。另一方面,参数 Gamma 定义了单个训练样本的影响程度,高值表示接近,低值表示远。

在这里插入图片描述

在这里插入图片描述

总结

从通过实验获得的结果可以看出,当实施 PCA 时,检测率随着尺寸大小的增加而增加,而检测时间减少。在所有实现的内核中,RBF 内核表现出更好的结果和更好的检测率,并且在基于多项式内核的 SVM 中检测速度更快。

不足

论文中没有和不同的监督机器学习算法(例如 K-Nearest Neighbor’s、J48 决策树、随机森林和带 PCA 和不带 PCA 的朴素贝叶斯)来比较和分析 IDS 检测精度和检测时间。

参考论文

[1] Zhang H, Huang L, Wu C Q, et al. An effective convolutional neural network based on SMOTE and Gaussian mixture model for intrusion detection in imbalanced dataset[J]. Computer Networks, 2020, 177: 107315.

[2] P. Nskh, M. N. Varma and R. R. Naik, “Principle component analysis based intrusion detection system using support vector machine,” 2016 IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT), 2016, pp. 1344-1350, doi: 10.1109/RTEICT.2016.7808050.

[3] Almomani, O. A Feature Selection Model for Network Intrusion Detection System Based on PSO, GWO, FFA and GA Algorithms. Symmetry 2020, 12, 1046. https://doi.org/10.3390/sym12061046

[4] A feature selection algorithm for intrusion detection system based on Moth Flame Optimization Arar Al Tawil and Khair Eddin Sabri Conference: 2021 International Conference on Information Technology (ICIT), Year: 2021, Page 377

DOI: 10.1109/ICIT52682.2021.9491690

[5] de Rosa G H, Rodrigues D, Papa J P. Opytimizer: A nature-inspired python optimizer[J]. arXiv preprint arXiv:1912.13002, 2019.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68549.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESB产品Oracle数据库升级说明

ESB企业服务总线平台作为支撑企业综合集成的产品,在应用集成、数据集成、数据治理等解决方案都发挥着非常重要的作用。随着产品和解决方案的不断优化和升级,ESB企业服务总线平台功能需要逐步进行完善,不断提升产品功能的完备性、易用性和全面…

Github最新霸榜,Alibaba架构师手写的分布式系统核心原理手册

前言: 分布式的重要性就不需要我再强调了吧,它现在已经是大厂面试的“常驻嘉宾”了 前几天有粉丝在后台跟我吐槽:鑫哥,我觉得现在的风气真的变了,之前只觉得网上的情况是个例,结果自己就遇到了很多次&…

东方甄选、交个朋友迎头而上,云集不进则退

配图来自Canva可画 社交电商、会员电商、精选电商,多个定位描绘出云集的“求变史”。 2015年前后,社交电商概念崛起,拼多多靠“砍一刀”、“拼团”快速成长,云集也学着借助社交平台微信的传播途径,通过社交互动、用户…

【论文笔记】DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION

论文 题目:DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION 收录于:ICME 2021 论文:Deep Feature Selection-And-Fusion for RGB-D Semantic Segmentation | IEEE Conference Publication | IEEE Xplore [2105.04102]…

[附源码]Python计算机毕业设计Django学生宿舍维修管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

仿QQ音乐(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

[安装] Doris集群搭建环境

参考文献 参考链接 推荐指数 Doris集群安装部署(详细) [火][火][火][火][火] Doris学习笔记之数据表的创建 [火][火][火] doris官网0.15版本的安装部署 [火][火][火][火][火] Doris0.15升级到1.1.1 [火][火][火][火][火] [说明] Doris使用…

7个有用的Pandas显示选项

Pandas是一个在数据科学中常用的功能强大的Python库。它可以从各种来源加载和操作数据集。当使用Pandas时,默认选项就已经适合大多数人了。但是在某些情况下,我们可能希望更改所显示内容的格式。所以就需要使用Pandas的一些定制功能来帮助我们自定义内容…

Word控件Spire.Doc 【图像形状】教程(13): 如何在C#中对齐word文档上的形状

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

poi-tl实现对Word模板中复杂表格的数据填充

文章目录前言what poi-tlwhy poi-tlHow poi-tl1. 版本问题2. 集成和使用3. SpringEL表达式总结前言 开发时, 我们有时需要进行word类型表格导出, 而对于表格操作. 我们一般可能会倾向于使用 poi 进行操作. 但poi操作比较复杂, 所以就在寻找一种可以快速将内容填充到表格中的工具…

yolov7配置与训练记录(二)

yolov7配置与训练记录(一) 已经完成了环境的配置,下面开始文件内部的操作 yolov7官方下载地址为 git clone https://github.com/WongKinYiu/yolov71 将下载好的预训练权重放在yolov7-main/weights内 需要在yolov7中新建weights文件夹(也是为了方便管理权重文件) 测试 pyth…

单调队列算法总结

背景 单调队列,即为单调递减或者单调递增的队列。队列中的元素只能在队尾入队、从队首或者队尾出队。 单调队列的基本实现就是维护一个双向队列,只有当一个元素是当前最值、或者可能成为最值时才保留,否则出队。 单调队列通常用来解决在滑…

NR 大规模天线设计--1

参考《无线系统设计与国际标准》 概述 空间自由度是多天线系统获得性能增益的源泉。随着有源天线技术理论的出现, 为MIMO维度的扩展奠定了理论基础,有源天线技术在商用移动通讯领域的发展, 对天线的进一步扩展,尤其对信道垂直维…

Java常用API

Java常用API什么是API?Object类的作用:Object类的常用方法:Object的toString方法:Obiect的equals方法ObiectsStringBuilderMathSystem类概述BigDecimal什么是API? 1.API应用程序编程接口。 2.简单来说:就是Java帮我们…

JAVA中变量与常量

文章目录0 写在前面1 变量1.1 声明变量1.2 变量初始化2 常量3 写在最后0 写在前面 所有程序设计语言一样,Java 也使用变量来存储值。常量就是值不变的变量。 1 变量 1.1 声明变量 格式 类型 变量名; 例如: int index; double salary; long earthPop…

华为云发布CodeArts Req需求管理工具,让需求管理化繁为简

摘要:华为云正式发布CodeArts Req,这是一款自主研发的软件研发管理与团队协作工具,旨在助力企业大规模研发转型成功,释放组织生产力。本文分享自华为云社区《华为云发布CodeArts Req需求管理工具,让需求管理化繁为简》…

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇 关于编辑距离的一些题目。 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(Leetcode) 化简这一步不容易想到。原理就是两个都删除…

华为云大数据BI赋能企业数字化发展

企业在数字化转型过程中面临着不少挑战,比如数据整合能力有限、不足的需求快速响应能力、缺乏数据管理机制和保障、自建分析平台成本高等等。所以各大企业都希望通过一个大数据智能系统来全方位帮助企业处理数据分析,做好智能决策。因此,对于…

基于SOPHON TPU架构实现 Faiss 的两个查询接口

文章目录1. Faiss 简介2. 距离度量3. 在 Sophon TPU 上的接口实现3.1 Sophon TPU3.2 indexflat 实现3.3 indexPQ 实现 1. Faiss 简介 Faiss 库是 Facebook 开发的一个用于稠密向量相似性搜索和聚类的库,该库包含有诸多向量相似性搜索的算法。向量相似性搜索是将一…

【Pytorch】第 2 章 :马尔可夫决策过程和动态规划

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…