当前位置: 首页 > news >正文

大数据环境下使用机器学习算法的入侵检测模型

大数据环境下使用机器学习算法的入侵检测模型

  • 1、系统架构
  • 2、核心组件
  • 3、实验步骤
    • 3.1、数据预处理
    • 3.2、标准化
    • 3.3、特征选择
    • 3.4、 模型分类器
  • 4、结论
    • 好处:
  • 【参考文献】

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

1、系统架构

处理⼤数据时,机器学习传统技术在数据的学习和分类⽅⾯需要很长时间。为 IDS 使⽤⼤数据技术和机器学习可以解决许多挑战,例如速度和计算时间,并开发准确的 IDS。
本⽂的⽬的是介绍在 IDS 中处理⼤数据的 Spark ⼤数据技术,以减少计算时间并实现有效的分类。为此,提出了⼀种名为 Spark-Chi-SVM 的 IDS 分类⽅法。
⾸先采⽤预处理⽅法将分类数据转换为数值数据,然后对数据集进行标准化,以提高分类效率。其次,使⽤ ChiSqSelector ⽅法对数据集进行降维,以进⼀步提高分类效率并减少后续步骤的计算时间。 第三,SVM ⽤于数据分类。更具体地说,使⽤ SVMWithSGD 来解决优化问题,此外,我们介绍了基于曲线下⾯积(AUROC)、精确召回曲线下⾯积(AUPR)的 Apache Spark ⼤数据平台上 SVM 分类器和逻辑回归分类器的⽐较) 和时间指标。

系统架构:

在这里插入图片描述

2、核心组件

Spark 具有与 MapReduce 相似的编程模型,但使⽤称为弹性分布式数据集或 RDD的数据共享抽象对其进行了扩展。 Spark 旨在快速迭代算法,⽀持内存存储和有效的故障恢复。
Spark Core 由两个 API 组成,它们是⾮结构化和结构化 API 。⾮结构化 API 是 RDD、累加器和⼴播变量。结构化 API 由 DataFrames、Datasets、Spark SQL 组成,是⼤多数⽤⼾应该使⽤的接⼝。在这项⼯作中,使⽤了数据帧结构和 RDD。 Dataframe ⽤于加载和存储数据集,然后将其转换为 RDD 以供其他进程处理。在某些环境中,Spark 的运行速度⽐ Hadoop 快 100 倍。 Spark 可以在其独⽴集群模式、Hadoop YARN、Apache Mesos 或 EC2 上运行。
在我们的模型中,我们使⽤ Spark 独⽴集群模式。 Apache Spark 的主要组件是 Spark 核⼼、SQL、Streaming、MLlib 和 GraphX。图 2展⽰了 Spark on Hadoop ⽣态系统及其主要组件。
在这里插入图片描述

Spark 使⽤图 3 所⽰的主/从架构。驱动程序与一个叫做master的协调器进行通信,这个协调器管理着执行器运行的slave/worker。 Spark 集群有⼀个 master 和任意数量的 slave/worker。
在这里插入图片描述

3、实验步骤

3.1、数据预处理

⼤规模数据集通常包含嘈杂、冗余和不同类型的数据,通常,⼊侵检测算法处理⼀种或多种原始输⼊数据类型,例如仅处理数值数据的 SVM 算法。因此,我们准备数据并将数据集中的分类数据转换为数值数据。

3.2、标准化

在机器学习中,标准化是获得可靠结果的关键技术。某些特征的值可能会从⼩到⼤不同。因此,分析的过程可能会扩⼤规模。在 Spark-Chi-SVM 模型中,我们使⽤标准化通过缩放到 Spark Mllib 中的单位⽅差来处理特征。单位⽅差法采⽤修正后的样本标准差,由下式得出:

在这里插入图片描述

在表 3中,我们说明了数据标准化过程的结果,该过程通过缩放到单位⽅差来标准化特征。

在这里插入图片描述

3.3、特征选择

数据中的冗余和不相关特征导致⽹络流量分类出现问题,从⽽减慢分类过程并阻⽌准确分类,特别是在处理具有高维数的⼤数据时。确定产⽣高精度并消除转移的最佳特征⼦集是⼀个重要问题。 Spark-Chi-SVM 模型结合了 ChiSqSelector 和 SVM,模型中的 ChiSqSelector ⽤于特征选择。它使⽤卡⽅独⽴性检验来决定选择哪些特征。在我们的模型中应⽤于数据集特征的特征选择是 numTopFeatures ⽅法。在实验中,我们在 ChiSqSelector ⽅法中实现了不同的 numTopFeatures 参数值,numTopFeatures 的值 = (40, 33, 30, 20, 19, 17, 15, 12, 11, 10)。 numTopFeatures 选择⼀个固定数量的顶部特征根据卡⽅检验。此步骤数据集的结果具有 17 个特征。
表 4显⽰了 numTopFeatures 不同值的⼀些结果。这些值在 Chi-selector 技术中⽤于特征选择。

在这里插入图片描述

3.4、 模型分类器

⽀持向量机 (SVM) 是 Vapnik引⼊的⼀种监督学习⽅法。它分析⽤于分类和回归的数据。 SVM 通过 N 维超平⾯将数据分类为不同的类别。在⼆元分类中,SVM 使⽤线性超平⾯将数据分为两类,如果存在向量 w 和标量 b,则称其是线性可分的,例如:

在这里插入图片描述

其中,w 是权重向量,b 是偏差值
⽀持向量机的⼯作原理是通过最⼤化边距来获得最⼩化的错误分类和最佳性能,其中两个类的向量之间的最⼤边距被称为最⼤边距分类器,如图 4 所⽰。

在这里插入图片描述

使⽤以下等式找到最佳分离线性分类的超平⾯:

在这里插入图片描述

受限于:

在这里插入图片描述
软边际SVM被用来减少离群值和错误分类误差的影响。该方法在公式4中引入了一个非负的松弛变量。松弛变量是用户定义的常数,用于权衡余量和错误分类误差。

在这里插入图片描述

其中ξi是松弛变量,C 是⼀个惩罚参数,控制错误分类误差的成本和分类边际之间的权衡,参数 C 控制边际和松弛变量⼤⼩之间的权衡 。
使⽤ SVMWithSGD ⽅法。 SVMWithSGD使⽤正则化参数 = 1.0的L^2正则化进行训练

在这里插入图片描述

SVM 的高泛化和学习能力使其适⽤于处理高维数据,例如⼤数据和⼊侵检测。但是,在实施 IDS 时需要注意许多挑战,例如以高⼊侵检测率和低误报率实时提供响应。此外,⼤量特征和识别它们之间复杂关系的难度使分类成为⼀项艰巨的任务。 SVM 的计算成本很高。因此,使⽤ Apache Spark 可以减少执行时间,Apache Spark 是⼀个分布式平台,可以在短时间内执行许多任务。

4、结论

本节展⽰了⽤于⼊侵检测的 Spark-Chi-SVM 模型的结果。提出的模型是使⽤ Apache Spark 中的 MLlib 机器学习库在 Scala 编程中实现的。为了评估中,研究⼈员使⽤了 KDD 数据集,曲线下⾯积(AUROC),⾯积在精确召回曲线和时间测量下。曲线下⾯积是衡量分类器的表现。它由以下公式计算:

在这里插入图片描述

精确召回曲线 (AUPR) 下的 ⾯积“显⽰了不同阈值的精确度和召回率之间的权衡”。它由以下公式计算:

在这里插入图片描述

在表 5中,我们展⽰了使⽤基于 AUROC 和 AUPR 度量的 Chi-selector 技术实现 SVM 分类器⽽不使⽤ Chi-selector 技术进行特征选择和 Logistic 回归分类器的结果。实验结果表明,该模型具有较高的性能,降低了误报率。

在这里插入图片描述

表 6显⽰了基于训练和预测时间的结果。

在这里插入图片描述

图 5显⽰了所提出模型的结果。

在这里插入图片描述

根据表 7中 Spark Chi-SVM 模型与其他研究⼈员基于训练和预测时间的⽅法的⽐较,Chi-SVM 是最好的分类器。

在这里插入图片描述

好处:

本文所提出的Spark Chi-SVM 模型在IDS检测精度和准确率上是优于SVM和LR的,训练时间和预测时间上也是用时最少的,该模型具有较高的性能,较低的时延。

【参考文献】

[1] Aldubai A F, Humbe V T, Chowhan S S. Analytical study of intruder detection system in big data environment[M]//Soft Computing: Theories and Applications. Springer, Singapore, 2018: 405-416.
[2] Kabanda G. Performance of Machine Learning and Big Data Analytics paradigms in Cybersecurity and Cloud Computing platforms[J]. Global Journal of Computer Science and Technology, 2021.
[3] Thevar M. The Effect of K-Nearest Neighbors Classifier for Intrusion Detection of Streaming Net-Flows in Apache Spark Environment[M]. University of Maryland, Baltimore County, 2017.
[4] Hossain Z, Sourov M M R, Khan M, et al. Network Intrusion Detection using Machine Learning Approaches[C]//2021 Fifth International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud)(I-SMAC). IEEE, 2021: 438-442.
[5] Kiran S, Rekha G. Real Time NIDS towards Architecture of Data Mining[J]. International Journal of Advanced Research in Computer Engineering & Technology (IJARCET), 2018, 7(3).
[6] Othman, Suad Mohammed, et al. “Intrusion detection model using machine learning algorithm on Big Data environment.” Journal of Big Data 5.1 (2018): 34.

相关文章:

  • Vue3 从入门到放弃 (第三篇.组件的使用)
  • 跑通DIMP(Windows10)
  • 02-Ajax入门
  • Linux系统中Qt安装
  • RabbitMQ消息丢失的场景,如何保证消息不丢失?(详细讲解,一文看懂)
  • 界面组件DevExpress MAUI Xamarin v22.1 - 全新的项目模板
  • c++ map取值的find、[]、at方法特性对比
  • python分布式计算multiprocessing包
  • C++ 10.3 关联容器map定义以及value_type、key_type、mapped_type
  • 不锈钢酸洗液酸回收工艺及方案
  • 笑话大全查询易语言代码
  • 电竞消息查询易语言代码
  • TCP确保可靠的机制——重传,滑动窗口,拥塞窗口,流量控制,延迟确认
  • springboot基于WEB的高校文档打印系统毕业设计源码101004
  • 【JAVASE】类的五大成分
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • javascript数组去重/查找/插入/删除
  • leetcode388. Longest Absolute File Path
  • leetcode46 Permutation 排列组合
  • Linux后台研发超实用命令总结
  • maya建模与骨骼动画快速实现人工鱼
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • oschina
  • PHP变量
  • Terraform入门 - 1. 安装Terraform
  • 巧用 TypeScript (一)
  • 如何用vue打造一个移动端音乐播放器
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • Java总结 - String - 这篇请使劲喷我
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • #Linux(Source Insight安装及工程建立)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (五)网络优化与超参数选择--九五小庞
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)h264中avc和flv数据的解析
  • (转)我也是一只IT小小鸟
  • (转载)hibernate缓存
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net 获取url的方法
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .net反编译工具
  • @Query中countQuery的介绍
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [AIGC] Java 和 Kotlin 的区别
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [C#C++]类CLASS
  • [C++]命名空间等——喵喵要吃C嘎嘎