18、网络入侵检测与风速预测的机器学习应用

网络入侵检测与风速预测的机器学习应用

网络入侵检测系统中的机器学习

在网络安全领域,入侵检测系统(IDS)至关重要。这里以CIDDS - 001数据集为例,探讨机器学习在网络入侵检测中的应用。

数据集标注

由于数据源不同,CIDDS - 001的标注过程分为两步。
- 对于OpenStack环境产生的流量,因其在完全可控的网络中产生,可利用执行攻击的时间戳、源和目标来标记攻击流量,其余标记为正常。
- 外部服务器的流量标注较为复杂:
- 来自OpenStack环境进入该服务器的所有流量是良性的,标记为正常。
- 来自三个受控服务器(attacker1、attacker2和attacker3)的额外流量是恶意的,进出这些服务器的流量分别标记为攻击者或受害者。
- 来自端口80和443的所有流量标记为未知,因为它来自任何感兴趣的人都可以访问的主页。
- 外部服务器中的其余流量标记为可疑。

然而,“未知”和“可疑”标签由于其不确定性,在训练模型时会带来问题。因为这些流量可能包含正常和攻击条目,且无法正确分类每个条目,将整个环境视为正常或攻击会导致对这些类别的强烈偏差。

数据集预处理和采样

为了进行机器学习方法的训练,CIDDS - 001需要经过一系列预处理程序:
1. 进行初始分析以检测错误和不一致的数据,消除整个数据集中包含单一值的特征(如Flows),并纠正其他特征(如Bytes,将后缀K和M替换为其数字表示)。
2. 为了保留流的顺序,使用“首次看到的日期”特征对数据集进行索引。
3. 使用分类编码对非数字特征进行编码。

经过这些处理后,剩下10个特征:源IP、源端口、目标IP、目标端口、协议、标志、服务类型、持续时间、字节数和数据包数,所有这些都编码为数字并缩放到0到1之间。采样过程与前人工作类似,得到整个数据集的代表性样本。该样本包含2017年3月17日下午2:18:05至2017年3月20日下午5:42:17之间的2,535,456个流,并使用简单的留出法将其分为训练集(70%)和测试集(30%)。

此外,为了比较使用Attack - Type和Class标签训练的算法,对Class标签进行了额外的预处理,将所有“可疑”、“未知”和“受害者”实例替换为攻击类,将问题转化为只有正常和攻击两个类别的二元分类任务。

模型选择

为了比较Class和AttackType标签对机器学习方法性能的影响,选择了随机森林(RF)和K近邻(KNN)两种算法。
- 随机森林(RF) :是一种集成机器学习方法,使用多个决策树实例,每个决策树使用数据集的不同子样本进行训练,以产生不同的分类规则。最终分类结果由多数投票决定。其参数选择如下表所示:
| 参数 | 值 |
| ---- | ---- |
| 估计器数量 | 10 |
| 分裂标准 | Gini杂质 |
| 最小样本分裂 | 2 |
| 最小样本叶节点 | 1 |
| 最大特征 | √nf eatures |
| 最小杂质减少 | 0 |
| 类权重 | 平衡 |

  • K近邻(KNN) :是一种用于分类和回归的监督机器学习算法。作为分类器时,算法的预测是样本的k个最近邻数据点中出现频率最高的类。使用特定度量(如欧几里得和曼哈顿)计算数据集实例之间的距离。其参数如下表:
    | 参数 | 值 |
    | ---- | ---- |
    | 邻居数量 | 3 |
    | 权重 | 均匀 |
    | 叶大小 | 30 |
    | 度量 | 闵可夫斯基 |
结果与讨论

使用四个指标(准确率、精确率、召回率和F1分数)来评估模型性能。借助Google Colab进行所需的计算,但由于硬件限制,无法比较模型的计算时间成本。
- 标签比较 :使用Class标签训练的RF和KNN模型在所有指标上的结果接近100%。而AttackType标签的结果则截然不同,受算法在少数类(如ping扫描和暴力破解)上的性能影响很大。宏观平均结果如下表:
| 模型 | 准确率 | 精确率 | 召回率 | F1分数 |
| ---- | ---- | ---- | ---- | ---- |
| 随机森林 | 0.9560 | 0.9032 | 0.9239 | 0.9134 |
| KNN | 0.9694 | 0.9037 | 0.9290 | 0.9161 |

对于AttackType标签,不同攻击类型的分类结果如下:
- 随机森林模型
| 类别 | 精确率 | 召回率 | F1分数 |
| ---- | ---- | ---- | ---- |
| 暴力破解 | 0.9791 | 0.9868 | 0.9239 |
| DoS | 1.0000 | 0.9999 | 1.0000 |
| 无攻击 | 0.9999 | 1.0000 | 1.0000 |
| ping扫描 | 0.8104 | 0.5344 | 0.6441 |
| 端口扫描 | 0.9906 | 0.9950 | 0.9928 |

  • KNN模型
    | 类别 | 精确率 | 召回率 | F1分数 |
    | ---- | ---- | ---- | ---- |
    | 暴力破解 | 0.9920 | 0.9815 | 0.9867 |
    | DoS | 0.9999 | 0.9999 | 0.9999 |
    | 无攻击 | 0.9999 | 1.0000 | 0.9999 |
    | ping扫描 | 0.8650 | 0.5406 | 0.6654 |
    | 端口扫描 | 0.9900 | 0.9965 | 0.9932 |

  • 讨论 :CIDDS - 01数据集中外部服务器流量关于Class标签的标注过程不准确,因为来自端口80和443的所有流量被标记为未知或可疑,而没有确定该流是否与攻击有关。此外,使用该标签训练的两个模型在所有指标上的得分接近100%是异常的,很可能这些模型过拟合,这些结果不能反映其入侵检测能力。而AttackType标签的结果很有前景,因为标注过程准确识别了测试台上执行的所有攻击,相比Class标签,它能保证更健壮、偏差更小的分类器。不过,由于机器学习算法在不平衡数据集的少数类上表现通常较差,AttackType标签的宏观F1分数较低,但除了ping扫描类,两个模型对所有攻击类型的表现都相当不错。

风速预测中的前馈人工神经网络

在能源领域,可再生能源的发展至关重要,但风能的波动性和间歇性给其大规模应用带来挑战。因此,准确的风速预测对于电力和能源部门的多个参与者的运营以及整个系统的有效性至关重要。

引言

过去几十年,可再生能源发电急剧扩张,风能因其高发电能力、效率和成本效益比而极具吸引力。然而,风速的随机性和不稳定性使得预测模型难以精确预测。本文提出了一种基于前馈神经网络(FFNN)的风速预测模型,应用于南美洲南部一个风电场的实际数据。该模型使用来自相应监控与数据采集(SCADA)系统和欧洲中期天气预报中心(ECMWF)的历史数据,结果表明该模型的预测误差低于基线模型(数值天气预报)。

相关工作
  • 基于GRUNN的NWP风速误差校正模型 :作者提出了一种基于双向门控循环单元神经网络(GRUNN)的模型,用于NWP风速误差校正,并使用调整后的风速提前24小时预测风电。该模型使用NWP风速误差标准差作为权重时间序列,通过经验模态分解将其分解为趋势和细节项,将这两项和NWP风速作为GRUNN的输入进行校正,最后使用风轮机的风电曲线估计风电。
  • NWP降尺度模型 :测试了两种不同配置的NWP降尺度模型,用于每小时和亚小时的100米风速预测。一种使用描述边界层、风和温度的变量(可从NWP输出中获得),另一种添加测量和NWP风速之间的误差作为输入。降尺度模型使用基于贝叶斯推理准则的逐步回归与线性回归相结合的参数化方法。使用法国巴黎附近一个风电场的两年数据验证该方法,并将结果与原始NWP预测和基准模型(自回归移动平均、人工神经网络和持久性)进行比较。
  • 短期风电预测与NWP调整模型 :作者开发了一个由三个模块组成的框架:风电预测、异常检测和数据调整。结果表明,该模型能够正确识别异常预测并降低风电预测误差。

网络入侵检测与风速预测的机器学习应用(续)

前馈人工神经网络风速预测模型
模型介绍

本文提出的基于前馈神经网络(FFNN)的风速预测模型,能够识别和学习风速变化的模式。该模型利用南美洲南部一个风电场的实际数据进行训练和验证,数据来源于该风电场的监控与数据采集(SCADA)系统以及欧洲中期天气预报中心(ECMWF)的历史数据。

前馈神经网络是一种常见的人工神经网络结构,信息从输入层单向传播到隐藏层,再到输出层,没有反馈连接。在风速预测中,输入层接收来自SCADA系统和ECMWF的相关数据,如历史风速、风向、温度等信息,隐藏层对这些输入信息进行处理和特征提取,输出层则输出预测的风速值。

模型应用与结果

将该模型应用于实际风电场数据,与基线模型(数值天气预报)进行对比。结果显示,该模型能够实现比基线模型更低的预测误差。这表明基于FFNN的风速预测模型在风速预测方面具有较好的性能,能够为电力和能源部门的运营提供更可靠的风速预测信息。

以下是该模型应用的流程:
1. 数据收集 :从风电场的SCADA系统和ECMWF获取历史风速、风向、温度等相关数据。
2. 数据预处理 :对收集到的数据进行清洗、归一化等处理,以提高模型的训练效果。
3. 模型训练 :使用预处理后的数据对FFNN模型进行训练,调整模型的参数以优化预测性能。
4. 模型验证 :使用验证数据集对训练好的模型进行验证,评估模型的预测误差。
5. 模型应用 :将验证通过的模型应用于实际风速预测,为电力和能源部门的运营提供决策支持。

总结与展望
网络入侵检测总结

在网络入侵检测方面,通过对CIDDS - 001数据集的研究,比较了Class和AttackType两种标签在机器学习模型中的应用。结果表明,Class标签可能导致模型过拟合,而AttackType标签的标注过程更准确,能够保证更健壮、偏差更小的分类器。随机森林(RF)和K近邻(KNN)两种模型在AttackType标签下除了ping扫描类外,对其他攻击类型的表现都相当不错。这为网络入侵检测系统的开发提供了有价值的参考,在选择标签和模型时需要综合考虑数据特点和模型性能。

风速预测总结

在风速预测方面,基于前馈神经网络(FFNN)的风速预测模型在实际风电场数据上取得了比基线模型更低的预测误差。该模型能够有效应对风速的随机性和不稳定性,为电力和能源部门的运营提供更可靠的风速预测信息,有助于优化市场价格、提高生产者利润和电力供应可靠性。

未来展望
  • 网络入侵检测 :未来可以进一步研究如何优化AttackType标签的标注过程,提高对少数类攻击(如ping扫描)的检测性能。同时,可以尝试使用更多的机器学习算法和模型融合技术,以提高网络入侵检测系统的准确性和鲁棒性。
  • 风速预测 :可以继续改进FFNN模型的结构和参数,结合更多的气象数据和地理信息,提高风速预测的精度和可靠性。此外,还可以探索将风速预测与其他能源预测模型相结合,实现更全面的能源系统优化。

以下是一个简单的mermaid流程图,展示了整个研究的流程:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(研究开始):::process --> B(网络入侵检测研究):::process
    A --> C(风速预测研究):::process
    B --> B1(数据集标注):::process
    B --> B2(数据集预处理和采样):::process
    B --> B3(模型选择与训练):::process
    B --> B4(结果评估与讨论):::process
    C --> C1(引言与背景):::process
    C --> C2(相关工作研究):::process
    C --> C3(FFNN模型提出):::process
    C --> C4(模型应用与结果):::process
    B4 --> D(网络入侵检测总结):::process
    C4 --> E(风速预测总结):::process
    D --> F(未来展望 - 网络入侵检测):::process
    E --> F
    F --> G(研究结束):::process

通过以上研究,我们可以看到机器学习在网络入侵检测和风速预测领域都具有巨大的应用潜力。未来,随着技术的不断发展和数据的不断丰富,相信这些领域将取得更加显著的成果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值