利用支持向量回归机设计IDS的检测算法
- 格式:pdf
- 大小:195.62 KB
- 文档页数:3
机器学习技术中的支持向量回归算法详解支持向量回归(Support Vector Regression,SVR)是一种常用的机器学习技术,用于解决回归问题。
它基于支持向量机(Support Vector Machine,SVM)算法,通过找到一个最优的超平面来建立一个线性或非线性的回归模型。
在本文中,我们将详细介绍支持向量回归算法的原理、特点和应用。
支持向量回归算法的原理支持向量回归算法的原理与支持向量机算法相似,但目标不同。
支持向量机算法是一种用于分类问题的算法,而支持向量回归算法则是用于预测连续变量的回归问题。
我们先来回顾一下支持向量机算法的原理。
支持向量机算法通过找到一个最优的超平面来实现分类。
在二维情况下,这个超平面就是一条直线,将两个不同的类别分开。
在更高维的情况下,这个超平面变成一个超平面。
支持向量机的目标是通过找到离超平面最近的一些点,也就是支持向量,将不同类别的点分隔开。
这些支持向量在分类决策中起到了重要的作用。
支持向量机算法通过最大化支持向量与超平面的距离(也称为间隔)来实现分类。
支持向量回归算法与支持向量机算法的目标有所不同。
支持向量回归算法的目标是找到一个最优的超平面,使得样本点与该超平面的距离尽可能小,并且在一定误差范围内。
换句话说,支持向量回归算法通过最小化支持向量与超平面的距离和样本点与超平面的距离之和来实现回归。
支持向量回归算法的特点支持向量回归算法有以下几个特点:1. 回归问题的非线性建模能力:支持向量回归算法可以通过使用核函数将数据从原始空间映射到一个高维特征空间,从而实现非线性回归模型的建立。
2. 控制模型复杂度的超参数:支持向量回归算法有两个重要的超参数,分别是核函数和正则化参数。
通过选择合适的核函数和正则化参数,可以有效控制模型的复杂度,防止过拟合。
3. 鲁棒性:支持向量回归算法可以有效处理数据中的噪声和异常值,因为它是通过最小化支持向量与超平面的距离和样本点与超平面的距离之和来实现回归的。
WSN多级分类代理入侵检测系统研究摘要:随着因特网的快速增长和无线传感器网络的发展,网络安全已成为人们必须考虑的研究课题。
提出无线传感器网络入侵检测的多层次分类技术,使用智能代理、决策树分类器和增强型多类支持向量机算法的组合,有效实施入侵检测系统,从而保护无线传感器网络的安全。
这种方法的主要优点是系统可以用未标记数据进行训练,能够使用代理技术检测到以前发现不了的攻击。
使用KDDCUP'99数据集进行验证测试,实验结果表明,系统入侵检测率和误报减少率都取得了显著的改善。
关键词:IDS(入侵检测系统);SVM(支持向量机);多级决策树;智能代理1介绍现有入侵检测技术、滥用检测和异常检测都不足以提供无线传感器网络所需的安全,它们仅具有有限能量和微小结构。
现有入侵检测技术只能检测已知的入侵,用它们已获得的过去的数据训练对实际实例进行分类。
因此,必须建立具有学习能力的智能入侵检测系统,以确保网络免受内部和外部的攻击。
本文提出并实现了基于智能代理的入侵检测系统,采用了多级分类器和智能检测无线传感器网络入侵者的决策者代理,可以提供有效的安全无线传感器网络,并组合使用了增强决策树分类器和增强多用户SVM二进制分类算法两种技术。
本文中,我们已经结合带有决策树的支持向量机来设计多类支持向量机,更准确地划分为4种类型,即攻击探测、拒绝服务攻击、权限提升攻击和远程登录攻击正常数据。
重点提供了一个综合方法来检测DDoS攻击,提高了训练时间,以及IDS测试的时间和准确性。
2文献综述目前有许多有关分类技术的文献。
分类数据的树形结构多级分类SVM算法由SnehalA.Mulay等提出。
提出了基于决策树的算法构建多类入侵检测系统,用来改善训练时间、测试时间和入侵检测的准确性。
研究人员提出了多级树分类器来设计有效的入侵检测系统。
在这种系统中,数据被分成一般拒绝访问攻击、探测和权限提升、远程登录访问。
有必要将拒绝服务攻击进行分类,特别需要注意改善网络性能。
支持向量机算法及其应用机器学习是一门研究如何让机器“学习”的科学,它通过计算机模拟人类学习的过程,来实现对数据的分析和预测。
在机器学习领域中,有一种重要的算法叫做支持向量机(Support Vector Machine,SVM)。
SVM是一种二分类模型,常用于分类和回归分析。
SVM的核心思想是将不同的样本点在高维空间中进行间隔最大化的分类。
这样可以减少误差,提高预测准确率。
当训练集中存在多于两类的样本时,SVM可以引入一些特殊的技巧来进行多分类。
对于线性可分的情况,SVM的分类效果是最好的。
但对于非线性可分的情况,SVM需要进行核函数变换,使得数据能够在更高维度下进行分类。
常用的核函数有多项式核函数、径向基函数、Sigmoid核函数等。
在实际应用中,SVM有许多成功的应用案例,下面介绍一些典型应用。
1. 图像识别图像识别是SVM的代表性的应用之一。
在动态人脸识别中,SVM常常被用来判断人脸是否领先背景。
通过选取适当的核函数和参数,SVM可以有效地提高识别率。
2. 文本分类SVM在文本分类任务中也表现出色。
它可以根据文本特征分析,将文本分为不同的类别。
比如,基于SVM算法的垃圾邮件过滤系统可以准确地识别垃圾邮件并将其加入黑名单。
3. 生物医学数据处理生物医学数据处理是SVM的更为紧密运用之一。
SVM可以通过处理生物医学数据,例如基因表达数据、疾病诊断数据等,来辅助医生进行诊断和治疗。
4. 金融数据预测SVM还常被用来处理金融数据。
通过对股票的走势进行分析和预测,SVM可以帮助投资者制定更加科学合理的投资策略。
总的来说,SVM作为一种监督学习算法,早已成为机器学习领域的重要存在。
它不仅在理论上提出了支持向量分类算法,而且在应用上已经被证明是一种非常有效的分类算法。
未来,SVM在数据挖掘、推荐系统、网络安全等领域,还有着广阔的应用前景。
支持向量机(SVM)回归方法定义==================1. 引言----支持向量机(Support Vector Machine, SVM)是一种强大的机器学习算法,可以用于分类和回归问题。
其中,支持向量回归(Support Vector Regression, SVR)是一种用于回归问题的变种。
本文档将详细介绍支持向量回归的定义、模型训练、模型优化、预测与评估及其应用案例。
2. 支持向量机基础----------支持向量机是一种基于统计学习理论的二分类器,其基本模型是定义在特征空间上的间隔最大的线性分类器。
间隔最大使得它有别于感知机,等价于求解一个带约束的凸二次规划问题。
也可以扩展到多分类问题,通过“铰链损失”函数引入一个松弛变量,将二分类问题转化为求解多个二分类器的带约束凸二次规划问题。
3. 支持向量回归----------支持向量回归(SVR)是一种用于回归问题的支持向量机。
与支持向量机不同,支持向量回归的目标是找到一个函数,使得对于给定的输入x,可以预测对应的输出y。
在支持向量回归中,我们通过使用核函数(kernel function)来定义输入空间中的点积,从而在更高维的空间中构建一个超平面,以实现回归目标。
4. 模型训练-------在支持向量回归中,模型训练的过程包括以下步骤:* 数据预处理:对输入数据进行标准化处理,以消除数据间的尺度差异。
* 构建核函数:选择一个核函数,用于定义输入空间中的点积。
常见的核函数包括线性核、多项式核和RBF核等。
* 构建超平面:根据核函数构建超平面,以实现回归目标。
超平面的构建是通过求解一个带约束的凸二次规划问题来实现的。
* 计算间隔:计算超平面与最近的数据点之间的间隔,这个间隔被称为软间隔(soft margin)。
5. 模型优化-------为了提高支持向量回归的性能,可以进行一些模型优化。
以下是一些常用的模型优化方法:* 调整核函数参数:通过调整核函数的参数,可以改变超平面的形状和大小,从而优化模型的性能。
支持向量回归的训练流程和测试过程支持向量回归的训练流程和测试过程支持向量回归(Support Vector Regression, SVR)是一种基于支持向量机(Support Vector Machine, SVM)的回归方法,它通过寻找最优的超平面来拟合数据。
本文将详细介绍SVR的训练流程和测试过程。
一、SVR的训练流程1. 数据预处理首先需要对数据进行预处理,包括数据清洗、特征选择和特征缩放等。
对于SVR,特征缩放非常重要,因为SVR是基于距离度量来计算样本之间的相似性的。
通常采用标准化或归一化方法将特征缩放到相同的尺度上。
2. 选择核函数核函数是SVR中最重要的参数之一,它用于将原始特征映射到高维空间中,以便更好地拟合非线性关系。
常用的核函数包括线性核、多项式核和径向基函数(Radial Basis Function, RBF)核等。
根据实际问题选择合适的核函数非常重要。
3. 确定超参数超参数是指那些在模型训练过程中需要手动调整的参数,例如正则化系数C、惩罚因子epsilon等。
这些参数的选择对模型的性能和泛化能力有很大影响。
通常采用交叉验证等方法来确定最优的超参数。
4. 训练模型在确定好核函数和超参数后,可以开始训练SVR模型了。
SVR的训练过程可以看作是一个求解最优化问题的过程,即在满足一定约束条件下,最小化目标函数。
常用的求解方法包括序列最小优化(Sequential Minimal Optimization, SMO)算法和梯度下降算法等。
5. 模型评估训练好SVR模型后,需要对其进行评估。
常用的评估指标包括均方误差(Mean Squared Error, MSE)、均方根误差(Root Mean Squared Error, RMSE)和决定系数(Coefficient of Determination, R-squared)等。
通过评估指标可以判断模型的性能和泛化能力。
二、SVR的测试过程1. 数据预处理与训练过程类似,需要对测试数据进行预处理,包括数据清洗、特征选择和特征缩放等。
如何使用支持向量机进行异常检测引言:异常检测是数据分析领域中重要的任务之一,它可以帮助我们发现数据中的异常行为或异常模式。
支持向量机(Support Vector Machine,简称SVM)是一种常用的机器学习算法,可以用于异常检测。
本文将介绍如何使用支持向量机进行异常检测,并探讨其应用和优缺点。
一、支持向量机简介支持向量机是一种监督学习算法,其主要目标是找到一个超平面,将不同类别的数据点分隔开。
在异常检测中,我们可以将异常点看作是一个类别,正常点看作是另一个类别。
支持向量机通过构建一个最优的超平面来划分这两个类别,从而实现异常检测的目的。
二、支持向量机的工作原理支持向量机的工作原理可以简单概括为以下几个步骤:1. 数据预处理:异常检测通常需要对原始数据进行预处理,包括数据清洗、特征选择和特征缩放等。
这些步骤有助于提高异常检测的准确性和效果。
2. 特征提取:支持向量机需要将数据转换为向量形式进行处理。
在异常检测中,我们需要从原始数据中提取有用的特征,以便支持向量机能够更好地区分正常和异常数据。
3. 模型训练:使用标记好的训练数据,通过支持向量机算法进行模型训练。
训练过程中,支持向量机会找到一个最优的超平面,使得正常数据和异常数据之间的间隔最大化。
4. 异常检测:使用训练好的模型对新的数据进行异常检测。
支持向量机通过计算新数据点到超平面的距离来判断其是否为异常点。
距离超过一定阈值的数据点被认为是异常点。
三、支持向量机在异常检测中的应用支持向量机在异常检测中有广泛的应用,以下列举几个常见的领域:1. 金融欺诈检测:支持向量机可以通过分析用户的交易行为,识别出潜在的欺诈行为,帮助金融机构提高风险控制能力。
2. 网络入侵检测:支持向量机可以分析网络流量数据,识别出异常的网络行为,帮助网络管理员及时发现并应对潜在的入侵威胁。
3. 工业生产异常检测:支持向量机可以分析生产过程中的传感器数据,识别出异常的工艺参数,帮助企业提高生产效率和产品质量。
机器学习技术中的回归问题与支持向量机算法在机器学习领域,回归问题是一类重要而常见的问题。
回归问题的目标是建立一个函数模型,用于预测一个或多个连续的因变量。
在回归问题中,支持向量机(Support Vector Machine,SVM)算法是一种常用且有效的方法。
本文将介绍回归问题的基本概念和支持向量机算法的原理与应用。
首先,回归问题的特点是需要预测的因变量是连续的。
这与分类问题不同,分类问题需要将样本分为离散的类别。
回归问题可以分为线性回归和非线性回归两种类型。
线性回归是指因变量与自变量之间存在线性关系的情况,而非线性回归则涉及到更复杂的因变量与自变量之间的关系。
回归问题的目标是找到一条或多条曲线或者超平面,能够最好地拟合样本数据,从而实现对未知数据的预测。
支持向量机是一种非常强大的机器学习算法,被广泛用于分类和回归问题。
支持向量机的基本思想是通过在特征空间中找到一个最优的超平面,将不同类别的样本分开,实现分类或者回归的目标。
支持向量机的优势在于其对于高维空间和非线性问题的处理能力。
在支持向量机回归中,我们首先将样本数据转换到高维空间。
然后,我们希望通过选取最优的超平面,使得样本点到这个超平面的距离最小,并且预测的结果与真实值的误差最小。
超平面的选择依赖于支持向量,即与超平面最近的一些样本点。
这些支持向量决定了超平面的位置和方向,进而影响预测结果。
支持向量机通过最大化间隔来选择最佳的超平面,从而降低模型的复杂度和预测误差。
支持向量机回归的关键在于选择合适的核函数。
核函数的作用是将原始的样本数据映射到高维空间,从而使得样本在高维空间中容易分开。
常用的核函数包括线性核、多项式核、径向基函数(Radial Basis Function,RBF)等。
选择合适的核函数需要根据数据的特点和问题的需求进行调整。
支持向量机回归的一个重要应用是房价预测。
通过收集各种与房价相关的特征,如卧室数量、浴室数量、房屋面积等,可以建立一个回归模型,通过支持向量机算法预测房屋的价格。
支持向量机的算法与应用支持向量机(Support Vector Machine,SVM)是一种监督学习算法,可以用于分类和回归问题。
由于其卓越的泛化性能和解决高维数据集问题的能力,SVM被广泛应用于图像识别、自然语言处理、生物信息学、财经分析等领域。
一、基本原理SVM的核心思想是在高维空间构建超平面,将不同类别的样本分开。
对于线性可分的数据集,SVM的目标是找到一个超平面,使得正样本与负样本之间的距离最大化,即最大化支持向量到超平面的距离(也称为间隔)。
这个距离可以表示为SVM的决策函数: $$ f(x) = w^T x + b $$其中,$w$是权重向量,$b$是偏置项,$x$是输入向量。
对于正样本,$f(x)>0$,对于负样本,$f(x)<0$。
如果$f(x)=0$,则数据点位于超平面上。
为了避免过拟合,SVM还采用正则化技术。
正则化约束权重向量趋近于0,使得决策函数更加稳健。
对于非线性可分的数据集,SVM采用核函数(kernal function)将样本映射至高维空间,从而在高维空间构建超平面。
常用的核函数有线性核、多项式核、高斯核等。
二、算法实现SVM的实现可以使用多种优化算法,如序列最小优化(Sequential Minimal Optimization,SMO)算法、梯度下降法、牛顿法等。
其中,SMO算法是最常用的一种算法。
其基本思想是每次选取两个样本来更新权重向量和偏置项,直到收敛为止。
使用Python实现SVM,可以使用Scikit-Learn库中的SVM模块。
以下是一个简单的SVM分类器示例:```from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.svm import SVC# 加载iris数据集iris = datasets.load_iris()X = iris.data[:, :2] # 只取前两个特征y = iris.target# 划分数据集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) # 创建SVM分类器clf = SVC(kernel='linear', C=1.0)clf.fit(X_train, y_train)# 测试分类器acc = clf.score(X_test, y_test)print("准确率:", acc)```三、应用案例SVM的应用十分广泛,以下是其中的几个案例:1. 图像分类SVM可以用于图像分类,例如人脸识别、车辆检测等。
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,主要用于分类问题,但它也可以用于回归分析。
在本文中,将介绍如何使用支持向量机进行回归分析。
**数据准备**在使用支持向量机进行回归分析之前,首先需要准备数据。
假设我们有一组数据集,包括自变量X和因变量y。
这些数据可以来自各种不同的领域,比如金融、医学、工程等。
在准备数据时,需要确保数据的质量,包括缺失值处理、异常值处理等。
**支持向量机回归模型**支持向量机回归模型与分类模型类似,但是它的目标是拟合一个函数,该函数能够最大化数据点与拟合函数之间的间隔。
在回归分析中,我们的目标是找到一个函数,能够最好地拟合数据点,从而预测因变量y的取值。
支持向量机回归模型的核心在于确定支持向量,这些支持向量是在拟合函数中起决定性作用的数据点。
**选择核函数**在支持向量机回归中,核函数的选择非常重要。
核函数可以将输入空间映射到高维空间,从而使得数据在高维空间中线性可分。
常用的核函数包括线性核、多项式核和高斯核。
在选择核函数时,需要考虑数据的特点和问题的复杂度。
如果数据是线性可分的,则可以选择线性核函数;如果数据的分布比较复杂,则可以选择多项式核或高斯核函数。
**模型训练**一旦选择了核函数,就可以开始训练支持向量机回归模型。
在训练模型时,需要调节模型的超参数,比如正则化参数C和核函数的参数。
这些超参数的选择会影响模型的性能和泛化能力。
通常可以使用交叉验证的方法来选择最优的超参数组合。
**模型评估**在训练完模型之后,需要对模型进行评估。
常用的评估指标包括均方误差(Mean Squared Error,MSE)、均方根误差(Root Mean Squared Error,RMSE)和决定系数(Coefficient of Determination,R-squared)。
这些指标可以帮助我们了解模型的预测能力和拟合程度。
**模型优化**如果模型的表现不理想,可以尝试进行模型优化。
支持向量机算法的使用方法支持向量机(Support Vector Machines, SVM)是一种经典的机器学习算法,被广泛应用于分类和回归问题。
它具有优秀的泛化能力和求解高维问题的能力,在数据挖掘、模式识别、图像分类等领域取得了很多成功的应用。
本文将详细介绍支持向量机算法的使用方法,包括数据准备、特征工程、模型训练和预测等方面。
首先,为了使用支持向量机算法,我们需要准备适当的数据集。
数据集应包含样本的特征和相应的标签。
特征可以是数值型数据、文本数据或者图像数据等。
而标签可以是离散的分类标签或连续的数值标签。
确保数据集具有良好的质量非常重要,包括数据的完整性、准确性和一致性。
如果数据集中存在缺失值或异常值,需要进行相应的数据清洗处理。
接下来,进行特征工程是很关键的一步。
特征工程旨在将原始数据转换为更有意义和有效的特征表示,以提高模型的性能。
常用的特征工程方法包括特征选择、特征变换和特征构造等。
特征选择可以通过统计方法或机器学习算法来选择最相关的特征,从而减少特征的维度。
特征变换可以通过主成分分析(PCA)等方法将原始特征转换为新的特征,以更好地表达数据的信息。
特征构造可以利用已有的特征生成新的特征,以扩展特征的表示能力。
在数据准备和特征工程完成后,我们可以开始进行支持向量机模型的训练和预测。
支持向量机通过找到一个最优的超平面,将不同类别的样本分开。
在训练阶段,我们需要将数据集划分为训练集和测试集。
训练集用于训练模型的参数,而测试集用于评估模型的性能。
支持向量机模型的训练过程可以通过求解一个二次规划问题来完成,其中包括选择合适的核函数和调节超参数。
选择合适的核函数是支持向量机算法的关键之一。
核函数可以将低维的特征映射到高维的特征空间,以解决低维情况下线性不可分的问题。
常用的核函数包括线性核、多项式核、高斯核等。
对于线性可分的问题,使用线性核函数即可;对于线性不可分的问题,可以尝试多项式核函数或高斯核函数。
第28卷第3期 2008年3月 计算机应用
Computer Applications VoJ.28 No.3
Mar.2008
文章编号:1001—9081(2008)03一o609—03 利用支持向量回归机设计IDS的检测算法 张家超 (连云港职业技术学院信息工程学院,江苏连云港222006) (zhangjiaehao@mail.1ygtc.net.el1)
摘要:为提高网络入侵检测系统中检测算法的分类精度,降低训练样本及学习时间,提出一种新的基于支持向 量回归机的检测算法。算法首先归一化处理训练样本数据,然后精确调节松弛惩罚因子,最后使用KDD CUP 1999数 据集进行仿真实验,结果表明本算法可以提高入侵检测的准确性和有效性,并能够降低误报率。 关键词:网络安全;入侵检测;8支持向量回归机;算法设计 中图分类号:TP309;TP393.08 文献标志码:A
Supervisal algorithm design of IDS using support vector regression ZHANG Jia.chao (School of Information Engineering,Lianyu,ngang Technical College,Lianyungang Jiangsu 222006,China)
Abstract:To improve classific precision of network intrusion detection model and reduce the number of training data set and learning time,a new supervisal algorithm based on 8 Support Vector Regression machines(8一SVR)machine was proposed.Firstly,normalization was used on training data set,and then a new coefficience of sparse penalty function was adjusted.Finally,the experimental results using KDD CUP 1999 data set show that this approach can detect intrusion behavior,increase its veracity and validity,and reduce its distortion. Key words:network security;intrusion detection;8 Support Vector Regression(8一SVR)machine;algorithm design
0 引言 1 SVR原理 针对网络入侵检测的两种检测技术,误用检测和异常检 测,业界设计了很多新颖算法。特别是对于异常检测,由于不 像误用检测那样只能检测出在规则库中事先定义的入侵行 为,不能检测出已知攻击的变形或新攻击,而是通过转换为解 决分类(将收集到的数据分成正常和异常两类)问题,来达到 提高检测性能的目的,因此得到普遍关注,设计的算法有字符 串匹配算法、模糊聚类算法等 。但这些算法为了提高检 测性能,需要的训练样本必须足够多,而且训练的时间也必须 足够长,这增加了构建训练样本集的成本,耗费大量的机器学 习时间。 近年来,支持向量机 (Support Vector Machine,SVM)受 到广泛关注,它以统计学习理论为基础,建立在计算学习理论 的结构风险最小化原则之上,根据有限的样本信息,以较少的 人为设定的参数,在模型的复杂性(对特定训练样本的精度) 与学习能力(无错误地识别任意样本的能力)之间寻求最佳 折中点,避免局部最优解,以获取最强的推广能力。 文献[4]在定义了s不敏感损失函数的基础上提出了s 支持向量回归机(s Support Vector Regression machine,s— SVR)。 针对文献[2]中异常特征数据库筛选、检测和分类的困 难,利用s支持向量回归机(s—SVR)原理,通过在回归机中定 义不敏感损失函数,克服了文献[6—9]在基于SVM设计算法 时仅仅考虑核函数的选择,而没有考虑真实网络环境下入侵 噪声的干扰,从而设计并实现了基于s—SVR的网络入侵检测 算法。实验表明该基于s—SVR的检测算法提高了异常特征 数据库的分类精度和检测率,有效地降低了误报率。 支持向量机SVM是一种有限样本统计学习理论,能在训 练样本数很小的情况下达到很好的分类推广的机器学习算 法,较好地解决了小样本、非线性、高维数、局部极小点等学习 问题,同时具有很好的泛化能力。 s-SVR在SVM的基础上定义了s不敏感损失函数,使得 SVM的训练样本数更少,代价更低,分类性能大为提高。 给定n个独立分布的数据样本( ,Y ), ∈R ,Y∈{+1,
一1},i=1,2,…,n。其中n为训练样本个数,d为每个训练样 本向量的维数,Y 是训练样本 的所属类标记。 s—SVR算法 。在定义了s不敏感损失函数的基础上,寻 找一个最优的函数_厂( )=(W× )+b,其中W, ∈R ,b∈R, 使得期望风险 l厂]最小:
RIf]= 1 ll W ll +C×R (1)
其中ll W 称为结构风险,代表模型的复杂度; R [.厂]::÷∑I Y -f(x )1 称为经验风险,代表回归 模型的误差; C为松弛惩罚因子,用于结构风险和经验风险之间进行 平衡。最小化式(1)等价于下面的二次规划问题: ÷ +c÷ ( 。+ ) (2)
约束条件为: rY 一(( × 。)+b)≤s+ {( × )+b—Y ≤s+ (3)
, ≥0,i=1,-一,n
收稿日期:2007—10—10。 基金项目:江苏省教育厅资助项目(2005-290);江苏省教科院资助项目(2005-R一196)。 作者简介:张家超(1966一),男,江苏赣榆人,副教授,主要研究方向:计算机网络体系结构、网络安全、数据挖掘。
维普资讯 http://www.cqvip.com 610 计算机应用 第28卷 其中 。, 为非负的松弛变量,Y 一(( × )+b)=s和 Y 一(( × )+b)=一s之间的区域为回归间隔。 引入Lagrange系数n ,ai*,最后将二次规划问题转换为 如下的对偶问题:
ma。
xW=∑(n;一n。 )y。一s∑(n +n )一
÷∑(n 一n。 )(at—at )×( × ) (4) 满足约束条件: J ‘ 口 )‘。 (5) LO≤口i,0 ≤C,i:1,…,n 求解上面的二次规划,得到最优的Lagrange系数q,ai* 以及阈值b,口 ,ai’>0所对应的样本称为支持向量(Support Vector,SV)。 在非线性的情况下,引入变换 :R 一H,将样本从输入 空间R 映射到一个高维特征空间H,然后在H中求取最优的 函数使得定义的风险函数最小。泛函理论说明,根据Mercer 条件,存在映射 和核函数K( ,Y),使得r(x。, ,)= ( )× ( ),引入核函数后得到回归最优分类函数为:
)=∑(口 一口 )K( , )+b (6) 2 算法设计 2.1 算法模型 SVR算法实质是求解一个凸规划问题或对偶问题,对 于最基本的两分类问题,存在线性可分和线性不可分两种,可 简述为通过核函数(线性变换)将输入空间中低维数据映射 到高维特征空间.使两类样本(可推广到多类样本)在此特征 空间中线性可分,并在高维特征空间构造最优线性分类超平 面,即通过求解得到一个最优分类函数,( )。 用s—SVR对异常特征数据库中的数据进行特征分类,首 先要从异常数据中抽取异常特征向量作为输入空间的输入向 量。由于异常数据的非确定性和多样性,即使提取的特征良 好.也不能保证这些特征数据线性可分.即这些特征数据是非 线性的。 s—SVR算法常用的核函数有: 1)线性核函数:K( 。, ,)= 。×xj; 2)多项式(d阶)核函数:K( ,xi)=(( 。×xi)+1) ; 3)高斯径向基核函数(Radial Basis Function,RBF): K( , ,)=exp((一II 一 ) / ) 其中 为核参数.它隐式地定义了从输入空间到高维空间中 的非线性映射。每个基函数所对应的支持向量与输出值都是 由算法自动确定。 4)多层感知机(Sigmoid)核函数: K( , j)=tanh(b( i×xj)+C) 其中b,C为常数。SVM包含一个隐层的多层感知器,隐层节点 数是由算法自动确定的,而且算法不存在困扰分类方法的局 部最优问题。 利用支持向量回归机对特征数据库进行分类,核函数及 其参数、惩罚参数的选择对分类精度、分类时间都有较大的影 响。选择合适的核函数及其相关参数,是得到较好分类结果的 重要因素。线性核函数没有将输入空间转换到高维空间,不能 很好地解决线性不可分问题;而且当带有惩罚参数C的线性 核函数与在取某些参数( ,C)的高斯径向基核函数有相同 的功能,此时是高斯径向基核函数的一个特例 J。对于多项 式核函数,当特征空间维数很高时,d值必然很大使得计算量 激增,甚至对某些情况不能得到正确结果。而Sigmoid感知机 核函数不仅在取某些参数时也类似高斯径向基核函数 ,而 且在某些参数上也会导致计算失败。 为获得较好的分类效果,本算法选择的是高斯径向基核 函数(RBF)。 2.2 算法描述 1)将选择的训练样本数据进行归一化处理。 2)将归一化后的数据作为s—SVR的训练数据。 3)令 =1,计算高斯径向基核函数(RBF)的样本空间。 4)确定松弛惩罚因子的C值。通过改变比较识别结果, 选取C=100。 5)将学习样本和对应的分类值带入式(4)中,求解最大 值。 n 满足条件:o<口 <c,i=1,…,n;∑aly :Oo求出非0 且小于的Lagrange算子对应的样本即为支持向量。 6)用上述训练结果对候选数据样本即异常数据库进行 检测并更新。 3 实验系统及结果分析 3.1实验数据源 针对以上所建立的算法模型.在Matlab 6.5平台下进行 训练与测试实验。实验数据取自DARPA 入侵检测评估数 据集KDD(知识发现与数据挖掘),它是1999年MIT的 Lincoln实验室通过模拟一个真实的网络环境而取得的原始 TCP/IP网络通信数据,对每一个TCP/IP连接.提取出41个 特征。该数据集包括多种攻击类型,如拒绝服务(Denial of Service,DoS)攻击、未经授权的远程访问(Remote to LocalUser,R2L)攻击、对本地超级用户的非法访问(User to Root,U2R)攻击和扫描与探测(Probing)攻击等。 从DARPA入侵检测评估数据集的测试数据集中选取了 三组(分别为500,1 000,2000个)训练数据作为候选样本数据 集(即异常特征数据库),其中含有正常样本和异常样本。考 虑到网络中的正常数据流量远远大于异常数据流量 j.因此数 据选取时,正常样本数远多于异常样本数,并且异常样本包含 但不区分所有的四种攻击类型。同时选取了10000个样本作 为入侵测试数据集,且入侵测试集的样本分布与候选样本集相 同,如表1所示,分别测试了检测率、误报率、漏报率等。 表1实验数据源组成 异常特征数据库 堡墼堡 查墼! 候选样本数据集 正常样本数 异常样本数 为了测试检测算法对未知样本(即与候选样本分布不同 的数据)入侵的有效性,又选取了1 000个样本作为入侵测试 数据集,对第二组1000个样本的异常特征数据库进行了测试 实验。 3.2实验结果分析 3.2.1学习性能 对第一组含有500个数据的候选样本数据集,使用选取