IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 研究型论文_T-DFNN:一种用于入侵检测系统的增量学习算法(英文论文) -> 正文阅读

[人工智能]研究型论文_T-DFNN:一种用于入侵检测系统的增量学习算法(英文论文)

T-DFNN: An Incremental Learning Algorithm for Intrusion Detection Systems

论文摘要

近年来,机器学习已成为构建可靠入侵检测系统(ids)的一种流行算法。然而,大多数模型是静态的,使用包含所有目标入侵的数据集进行训练。如果出现新的入侵,这些训练的模型必须使用新旧数据集重新训练,以准确分类所有的入侵。在现实世界中,新的威胁不断出现。因此,当这些新的入侵出现时,用于入侵防御的机器学习算法应该具有增量学习的能力。

为了解决这个问题,我们提出了T-DFNN。T-DFNN是一种能够在入侵出现时逐步学习新入侵的算法。T-DFNN模型是由多个深度前馈神经网络(DFNN)模型树状结构连接而成。

我们使用CICIDS2017对我们提出的算法进行了检验,CICIDS2017是一个开放的、广泛使用的网络入侵数据集,涵盖了良性流量和最常见的网络入侵。实验结果表明,T-DFNN算法能够渐进地学习新的入侵,降低灾难性遗忘效应。T-DFNN模型在每个再训练过程中的f1评分宏观平均值均在0.85以上。

此外,与其他模型相比,我们提出的T-DFNN模型在几个方面有一定的优势。与使用仅包含最新目标入侵数据集训练的DFNN和Hoeffding树模型相比,我们提出的T-DFNN模型具有更高的f1得分。

此外,与使用包含所有目标入侵的数据集训练的DFNN模型相比,我们提出的T-DFNN模型的训练时间显著缩短。尽管有几个因素会影响训练过程的持续时间,但T-DFNN算法在解决不断变化的网络入侵变种问题上显示出了很好的结果。

论文解决的问题

创新点在于提出了一种动态模型,如果有新的攻击类型产生,该模型可以自动学习并产生较好的分类效果。

1.T-DFNN结构

在这里插入图片描述
注意点:两个判断

1.如果有训练好的模型就直接调用即可。保证了该模型对原来数据集中的攻击类型保留了分类能力。
2.如果有新的训练数据,就在原有的训练模型上进行增量训练。保证了该模型对新攻击类型的分类能力。

2.树的节点结构

节点中包含:一个DFNN模型、键值对集合{<对训练数据的分类结果,孩子节点(可为空)>,<>…}
节点类的定义:
在这里插入图片描述
说明 :
包含2个属性:DFNN模型、键值对映射map
包含5个函数:

(1)该节点的构造函数
(2)DFNN模型的训练函数Train
(3)DFNN模型的分类函数Classify
(4)根据**键(分类得到的label)得到值(孩子节点)**的函数GetLinkedNode
(5)设置键值对的函数SetLinkedNode

3.训练过程

  1. 辅助函数:SelectTrainingData
    在这里插入图片描述
    训练集实例为X,标签为Y。YC为训练集X经过某个节点的DFNN模型分类后的得到的Label列表。L为YC中Label的某一个类型的值。

    该函数的作用:从样本集(X,Y)中选出被DFNN模型分类后的标签为L的样本。(注意该样本可能有标签不为L的样本,因为该节点的DFNN模型可能并不能对X中的每一个实例准确无误的分类)

  2. 训练函数:INCREMENTALTRAINING
    在这里插入图片描述
    函数流程说明:(构造树的过程,返回根节点)

    X:训练集实例、Y:训练集标签、N:树节点

(1)如果该节点为空,则创建一个节点,并训练样本集(X,Y),然后结束,返回N。

(2)如果不为空,则先对X进行一个分类,得到YC作为分类结果
(3)对于YC中的每一个类型L:从(X,Y)中选择被分类为L的样本,组成样本集合(XL,YL)。对于该样本集中标签不是L的样本,调用GetLinkedNode函数得到与L匹配的孩子节点LinkedN。

1)如果LinkedN不为空,则开始递归(重复(2)(3));
2)如果LinkedN为空(表示没有与L匹配的孩子节点),则开始递归,创建一个新的孩子节点(重复(1)),并用SetLinkedNode建立与父节点的链接。

(4)结束,返回N

4.分类过程

  1. 辅助函数:SelectData、UpdateLabel
    在这里插入图片描述
    SelectData函数作用:挑选出X中被DFNN分类为L的样本集合,并用YI作为索引集合。
    在这里插入图片描述
    UpdateLabel函数作用:根据索引来更新上一次被判断为L的样本集合的Label

  2. 分类函数Classification
    在这里插入图片描述
    函数流程说明:首先对测试集X进行分类(用根节点的DFNN),得到YC作为分类好的结果。对于YC中的每一个类型L,得到它对应的孩子节点LinkedN。

    1)如果LinkedN为空,表示不需要在深层分类了,遍历一下一个L。
    2)如果LinkedN不为空,表示需要深层分类,那么就要调用SelectData把X中被判断为L的样本挑选出来,并做好索引标记,记为YI,便于之后按照索引来更新这些样本的Label。然后对挑选出来的样本再进一步分类(用根节点的标签L对应的孩子节点的DFNN)。递归操作。

总结

创新点:提出了一种增量模型

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:58:47  更:2021-12-18 15:59:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:30:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码