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

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

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址

全文共计5171字,阅读大概需要3分钟

欢迎关注我的个人公众号:不懂开发的程序猿

1、系统架构

处理⼤数据时,机器学习传统技术在数据的学习和分类⽅⾯需要很长时间。为 IDS 使⽤⼤数据技术和机器学习可以解决许多挑战,例如速度和计算时间,并开发准确的 IDS。

本⽂的⽬的是介绍在 IDS 中处理⼤数据的 Spark ⼤数据技术,以减少计算时间并实现有效的分类。为此,提出了⼀种名为 Spark-Chi-SVM 的 IDS 分类⽅法。

⾸先采⽤预处理⽅法将分类数据转换为数值数据,然后对数据集进行标准化,以提高分类效率。其次,使⽤ ChiSqSelector ⽅法对数据集进行降维,以进⼀步提高分类效率并减少后续步骤的计算时间。 第三,SVM ⽤于数据分类。更具体地说,使⽤ SVMWithSGD 来解决优化问题,此外,我们介绍了基于曲线下⾯积(AUROC)、精确召回曲线下⾯积(AUPR)的 Apache Spark ⼤数据平台上 SVM 分类器和逻辑回归分类器的⽐较) 和时间指标。


系统架构:


9397e5495c134bc88c2fcbb7a5bbe155.png


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 ⽣态系统及其主要组件。

a75251f1ab874af8beb44c2936c52892.png


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

3787395a1389450681a59b5f0b2591ab.png


3、实验步骤

3.1、数据预处理

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


3.2、标准化

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


9e51af90eb374f42a58b88f98b5c5406.png


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

c0c35a36a9d0419495e7fc43e34c55cf.png



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 技术中⽤于特征选择。



c3f30d95f0f04a5e8c7008aabf59289a.png

3.4、 模型分类器

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


30c689bbd33c4f338f93c82d7d030d89.png


其中,w 是权重向量,b 是偏差值

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


2a62222296384cc7b39010d00c5fdc7e.png


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


3fa34d42f5e34ac3895cf387d55f94a7.png


受限于:

669bb6b3e9cb4d3a94f6c773273263f7.png


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


94a5a14b5802483b8afcd91d39b2c8f0.png


其中ξi是松弛变量,C 是⼀个惩罚参数,控制错误分类误差的成本和分类边际之间的权衡,参数 C 控制边际和松弛变量⼤⼩之间的权衡 。

使⽤ SVMWithSGD ⽅法。 SVMWithSGD使⽤正则化参数 = 1.0的L^2正则化进行训练


01f2e73e77814e09b9829f674f434fe4.png


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


4、结论

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


f3feded226ae45d99390d523afc47742.png


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


a6fdfc16d4e1422796ab203fcae863a4.png


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

f9281a3b8dbd485ca00a290c322dc332.png



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


42e4c85b02ef454ab81b1be8d72b75f5.png


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

a1ce8a7cfb0346888045f6b60088a403.png



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


ea5bc100d20a484784641e6e907ad009.png


好处:

本文所提出的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.


相关文章
|
12天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的五大技巧
【4月更文挑战第7天】 在数据科学迅猛发展的今天,机器学习已成为解决复杂问题的重要工具。然而,构建一个既精确又高效的机器学习模型并非易事。本文将分享五种提升机器学习模型性能的有效技巧,包括数据预处理、特征工程、模型选择、超参数调优以及交叉验证。这些方法不仅能帮助初学者快速提高模型准确度,也为经验丰富的数据科学家提供了进一步提升模型性能的思路。
|
25天前
|
机器学习/深度学习 数据采集 监控
大模型开发:描述一个典型的机器学习项目流程。
机器学习项目涉及问题定义、数据收集、预处理、特征工程、模型选择、训练、评估、优化、部署和监控。每个阶段都是确保模型有效可靠的关键,需要细致操作。
17 0
|
25天前
|
机器学习/深度学习
大模型开发:解释正则化及其在机器学习中的作用。
正则化是防止机器学习过拟合的技术,通过限制模型参数和控制复杂度避免过拟合。它包含L1和L2正则化,前者产生稀疏解,后者适度缩小参数。选择合适的正则化方法和强度对模型性能关键,常用交叉验证评估。
|
16天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
26天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
16天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型的最佳实践
【4月更文挑战第3天】在数据驱动的时代,构建高效的机器学习模型已成为解决复杂问题的关键。本文将探讨一系列实用的技术策略,旨在提高模型的性能和泛化能力。我们将从数据预处理、特征工程、模型选择、超参数调优到集成学习等方面进行详细讨论,并通过实例分析展示如何在实践中应用这些策略。
15 1
|
8天前
|
机器学习/深度学习 自然语言处理 算法
|
3天前
电信公司churn数据客户流失k近邻(knn)模型预测分析
电信公司churn数据客户流失k近邻(knn)模型预测分析
15 0
|
7天前
|
机器学习/深度学习 人工智能 达摩院
52个AIGC视频生成算法模型介绍(上)
52个AIGC视频生成算法模型介绍(上)
32 3
|
14天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
【4月更文挑战第5天】 在机器学习领域,构建一个高效的模型并非易事。它涉及多个阶段,包括数据预处理、特征工程、模型选择、训练以及最终的评估和优化。本文深入探讨了如何通过精确的数据预处理技巧和细致的特征工程来提升模型性能,同时介绍了几种常见的模型优化策略。我们的目标是为读者提供一套实用的指导方案,帮助他们在面对复杂数据集时能够有效地构建和调整机器学习模型。