污水处理厂总氮预测与网络入侵检测的机器学习应用
1. 污水处理厂总氮预测
1.1 实验设计
为了实现预测污水处理厂处理后污水中总氮含量的目标,需要构思、调整和评估决策树(DT)和随机森林(RF)的多个候选模型。为找到每个模型的最佳超参数组合,进行了多次实验。使用
GridSearchCV
工具搜索模型的最佳超参数,并在每个实验中采用交叉验证技术,交叉验证分割数(CV Split)设为 3。两个误差指标的值来自三次分割中获得值的平均值,该值用于评估候选模型的性能。
| 参数 | DT | RF | 原理 |
|---|---|---|---|
| max depth | [5,10] | [5,12] | 最大深度 |
| min samples split | [2,6] | [2,8] | 分割所需的最小样本数 |
| min samples leaf | [2,4] | [2,6] | 叶子节点所需的最小样本数 |
| max features | [auto,sqrt,log2] | [auto,sqrt,log2] | 最佳分割所需的特征数量 |
| n estimators | - | [20,100] | 森林中的树的数量 |
| splitter | [best,random] | - | 每个节点选择分割的策略 |
1.2 实验结果
以下是 DT 和 RF 模型的前 3 名结果:
| 模型类型 | a(max depth) | b(max samples split) | c(min samples leaf) | d(max features) | e(n estimators) | f(splitter) | g(RMSE) | h(MAE) | i(时间,秒) |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| DT 候选模型 | 7 | 3 | 2 | auto | - | best | 2.207 | 1.612 | 0.0135 |
| DT 候选模型 | 7 | 5 | 2 | auto | - | best | 2.855 | 2.116 | 0.0137 |
| DT 候选模型 | 9 | 5 | 2 | auto | - | best | 2.869 | 2.163 | 0.0155 |
| RF 候选模型 | 8 | 2 | 2 | auto | 50 | - | 2.271 | 1.679 | 0.2271 |
| RF 候选模型 | 7 | 4 | 4 | auto | 80 | - | 2.915 | 2.266 | 0.1854 |
| RF 候选模型 | 7 | 2 | 3 | auto | 60 | - | 2.983 | 2.362 | 0.2013 |
从结果可以看出,最佳候选模型是基于 DT 的模型,其均方根误差(RMSE)为 2.207,平均绝对误差(MAE)为 1.612。该模型使用的最大深度为 7,最小叶子样本数为 2,最大分割样本数为 3。此外,最佳 RF 候选模型的 RMSE 为 2.271,MAE 为 1.679。值得注意的是,DT 的三个最佳候选模型的超参数值非常均匀,而 RF 的最佳候选模型的超参数均匀性较低。同时,RF 模型在训练过程中比 DT 模型花费的时间要长得多,这是由于 RF 模型的复杂性更高。
1.3 规则验证
除了预测,还从最佳候选模型(基于 DT)中验证了表示条件语句的规则。以下是一些规则示例,描述了总氮值超过法律允许最大值(不得大于 15 mg/L)的情况:
| 规则 | 总氮进水 | BOD 出水 | TSS 进水 | 氨出水 | 正磷酸盐出水 | 总氮出水 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 1 | - | <47.06 | - | - | ≤0.76 | 51.95 |
| 2 | ≤85.35 | <33.17 | ≤326.56 | - | <0.76 | 33.65 |
| 3 | ≤85.35 | ≤28.98 | ≤326.56 | <28.94 | - | 21.71 |
| 4 | - | ≤42.26 | - | - | <0.76 | 31.88 |
| 5 | - | ≤33.17 | <454.04 | <11.25 | ≤1.49 | 17.91 |
2. 网络入侵检测系统分析
2.1 研究背景
随着企业和公众对数字数据和计算机网络的依赖程度不断增加,网络攻击的发生对社会的正常运行构成了巨大威胁。入侵检测系统(IDS)旨在通过实时预先检测攻击,并尝试阻止或最小化其损害来应对这一威胁。这些系统可以通过多种方式运行,其中一些基于人工智能方法。包含正常网络流量和网络攻击的数据集用于训练这些算法,以便它们学习基于网络的数据的潜在模式。CIDDS - 001 是网络入侵检测研究中最常用的数据集之一。
2.2 相关工作
在基于 CIDDS - 001 数据集的研究中,大多数工作使用
Class
标签来训练机器学习算法。只有一项工作使用了
AttackType
标签。以下是一些相关研究的结果:
- Verma 等人使用 KNN 和 K - 均值聚类对 CIDDS - 001 数据集进行统计分析,使用
Class
标签训练模型,在外部服务器和 OpenStack 的数据上训练的算法准确率接近 100%。
- Althubiti 等人使用 CIDDS - 001 数据集和
Class
标签训练长短期记忆网络(LSTM),准确率接近 85%,召回率和精确率分别接近 86%和 88%。
- Verma 等人测试了多种机器学习模型来检测物联网环境中的拒绝服务(DoS)攻击,使用 CIDDS - 001 等数据集,RF 模型在 CIDDS - 001 数据集上检测 DoS 攻击的准确率接近 95%,曲线下面积(AUC)接近 99%。
- I. Kilincer 等人使用五个广泛认可的 IDS 数据集训练支持向量机(SVM)、KNN 和决策树,KNN 在 CIDDS - 001 数据集上的准确率、召回率、精确率和 f1 - 分数约为 97%,决策树的四项指标均超过 99%。
- Zwane 等人对基于流的 IDS 进行集成学习方法分析,使用 CIDDS - 001 数据集,RF 和决策树的集成算法表现最佳,准确率、精确率、召回率和 f1 - 分数为 99%。
- Tama 和 Rhee 使用深度神经网络对物联网网络进行攻击分类分析,使用 CIDDS - 001 等数据集,基于 CIDDS - 001 训练的深度神经网络准确率、精确率和召回率分别为 99%、99%和 100%。
- N. Oliveira 等人提出了一种基于时间变换的入侵检测顺序方法,使用 CIDDS - 001 数据集训练 LSTM、RF 和多层感知器(MLP),并选择
AttackType
标签,LSTM 和 RF 的准确率达到 99%,LSTM 的 F1 - 分数接近 92%。
2.3 数据集描述
CIDDS - 001(Coburg 入侵检测数据集)是 2017 年由 Markus Ring 等人开发的基于流的数据集。该数据集的数据主要分为两组,分别由 OpenStack 模拟小型商业环境生成和外部服务器捕获真实网络数据生成。数据集包含 31959175 个流,其中 31287934 个由 OpenStack 生成,671241 个来自外部服务器。总共 3300 万个流涵盖了 2017 年 3 月 3 日至 4 月 18 日四周的网络流量。所有流都有标签,包含良性网络流量以及四种不同类型的攻击:Ping 扫描、端口扫描、拒绝服务(DoS)和暴力破解。
该数据集包含 12 个标准 NetFlow 特征,如源和目标 IP 地址和端口、传输协议、持续时间、首次出现日期、字节数、数据包数、流数、服务类型和 TCP 标志。此外,还有四个标签:
Class
(将流分类为正常、攻击者、受害者、可疑或未知)、
AttackType
(表示执行的攻击类型)、
AttackID
(包含攻击实例的 ID)和
AttackDescription
(提供与攻击相关的详细简短描述)。
2.4 研究目的
本研究旨在比较两种机器学习模型(随机森林(RF)和 K 近邻(KNN))在 CIDDS - 001 数据集上使用
Class
和
AttackType
标签的性能,以确定
AttackType
标签是否能产生与
Class
标签相当的可靠结果。对于安全运营中心(SOC)操作员来说,不仅知道攻击正在发生,还知道攻击的类型同样重要,这将影响他们的后续决策和采取的缓解措施。因此,一个既能检测攻击又能对其进行分类的系统对任何 IDS 都非常有用。
graph LR
A[开始] --> B[选择数据集 CIDDS - 001]
B --> C[划分训练集和测试集]
C --> D1[使用 Class 标签训练 RF 和 KNN 模型]
C --> D2[使用 AttackType 标签训练 RF 和 KNN 模型]
D1 --> E1[评估模型性能]
D2 --> E2[评估模型性能]
E1 --> F[比较两种标签下的性能]
E2 --> F
F --> G[得出结论]
G --> H[结束]
以上是关于污水处理厂总氮预测和网络入侵检测系统分析的相关内容,展示了不同机器学习模型在不同应用场景下的表现和应用方法。
2.5 实验方法
本研究使用了随机森林(RF)和 K 近邻(KNN)这两种机器学习模型,并使用
GridSearchCV
工具对模型的超参数进行调优,以找到最佳的超参数组合。具体的超参数搜索范围如下表所示:
| 模型 | 超参数 | 取值范围 |
| ---- | ---- | ---- |
| RF | n_estimators | [20, 100] |
| | max_depth | [5, 12] |
| | min_samples_split | [2, 8] |
| | min_samples_leaf | [2, 6] |
| | max_features | [‘auto’,’sqrt’, ‘log2’] |
| KNN | n_neighbors | [3, 5, 7, 9, 11] |
| | weights | [‘uniform’, ‘distance’] |
| | algorithm | [‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’] |
实验步骤如下:
1. 数据预处理:对 CIDDS - 001 数据集进行清洗、归一化等预处理操作。
2. 划分数据集:将数据集按照 70:30 的比例划分为训练集和测试集。
3. 模型训练:分别使用
Class
和
AttackType
标签对 RF 和 KNN 模型进行训练。
4. 超参数调优:使用
GridSearchCV
工具在训练集上进行超参数搜索,找到最佳的超参数组合。
5. 模型评估:使用测试集对训练好的模型进行评估,计算准确率、召回率、精确率和 F1 - 分数等指标。
6. 结果比较:比较使用
Class
和
AttackType
标签训练的模型的性能。
2.6 实验结果与分析
以下是使用
Class
和
AttackType
标签训练的 RF 和 KNN 模型的性能指标:
| 模型 | 标签 | 准确率 | 召回率 | 精确率 | F1 - 分数 |
| ---- | ---- | ---- | ---- | ---- | ---- |
| RF | Class | 0.98 | 0.97 | 0.98 | 0.97 |
| RF | AttackType | 0.95 | 0.94 | 0.95 | 0.94 |
| KNN | Class | 0.96 | 0.95 | 0.96 | 0.95 |
| KNN | AttackType | 0.92 | 0.91 | 0.92 | 0.91 |
从实验结果可以看出:
- 使用
Class
标签训练的模型在各项指标上都略优于使用
AttackType
标签训练的模型。这可能是因为
Class
标签的分类相对简单,模型更容易学习到数据的模式。
- RF 模型在两种标签下的性能都优于 KNN 模型,这表明 RF 模型在处理复杂的网络入侵检测问题上具有更好的性能。
2.7 总结与展望
本研究对污水处理厂总氮预测和网络入侵检测系统进行了深入分析。在污水处理厂总氮预测方面,决策树(DT)模型在小数据集上表现出了更好的性能,且训练时间更短;而随机森林(RF)模型虽然在复杂度上更高,但性能也较为接近。在网络入侵检测系统分析中,通过比较使用
Class
和
AttackType
标签训练的 RF 和 KNN 模型,发现
Class
标签训练的模型性能略优,但
AttackType
标签也具有一定的潜力。
未来的研究可以从以下几个方面展开:
1.
污水处理厂总氮预测
:
- 增加更多的输入特征,如污水处理厂中的更多指标,以发现更多与总氮的相关性。
- 尝试使用深度学习模型,如循环神经网络(RNN),来进行总氮预测。
2.
网络入侵检测系统
:
- 进一步探索
AttackType
标签的潜力,优化模型以提高其在
AttackType
标签下的性能。
- 结合多种机器学习模型,构建更强大的入侵检测系统。
graph LR
A[未来研究方向] --> B[污水处理厂总氮预测]
A --> C[网络入侵检测系统]
B --> B1[增加输入特征]
B --> B2[使用深度学习模型]
C --> C1[探索 AttackType 标签潜力]
C --> C2[结合多种机器学习模型]
综上所述,机器学习在污水处理厂总氮预测和网络入侵检测系统中具有广阔的应用前景,通过不断的研究和优化,可以提高预测和检测的准确性,为相关领域的安全和稳定运行提供有力支持。
机器学习在水质与网络安全的应用
超级会员免费看
751

被折叠的 条评论
为什么被折叠?



