支持向量机算法学习总结
svm实验报告总结

svm实验报告总结SVM实验报告总结支持向量机(SVM)是一种常用的机器学习算法,它在模式识别、分类、回归等领域有着广泛的应用。
本文将对SVM算法进行实验,旨在探究SVM算法的原理、应用和优缺点。
一、实验原理SVM的基本思想是将低维度的数据映射到高维度的空间中,从而使数据在高维空间中更容易被线性分隔。
SVM算法的核心是支持向量,这些支持向量是距离分类决策边界最近的数据点。
SVM通过找到这些支持向量来建立分类器,从而实现数据分类。
二、实验步骤1. 数据预处理本实验使用的数据集是Iris花卉数据集,该数据集包含了三种不同种类的花朵,每种花朵有四个属性:花萼长度、花萼宽度、花瓣长度、花瓣宽度。
首先需要将数据集划分为训练集和测试集,以便在训练模型时进行验证。
2. 模型训练本实验使用Python中的sklearn库来构建SVM分类器。
首先需要选择SVM的核函数,有线性核函数、多项式核函数、径向基核函数等。
在本实验中,我们选择径向基核函数作为SVM的核函数。
接着需要设置SVM的参数,包括C值和gamma值。
C值是惩罚系数,用于平衡模型的分类精度和泛化能力;gamma值是径向基函数的系数,用于控制支持向量的影响范围。
3. 模型评估本实验使用准确率和混淆矩阵来评估模型的性能。
准确率是指模型在测试集上的分类精度,而混淆矩阵则可以用来分析模型在不同类别上的分类情况。
三、实验结果本实验使用径向基核函数的SVM分类器在Iris数据集上进行了实验。
实验结果表明,SVM分类器的准确率达到了97.78%,同时在混淆矩阵中也可以看出模型在不同花朵种类上的分类情况。
实验结果表明,SVM分类器在分类问题上有着较好的表现。
四、实验总结SVM算法是一种常用的机器学习算法,它在模式识别、分类、回归等领域有着广泛的应用。
本实验通过对Iris数据集的实验,探究了SVM算法的原理、应用和优缺点。
实验结果表明,在SVM算法中,径向基核函数是一种比较适用的核函数,在设置SVM参数时需要平衡模型的分类精度和泛化能力。
机器学习技术中的支持向量回归算法详解

机器学习技术中的支持向量回归算法详解支持向量回归(Support Vector Regression,SVR)是一种常用的机器学习技术,用于解决回归问题。
它基于支持向量机(Support Vector Machine,SVM)算法,通过找到一个最优的超平面来建立一个线性或非线性的回归模型。
在本文中,我们将详细介绍支持向量回归算法的原理、特点和应用。
支持向量回归算法的原理支持向量回归算法的原理与支持向量机算法相似,但目标不同。
支持向量机算法是一种用于分类问题的算法,而支持向量回归算法则是用于预测连续变量的回归问题。
我们先来回顾一下支持向量机算法的原理。
支持向量机算法通过找到一个最优的超平面来实现分类。
在二维情况下,这个超平面就是一条直线,将两个不同的类别分开。
在更高维的情况下,这个超平面变成一个超平面。
支持向量机的目标是通过找到离超平面最近的一些点,也就是支持向量,将不同类别的点分隔开。
这些支持向量在分类决策中起到了重要的作用。
支持向量机算法通过最大化支持向量与超平面的距离(也称为间隔)来实现分类。
支持向量回归算法与支持向量机算法的目标有所不同。
支持向量回归算法的目标是找到一个最优的超平面,使得样本点与该超平面的距离尽可能小,并且在一定误差范围内。
换句话说,支持向量回归算法通过最小化支持向量与超平面的距离和样本点与超平面的距离之和来实现回归。
支持向量回归算法的特点支持向量回归算法有以下几个特点:1. 回归问题的非线性建模能力:支持向量回归算法可以通过使用核函数将数据从原始空间映射到一个高维特征空间,从而实现非线性回归模型的建立。
2. 控制模型复杂度的超参数:支持向量回归算法有两个重要的超参数,分别是核函数和正则化参数。
通过选择合适的核函数和正则化参数,可以有效控制模型的复杂度,防止过拟合。
3. 鲁棒性:支持向量回归算法可以有效处理数据中的噪声和异常值,因为它是通过最小化支持向量与超平面的距离和样本点与超平面的距离之和来实现回归的。
svm实验报告总结

SVM实验报告1. 背景支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,广泛应用于分类问题,特别是二分类问题。
SVM的基本思想是通过找到一个最优超平面,将不同类别的样本分开。
该算法在模式识别、图像分割、文本分类等领域都有较好的性能。
2. 分析2.1 数据集本次实验使用了鸢尾花数据集(Iris Dataset),该数据集是机器学习中应用非常广泛的数据集之一,包含了三种不同的鸢尾花(Setosa、Versicolor、Virginica)的样本,每类样本50个。
2.2 SVM算法SVM算法的核心在于寻找一个最优的超平面,使得不同类别的样本点到超平面的距离最大化。
其决策函数可以表示为:f(x)=sign(w T x+b)其中,w是超平面的法向量,b是超平面的截距。
SVM算法通过构建拉格朗日函数并求解对偶问题,可以得到超平面的参数。
2.3 实验步骤本次实验的具体步骤如下:1.加载数据集:使用机器学习库中的函数加载鸢尾花数据集。
2.数据预处理:对数据进行标准化处理,以便提高模型的训练效果。
3.划分训练集和测试集:将数据集划分为训练集和测试集,用于模型的训练和评估。
4.训练模型:使用训练集对SVM模型进行训练。
5.模型评估:使用测试集对训练好的模型进行评估。
6.结果分析:根据评估结果对模型进行分析,并提出相应的建议。
3. 结果经过实验,得到了以下结果:1.样本标准化前的准确率为82%,样本标准化后的准确率提升到96%。
2.在训练集上的准确率高于测试集,表明模型存在轻微的过拟合。
3.SVM模型在鸢尾花数据集上表现良好,能够对三种鸢尾花进行有效分类。
4. 建议根据实验结果,可以针对模型的性能提出以下建议:1.考虑增加更多的训练样本,以减小模型的过拟合现象。
2.尝试调整超参数,如正则化参数C和核函数参数等,以提高模型的泛化能力。
3.可以尝试使用其他优化算法,如随机梯度下降法等,以加快模型的训练速度。
提高SVM算法的分类准确率的方法与思路

提高SVM算法的分类准确率的方法与思路如今,SVM(支持向量机)算法已经成为了许多机器学习任务中的重要算法之一。
在分类问题中,SVM算法具有较好的准确率和泛化能力,但是,在实际应用中,我们也会遇到一些个例点(outlier),这些点具有很大的噪声和干扰,其被错误地分到了某一分类,从而导致分类准确率下降。
因此,如何处理个例点对于提升SVM算法的分类准确率至关重要。
1. 对数据进行预处理在SVM算法中,数据预处理是提高分类器性能的重要步骤。
有时,我们的数据集中可能会存在缺失值、离群点(outlier)或异常值等问题。
如果直接忽略或剔除这些问题,会导致SVM算法分类结果的偏差。
因此,我们需要对数据进行预处理以消除这些问题。
比如,我们可以使用插值法对数据中的缺失值进行填充,对离群点(outlier)或异常值进行处理,将其剔除或替换成合理的值,从而提高模型的表现力。
2. 对数据集进行均衡在训练数据集中,我们可能会发现某个类别的样本数很少,而另一个类别的样本数很多。
这种情况下,分类器容易出现偏差,导致分类的准确率降低。
因此,我们需要对数据集进行均衡处理。
可以通过下采样(undersampling)或上采样(oversampling)的方法来解决。
下采样是删除训练集中某个类别的一些样本,使得该类别与其他类别的样本数相等。
上采样是增加某个类别的样本数,使得该类别与其他类别的样本数相等。
这样,分类器就能够更好地学习数据,提高分类准确率。
3. 数据特征的提取在SVM算法中,数据特征的提取可以说是至关重要的。
合适的特征提取方法能够让数据更好地对分类器产生区分作用,从而提高分类预测的准确率。
常用的特征提取方法包括主成分分析(PCA)、线性判别分析(LDA)和t-SNE等。
这些方法可以有效地降低数据的维度,提取关键点特征,从而让SVM算法更好地进行分类。
4. SVM参数的调优SVM算法中的参数调优也是提高分类准确率的重要方法之一。
支持向量机原理与应用

支持向量机原理与应用支持向量机是一种广泛应用于分类和回归问题的机器学习算法,其基本思想是通过寻找最优超平面将数据分成两类。
在这篇文章中,我们将深入探讨支持向量机的原理和应用。
一、支持向量机的原理支持向量机通过最大化间隔超平面来分类数据。
间隔是定义为支持向量(也就是最靠近分类边界的数据点)之间的距离。
因此,我们的目标是找到一个最优的超平面使得此间隔最大。
在二维空间中,最大间隔超平面是一条直线。
在高维空间中,最大间隔超平面是一个超平面。
这个超平面定义为:w\cdot x-b=0其中,w是一个向量,x是样本空间中的向量,b是偏差。
支持向量机的目标是找到一个可以将训练样本分成两个类别的最大间隔超平面,并且使得间隔为M(M是最大间隔)。
二、支持向量机的应用支持向量机是一种广泛应用于分类和回归问题的机器学习算法。
这里我们将讨论支持向量机在分类问题中的应用。
1. 图像分类支持向量机在图像分类中的应用非常广泛。
通过将图像转换为特征向量,可以用支持向量机实现图像分类。
支持向量机特别适用于图像分类,因为它可以处理高维特征空间。
2. 自然语言处理支持向量机可以通过文本分类实现在自然语言处理中的应用。
支持向量机可以学习在给定文本语料库中的所有文档的特定类别的模式(如“金融”或“体育”)。
3. 生物信息学支持向量机在生物信息学中的应用非常广泛。
生物信息学家可以使用支持向量机分类DNA,RNA和蛋白质序列。
4. 金融支持向量机在金融中的应用也很广泛。
通过识别是否存在欺诈行为,可以使用支持向量机实现信用评估。
三、总结在这篇文章中,我们深入探讨了支持向量机的原理和应用。
通过理解支持向量机的原理,我们可以更好地了解如何使用它解决分类问题。
在应用方面,支持向量机广泛应用于各种领域,包括图像分类、自然语言处理、生物信息学和金融等。
因此,支持向量机是一种非常有用的机器学习算法,对于了解它的原理和应用非常重要。
SVM算法与应用

SVM算法与应用SVM(Support Vector Machine)即支持向量机,是一种强大且常用的机器学习算法。
它最初是由Vapnik等人于20世纪90年代提出的,并在之后得到了广泛的研究和应用。
SVM算法在分类和回归问题上表现出色,尤其在高维空间下的模式识别任务上效果更佳。
本文将介绍SVM算法的原理、方法和应用。
一、SVM原理SVM算法基于统计学理论和结构风险最小化原则,通过在数据中找到一个最优的超平面,来进行二分类或多分类。
其基本原理可以简单概括为以下几点:1.最大间隔分类:SVM的目标是找到一个最优的超平面,使得不同类别的训练样本之间的最小间隔最大化。
最大间隔意味着最大程度地避免了分类错误,提高了模型的鲁棒性和泛化能力。
2.支持向量:SVM通过选择一些关键的训练样本作为支持向量。
这些样本位于间隔边界上,它们决定了最优超平面的位置。
3.核函数:SVM通过核函数将数据从原始空间映射到高维特征空间,从而解决了原始空间线性不可分的问题。
常用的核函数有线性核、多项式核和高斯核等。
4.对偶问题和拉格朗日乘子:SVM的优化问题可以转化为对偶问题,并通过求解对偶问题的拉格朗日乘子来得到最优解。
二、SVM方法SVM算法主要包括以下几个步骤:1.数据预处理:对数据集进行标准化和归一化处理,以便更好地满足SVM的假设条件。
2.特征选择和特征转换:根据任务需求选择合适的特征,并利用线性或非线性的方式将数据映射到高维特征空间。
3.模型训练:通过训练数据集,使用SVM算法确定最优的超平面和支持向量。
4.模型评估和调优:使用测试数据集评估模型的性能,并通过调整超参数和核函数选择等方式来改善模型的效果。
三、SVM应用SVM算法在分类和回归问题上被广泛应用。
以下是部分常见的应用场景:1.文本分类:SVM算法可以用于将文本进行分类,例如将新闻文章分为体育、政治、娱乐等类别。
2.人脸识别:SVM在人脸识别领域的表现出色,能够快速准确地将人脸图像与已知的人脸进行匹配。
如何解决支持向量机算法中的数据不平衡问题

如何解决支持向量机算法中的数据不平衡问题在机器学习领域,支持向量机(Support Vector Machine,SVM)是一种非常常用的分类算法。
然而,当数据集中的不同类别样本数量差异较大时,即数据不平衡问题,SVM算法可能会受到影响并导致分类结果不准确。
因此,解决SVM算法中的数据不平衡问题是非常重要的。
数据不平衡问题指的是数据集中不同类别的样本数量差异较大。
例如,在二分类问题中,一个类别的样本数量远远多于另一个类别。
这种情况下,SVM算法可能会偏向于多数类别,而对少数类别进行较差的分类。
解决这个问题的方法有很多,下面将介绍几种常用的方法。
1. 重采样方法重采样方法是通过改变数据集中不同类别样本的数量比例来解决数据不平衡问题。
其中,欠采样方法通过减少多数类别样本的数量,使其与少数类别样本数量接近。
而过采样方法则通过增加少数类别样本的数量,使其与多数类别样本数量接近。
这些方法可以通过随机选择样本或者基于一定规则进行选择样本。
2. 样本生成方法样本生成方法是通过生成新的样本来增加少数类别的样本数量。
其中,SMOTE(Synthetic Minority Over-sampling Technique)是一种常用的样本生成方法。
SMOTE算法通过在少数类别样本之间进行插值,生成新的样本。
这样可以增加少数类别样本的数量,并且保持数据分布的一致性。
3. 样本权重调整方法样本权重调整方法是通过调整样本的权重来解决数据不平衡问题。
在SVM 算法中,可以通过设置样本的权重来平衡不同类别样本的影响。
通常情况下,少数类别样本的权重会设置为较大值,以增加其对分类结果的影响。
而多数类别样本的权重可以设置为较小值,以减小其对分类结果的影响。
4. 集成学习方法集成学习方法是通过结合多个分类器的结果来解决数据不平衡问题。
其中,Bagging和Boosting是两种常用的集成学习方法。
Bagging算法通过随机采样生成多个分类器,并通过投票的方式来决定最终的分类结果。
支持向量机算法的原理

支持向量机算法的原理支持向量机(Support Vector Machine,SVM)是一种广泛应用于分类和回归问题的机器学习算法。
它的原理基于统计学习理论中的结构风险最小化原则,通过寻找一个最优的超平面来实现数据的分类。
在SVM中,数据被看作是高维空间中的点,每个点都有一个与之对应的特征向量。
这些特征向量的维度取决于特征的数量。
SVM的目标是找到一个超平面,使得其能够尽可能地将不同类别的数据点分隔开。
超平面是一个d维空间中的d-1维子空间,其中d为特征向量的维度。
在二维空间中,超平面即为一条直线,可以完全将两类数据点分开。
在更高维的空间中,超平面可以是一个曲面或者是一个超平面的组合。
为了找到最优的超平面,SVM引入了支持向量的概念。
支持向量是离超平面最近的数据点,它们决定了超平面的位置和方向。
通过最大化支持向量到超平面的距离,SVM能够找到一个最优的超平面,使得分类误差最小化。
SVM的核心思想是将低维空间中的数据映射到高维空间中,使得原本线性不可分的数据变得线性可分。
这一映射是通过核函数实现的。
核函数能够计算两个数据点在高维空间中的内积,从而避免了显式地进行高维空间的计算。
常用的核函数有线性核、多项式核和高斯核等。
SVM的训练过程可以简化为一个凸优化问题。
通过最小化结构风险函数,SVM能够找到一个最优的超平面,使得分类误差最小化。
结构风险函数由经验风险项和正则化项组成。
经验风险项衡量了分类器在训练集上的错误率,正则化项则防止过拟合。
SVM的优点是具有较好的泛化性能和较强的鲁棒性。
由于最大化支持向量到超平面的距离,SVM对异常值不敏感,能够有效地处理噪声数据。
此外,SVM还可以通过引入松弛变量来处理非线性可分的问题。
然而,SVM也存在一些限制。
首先,SVM对于大规模数据集的训练时间较长,且对内存消耗较大。
其次,选择合适的核函数和参数是一个挑战性的问题,不同的核函数和参数可能会导致不同的分类结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:支持向量机的算法学习姓名:学号:专业:指导教师:、日期:2012年6 月20日支持向量机的算法学习1. 理论背景基于数据的机器学习是现代智能技术中的重要方面,研究从观测数据 (样本) 出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。
迄今为止,关于机器学习还没有一种被共同接受的理论框架,关于其实现方法大致可以分为三种:第一种是经典的(参数)统计估计方法。
包括模式识别、神经网络等在内,现有机器学习方法共同的重要理论基础之一是统计学。
参数方法正是基于传统统计学的,在这种方法中,参数的相关形式是已知的,训练样本用来估计参数的值。
这种方法有很大的局限性,首先,它需要已知样本分布形式,这需要花费很大代价,还有,传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。
但在实际问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。
第二种方法是经验非线性方法,如人工神经网络(ANN。
这种方法利用已知样本建立非线性模型,克服了传统参数估计方法的困难。
但是,这种方法缺乏一种统一的数学理论。
与传统统计学相比,统计学习理论( Statistical Learning Theory 或SLT) 是一种专门研究小样本情况下机器学习规律的理论。
该理论针对小样本统计问题建立了一套新的理论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有有限信息的条件下得到最优结果。
V. Vapnik 等人从六、七十年代开始致力于此方面研究[1] ,到九十年代中期,随着其理论的不断发展和成熟,也由于神经网络等学习方法在理论上缺乏实质性进展,统计学习理论开始受到越来越广泛的重视。
统计学习理论的一个核心概念就是VC维(VC Dimension)概念,它是描述函数集或学习机器的复杂性或者说是学习能力(Capacity of the machine) 的一个重要指标,在此概念基础上发展出了一系列关于统计学习的一致性(Consistency) 、收敛速度、推广性能(GeneralizationPerformance) 等的重要结论。
支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy) 和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(Ge neralizat in Ability) 。
支持向量机方法的几个主要优点有:1.它是专门针对有限样本情况的,其目标是得到现有信息下的最优解而不仅仅是样本数趋于无穷大时的最优值;2.算法最终将转化成为一个二次型寻优问题,从理论上说,得到的将是全局最优点,解决了在神经网络方法中无法避免的局部极值问题;3.算法将实际问题通过非线性变换转换到高维的特征空间(Feature Space),在高维空间中构造线性判别函数来实现原空间中的非线性判别函数,特殊性质能保证机器有较好的推广能力,同时它巧妙地解决了维数问题,其算法复杂度与样本维数无关;在SVM方法中,只要定义不同的内积函数,就可以实现多项式逼近、贝叶斯分类器、径向基函数(Radial Basic Function或RBF)方法、多层感知器网络等许多现有学习算法。
2. 方法SVM是从线性可分情况下的最优分类面发展而来的,基本思想可用图1的两维情况说明。
图中,实心点和空心点代表两类样本,H为分类线,H1、H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin )。
所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为0),而且使分类间隔最大。
分类线方程为xw + b = 0,我们可以对它进行归一化,使得对线性可分的样本集3,%门=1,…n,x・ R d,*{4-1},满足y i[( w xj b] -1 _ 0,i =1, , n (1)2此时分类间隔等于2/||W|,使间隔最大等价于使I W I最小。
满足条件⑴ 且使^IWII2最小的分类面就叫做最优分类面,H1、H2上的训练样本点就称作支持向量。
利用Lagrange优化方法可以把上述最优分类面问题转化为其对偶问题,即:在约束条件(2a)(2b)和a j 丄0i = , nF对ai求解下列函数的最大值:max ' a i a j a j y j yjX X j)(3)3i 2i,j4a i为原问题中与每个约束条件(1)对应的Lagrange乘子。
这是一个不等式约束下二次函数寻优的问题,存在唯一解。
容易证明,解中将只有一部分(通常是少部分)a 不为零,对应的样本就是支持向量。
解上述问题后得到的最优分类函数是f n* * 】f (x) =sgn{(w x) b} =sgn ' a*y i(x x) b*l i4 J式中的求和实际上只对支持向量进行。
b*是分类阈值,可以用任一个支持向量(满足(1)中的等号)求得,或通过两类中任意一对支持向量取中值求得。
•• •图土1绘优超平面Figure 2. i The Opiimai Hyperplane对非线性问题,可以通过非线性变换转化为某个高维空间中的线性问题,在变换空间求最优分类面。
这种变换可能比较复杂,因此这种思路在一般情况下不易实现。
但是注意到,在上面的对偶问题中,不论是寻优目标函数(3)还是分类函数⑷ 都只涉及训练样本之间的内积运算匕xj)。
设有非线性映射:R d > H 将输入空间的样本映射到高维(可能是无穷维)的特征空间H中。
当在特征空间H 中构造最优超平面时,训练算法仅使用空间中的点积,即门X j計X j ,而没有单独的G X j出现。
因此,如果能够找到一个函数K使得K( x , X= P i( x「),这样,在高维空间实际上只需进行内积运算,而这种内积运算是可以用原空间中的函数实现的,我们甚至没有必要知道变换①的形式。
根据泛函的有关理论,只要一种核函数K(x「X j)满足Mercer条件,它就对应某一变换空间中的内积。
因此,在最优分类面中采用适当的内积函数K(X j,X j)就可以实现某一非线性变换后的线性分类,而计算复杂度却没有增加,此时目标函数(3)变为:n 1 nmax ' a j- —v a j aj^y j K^ X j) (5)ai 2i,j 二而相应的分类函数也变为f n * *1f(x)=sgn{(w x) b}=sgn ' x) b (6)l i T J这就是支持向量机。
这一特点提供了解决算法可能导致的“维数灾难”问题的方法:在构造判别函数时,不是对输入空间的样本作非线性变换,然后在特征空间中求解;而是先在输入空间比较向量(例如求点积或是某种距离),对结果再作非线性变换。
这样, 大的工作量将在输入空间而不是在高维特征空间中完成。
SVM分类函数形式上类似于一个神经网络,输出是s中间节点的线性组合,每个中间节点对应一个支持向量,如图2所示。
输出(决策规也hr = sgn( y'a f)K(x b )W ffL «f J;基f- s个支持向M x,申,…,-r f的菲44* -kl -Ki r r lnr ft J \输入向T. X= { J, 一图2支持向量机示意图函数K称为点积的卷积核函数,它可以看作在样本之间定义的一种距离。
显然,上面的方法在保证训练样本全部被正确分类,即经验风险Remp为0的前提下,通过最大化分类间隔来获得最好的推广性能。
如果希望在经验风险和推广性能之间求得某种均衡,在。
这时,约束(1)变为可以通过引入正的松弛因子i来允许错分样本的存y i[(w x) +b] 一1 i 一0, i =1; ,n(7)而在目标最小化—1 wn中加入惩罚项i,id这样,Wolf对偶问题可以写成:Maximize:maxan 1 n' a -1 ' a j a j y i y j K(X j X j) (8) i2i,j 壬s.tn' y i a i =oi(9a)0 - a j - C i = 1, ,n(9b)这就是SVM方法的最一般的表述。
为了方便后面的陈述,这里我们对对偶问题的最优解做一些推导。
定义n(10)w(a)二為y i a i (xji(11)F =w(a) (xj—y =為a j y j K(X j X j)沖j对偶问题的Lagrange函数可以写成:1L w(a) w(a)-' a -' 、冋• ' 叫(耳-C)為a i y i(12)2 i i i i3. SVM算法中目前的研究状况由于SVM方法较好的理论基础和它在一些领域的应用中表现出来的优秀的推广性能,近年来,许多关于SVM方法的研究,包括算法本身的改进和算法的实际应用,都陆续提了出来。
尽管SVM算法的性能在许多实际问题的应用中得到了验证,但是该算法在计算上存在着一些问题,包括训练算法速度慢、算法复杂而难以实现以及检测阶段运算量大等等。
传统的利用标准二次型优化技术解决对偶问题的方法可能是训练算法慢的主要原因:首先,SVM方法需要计算和存储核函数矩阵,当样本点数目较大时,需要很大的内存,例如,当样本点数目超过4000时,存储核函数矩阵需要多达128兆内存;其次,SVM在二次型寻优过程中要进行大量的矩阵运算,多数情况下,寻优算法是占用算法时间的主要部分。
SVM方法的训练运算速度是限制它的应用的主要方面,近年来人们针对方法本身的特点提出了许多算法来解决对偶寻优问题。
大多数算法的一个共同的思想就是循环迭代:将原问题分解成为若干子问题,按照某种迭代策略,通过反复求解子问题,最终使结果收敛到原问题的最优解。
根据子问题的划分和迭代策略的不同,又可以大致分为两类。
第一类是所谓的“块算法”(chunking algorithm )。
“块算法”基于的是这样一个事实,即去掉Lagrange乘子等于零的训练样本不会影响原问题的解。
对于给定的训练样本集,如果其中的支持向量是已知的,寻优算法就可以排除非支持向量,只需对支持向量计算权值(即Lagrange乘子)即可。
实际上支持向量是未知的,因此“块算法”的目标就是通过某种迭代方式逐步排除非支持向量。
具体的作法是,选择一部分样本构成工作样本集进行训练,剔除其中的非支持向量,并用训练结果对剩余样本进行检验,将不符合训练结果(一般是指违反KKT条件)的样本(或其中的一部分)与本次结果的支持向量合并成为一个新的工作样本集,然后重新训练。
如此重复下去直到获得最优结果。
当支持向量的数目远远小于训练样本数目时,“块算法”显然能够大大提高运算速度。