支持向量机算法在网络安全中的应用

简介: 支持向量机算法在网络安全中的应用

本文是研究生课的一次大作业,本文介绍的支持向量机仅仅是支持向量机算法的第一层理解,想要深入理解,请看看支持向量机的三层理解。

1:支持向量机算法介绍

近年来,在网络安全方面AI和机器学习的出现,极大的改变了网络安全的运作方式。如今,机器学习技术可以帮助我们有效的部署网络安全技术。通过机器学习,现有的网络安全系统可以通过分析相关安全数据并从中学习,以预防类似的网络攻击,同时机器学习技术可以让网络安全从业者更加主动的预防网络威胁,并且可以给出预防网络威胁的更优解决方案。随着计算机硬件设备的不断更新迭代,随之而来的是计算机运算能力的不断提高,机器学习领域也迎来了飞速发展。在网络安全领域应用机器学习,可以让安全人员更加高效的组织和管理安全日志数据,因为这些数据往往涉及到分类,预测,关联规则学习等,而这些任务都是机器学习较为擅长处理的。本文将着重介绍机器学习中用于分类的一种算法(支持向量机算法)在网络安全中的应用。本文主要讲了支持向量机的主要框架,以及对线性分类的支持向量机进行了分析与数学推导,由于本人能力有限,并未对支持向量机在多维条件下的分类进行分析介绍。

1.1:什么是支持向量机

要明白支持向量机,首先要从分类说起,分类是机器学习领域非常重要的一项任务,简单的说,分类就是将拥有同一属性的事物归为一类。本文要介绍的支持向量机便是一种分类算法。支持向量机顾名思义,主要包含了两个部分,一是支持向量,二是机器,在机器学习领域常把算法看做是一种机器,例如分类机也叫分类器。至于什么是支持向量,下文将给出详细的介绍。至于支持向量机算法的主要工作,正如下图所示,将不同类别的事物进行分类。

image.png

1.2:支持向量机有多强

支持向量机算法源于统计学理论,是机器学习领域获得最多关注的算法,无论是在手写识别,面部检测,垃圾邮件分类,基因分类,入侵检测都有着广泛的应用。支持向量机可以帮助我们在复杂的数据中找到准确的关系,与其他算法相比也拥有更加准确的结果,下文将从不同角度介绍支持向量机的强大之处。

(1)分类精度高,分类效果好。下图是Python语言的机器学习库Scikit-learn官网给出的不同机器学习分类算法在指定数据集下的分类效果与准确率示意图。从下图可以看出同样的输入数据集,支持向量机对比决策树,随机森林,自适应增强,朴素贝叶斯等分类算法拥有跟高的准确率和更好的分类效果。

image.png

(2)实际应用广泛。支持向量机无论是在文本分类还是在人脸识别,手写数字体识别,图像分类,蛋白质分类等领域都有着广泛的作用。实验结果表明支持向量机算法在进行模型训练的时候,仅仅三四轮的相关反馈之后,就能实现比传统分类方法高出很多的精度。

(3)学术论文引用率高,学术应用前景好。因为支持向量机算法是机器学习里最接近深度学习的一种算法,鉴于其分类精度高,分类效果好,在各个学科中都有着广泛的使用。原始的支持向量机算法是1963年被发明的,后经不断改进,到今天它的理论和数学推导都已经比较完善,支持向量机算法背后伟大的数学理论基础可以说是人类数学上的伟大成就。从学术的角度看支持向量机算法,无论是软件工程,通信工程或是人工智能,自然语言处理,网络安全,等计算机相关领域的论文都或多或少的有着支持向量机算法的身影。下图是知网2000年到2019年间支持向量机算法相关主题的论文年度发表趋势示意图,更加直观的展示了近年来支持向量机算法在论文中被广泛应用的盛况。

image.png

1.3:支持向量机的工作方式

如果不考虑数学推导的话,支持向量机所作的事情其实是非常简单的,一个简单的线性支持向量机分类器是在两个不同的类之间建立一条直线来进行分类,分类后意味着该直线一侧的所有数据样本代表一类,而直线的另一侧则代表另一类。这样看来,直线并不是唯一的。类似的分类算法并不只有支持向量机一种,例如K近邻算法,但是支持向量机算法优于其他算法的原因在于,支持向量机算法能够选取最优的那条线进行分类。下图有助于帮助我们理解支持向量机的工作方式。假如,我们在图上有一些数据点,我们想将黄色的原点分为一类,黑色的点分为一类。支持向量机算法的核心就在于找到那条最佳的分界线,我们也将这条分界线称之为决策边界。

决策边界不一定是一条直线,它也可以是其它形式的线条,同时决策边界也被称为超平面,这个名词的由来是因为可以有时候可以找到具有多个特征的决策边界。例如下图所示的使用RBF内核的非线性SVM(支持向量机)的决策边界。支持向量机后续的所有步骤算法都是为了求解这条最优的决策边界,这也是整个支持向量机算法最终的求解目标。

1.4:支持向量机的类型

支持向量机有两种不同的类型,每种类型的SVM,都有自己的用途。

  • 简单SVM:通常用于解决线性分类和回归问题。
  • 内核SVM:针对非线性数据,具有更高的灵活性,其超平面不仅仅适用于二维空间,还可以解决多维空间的数据分类问题。

2:支持向量机算法原理

2.1:理解超平面的概念

在几何中,超平面是一个空间的子空间,它是维度比所在空间小一维的空间,如果数据空间是三维的,那么超平面就是二维的平面,如果数据空间是二维的,那么超平面就是一维的直线。在二分类问题中,如果一个超平面能够将数据集划分为两个集合,其中每一个集合包含一个单独的类别,那么这个超平面就是决策边界,我们上文提到过支持向量机的核心就在于寻找最优的那条决策边界。正如下图所示,对于一个已知的数据集来说,让训练误差为0的决策边界可以有无数条,而支持向量机算法就是要帮我们寻找最优的那条。整个算法的核心也都是围绕这个展开的。所以理解超平面是后续理解支持向量机算法的关键。

2.2:决策边界何时最优

上文我们提到,支持向量机算法的核心目标就是去寻找最优的决策边界,那么决策边界满足什么条件是最优的决策边界就是我们比较关心的问题。上图中那么多条决策边界,我们随意选取一条决策边界,在上面那个数据集中均可以作为决策边界使用,但是我们无法保证这条决策边界在未知数据集上依然有较高的准确率。对于现有的数据集来说,假如我们选取B1,B2两条可能的决策边界,我们把决策边界B1向两边平移,直到碰到距离这条决策边界最近的一类元素然后停下,也就是下图所示的□和○,形成两个新的超平面分别是b11和b12,然后我们将原始的决策边界移动到b11和b12中间,确保新的决策边界距离b11和b12的距离相等。此时b11与b12之间的距离叫做B1这条决策边界的边际,通常记做d。

对决策边界B2也执行同样的操作,然后我们对比以下这两个决策边界,这两个决策边界B1,B2对现有的数据集的训练误差均为0。那么这两个决策边界到底谁更加优秀呢?

接下来,我们引入和原本的数据集相同分布的测试样本,即下图所示的红色□和○,从下图我们可以看出,在测试集上面,对于决策边界B1来说,依然没有一个样本分类错误,其泛化误差为0,但是对于决策边界B2来说,出现了错误分类的情况,那么此时B2的泛化误差就大于决策边界B1。所以对于测试集来说决策边界B1更加优秀,那么这一实验结果告诉我们什么结论呢?那就是拥有更大边际的决策边界拥有更高的准确率和更低的泛化误差,这里的边际就是上文我们提到的d,这一结论是拥有严格的数学证明的,符合结构风险最小化定律,本文不对这一定律进行推导,只做简单介绍。

如果边际(d)很小,任何轻微的扰动都会对决策边界的分类产生很大影响,边际很小会出现在训练集上表现良好,但是在测试集上表现糟糕的情况,也就是出现了过拟合的现象。所以,文章到这里我们有了新的目标,那就是找一个边际更大的决策边界,这个边际越大越好。

支持向量机就是通过找出边际最大的决策边界,来对数据进行分类的分类器。因此支持向量机又叫做最大边际分类器。

2.3:决策边界的数学推导

经过上文的分析,我们的目标变成了找出边际最大的决策边界。这个问题的本质是最优化的问题,在机器学习中最优化问题往往和损失函数联系在一起,支持向量机算法也不例外,是通过将损失函数降到最低来寻找边际最大的决策边界。

2.3.1:定义决策边界

image.png

image.png

image.png

image.png


相关文章
|
19小时前
|
机器学习/深度学习 算法 API
【Paddle】PCA线性代数基础 + 领域应用:人脸识别算法(1.1w字超详细:附公式、代码)
【Paddle】PCA线性代数基础 + 领域应用:人脸识别算法(1.1w字超详细:附公式、代码)
6 0
|
1天前
|
机器学习/深度学习 算法
理解并应用机器学习算法:决策树
【5月更文挑战第12天】决策树是直观的分类与回归机器学习算法,通过树状结构模拟决策过程。每个内部节点代表特征属性,分支代表属性取值,叶子节点代表类别。构建过程包括特征选择(如信息增益、基尼指数等)、决策树生成和剪枝(预剪枝和后剪枝)以防止过拟合。广泛应用在信贷风险评估、医疗诊断等领域。理解并掌握决策树有助于解决实际问题。
|
2天前
|
机器学习/深度学习 算法
应用规则学习算法识别有毒的蘑菇
应用规则学习算法识别有毒的蘑菇
|
3天前
|
存储 安全 算法
网络安全与信息安全:防范漏洞、应用加密技术与培养安全意识
【5月更文挑战第10天】在数字化时代,网络安全与信息安全已成为维护社会稳定、保障个人隐私和确保企业资产的关键。面对日益复杂的网络威胁,本文深入探讨了网络安全漏洞的成因与影响、加密技术的基本原理与应用,以及提升全民网络安全意识的必要性和方法。通过分析当前网络安全形势,提供了一系列针对性的技术解决方案和管理策略,旨在为读者构建一个全方位的网络安全防护体系。
10 1
|
5天前
|
安全
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究
|
5天前
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
|
5天前
|
监控 安全 算法
网络安全与信息安全:防范漏洞、应用加密技术及提升安全意识
【5月更文挑战第8天】 在数字化时代,网络安全与信息安全已成为我们不可忽视的问题。本文将深入探讨网络安全漏洞的产生原因及其危害,加密技术的种类和应用,以及提升个人和企业的安全意识的重要性。通过对这些方面的知识分享,旨在帮助读者更好地理解网络安全的重要性,提高防范意识,保护个人信息和数据安全。
|
7天前
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
|
7天前
|
网络协议 安全 Linux
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言神经网络模型金融应用预测上证指数时间序列可视化
R语言神经网络模型金融应用预测上证指数时间序列可视化