支持向量机(SVM)原理及
- 格式:doc
- 大小:259.50 KB
- 文档页数:14
支持向量机简介与基本原理支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,被广泛应用于模式识别、数据分类以及回归分析等领域。
其独特的优势在于可以有效地处理高维数据和非线性问题。
本文将介绍支持向量机的基本原理和应用。
一、支持向量机的基本原理支持向量机的基本思想是通过寻找一个最优超平面,将不同类别的数据点分隔开来。
这个超平面可以是线性的,也可以是非线性的。
在寻找最优超平面的过程中,支持向量机依赖于一些特殊的数据点,称为支持向量。
支持向量是离超平面最近的数据点,它们对于确定超平面的位置和方向起着决定性的作用。
支持向量机的目标是找到一个超平面,使得离它最近的支持向量到该超平面的距离最大化。
这个距离被称为间隔(margin),最大化间隔可以使得分类器更具鲁棒性,对新的未知数据具有更好的泛化能力。
支持向量机的求解过程可以转化为一个凸优化问题,通过求解对偶问题可以得到最优解。
二、支持向量机的核函数在实际应用中,很多问题并不是线性可分的,此时需要使用非线性的超平面进行分类。
为了解决这个问题,支持向量机引入了核函数的概念。
核函数可以将低维的非线性问题映射到高维空间中,使得原本线性不可分的问题变得线性可分。
常用的核函数有线性核函数、多项式核函数、高斯核函数等。
线性核函数适用于线性可分问题,多项式核函数可以处理一些简单的非线性问题,而高斯核函数则适用于复杂的非线性问题。
选择合适的核函数可以提高支持向量机的分类性能。
三、支持向量机的应用支持向量机在实际应用中有着广泛的应用。
在图像识别领域,支持向量机可以用于人脸识别、物体检测等任务。
在生物信息学领域,支持向量机可以用于蛋白质分类、基因识别等任务。
在金融领域,支持向量机可以用于股票市场预测、信用评估等任务。
此外,支持向量机还可以用于文本分类、情感分析、异常检测等领域。
由于其强大的分类性能和泛化能力,支持向量机成为了机器学习领域中的重要算法之一。
svm模型原理一、svm模型原理1. 基本概念SVM(支持向量机)是一种有效的机器学习和分类算法,它可以在高维数据集中有效地进行线性或非线性分类,它的优势在于空间的分离,即把一些以空间点为特征的数据降维,使其形成可以用于分类的特征空间。
SVM的思想是,将数据映射到更高维度的空间中,使它们更容易分类,然后利用支持向量来划分这个空间,并以此来建立分类器。
2. 支持向量机原理支持向量机是一种基于统计学习理论的机器学习算法,它可以用于分类和回归分析,目的是找到合适的决策边界,以最大程度地减少数据间的分类误差。
SVM的目标是通过最大化边界的空间,将样本分成两类,建立决策边界。
我们用一个隐马尔可夫模型来描述支持向量机,其中特征向量x=(x1,x2,…,xn)表示样本,yi表示样本的标签,yi取值为-1或1,表示分别属于两类。
支持向量机的决策边界就是找到一个过点x=(x1,x2,…,xn)的超平面w*x-b=0,使得正负样本分别在两边。
超平面可以由法向量w和决策偏移量b确定,在特征空间中的参数为w=(w1,w2,…,wn),决策偏移量b由超平面的最近支持向量决定,该支持向量是最接近决策边界的正负样本点,如果该点满足yi(w*xi+b)>1,则为支持向量。
为了使超平面能够被支持向量完全支撑,支持向量机将超平面求解为最大间隔分类。
支持向量机的学习过程就是在训练数据集中找到最大间隔的超平面,并使其成为支持向量。
3. 参数估计在使用支持向量机进行学习之前,需要进行参数估计。
参数估计的目的是对样本进行拟合,使其可以尽可能多地拟合数据样本,以达到最优化的分类效果。
SVM的参数估计使用凸二次规划求解,其目标函数为最大间隔,最大间隔的学习过程是在训练数据集中找到最大间隔的超平面,并使其成为支持向量。
该过程中,通过求解学习的参数拟合支持向量,实现数据集的最优分类。
支持向量机的基本原理
支持向量机(Support Vector Machine, SVM)是一种二分类模型,其基本原理是找到一个最优的超平面来进行数据的划分。
其基本思想是将样本空间映射到高维特征空间,找到一个超平面使得正负样本之间的间隔最大化,从而实现分类。
具体来说,SVM的基本原理包括以下几个步骤:
1. 寻找最优超平面:将样本空间映射到高维特征空间,使得样本在特征空间中线性可分。
然后寻找一个超平面来最大化两个不同类别样本的间隔(也称为“分类间隔”)。
2. 构建优化问题:SVM通过解决一个凸二次规划问题来求解最优超平面。
该优化问题的目标是最大化分类间隔,同时限制样本的分类正确性。
3. 核函数技巧:在实际应用中,数据通常是非线性可分的。
通过引入核函数的技巧,可以将非线性问题转化为高维或无限维的线性问题。
常用的核函数有线性核、多项式核、高斯核等。
4. 寻找支持向量:在求解优化问题时,只有一部分样本点对于最优超平面的确定起到决定性作用,这些样本点被称为“支持向量”。
支持向量决定了超平面的位置。
5. 分类决策函数:在得到最优超平面后,可以通过计算样本点到超平面的距离来进行分类。
对于新的样本点,根据其距离超平面的远近来判断其所属类别。
支持向量机的基本原理可以简单概括为在高维特征空间中找到一个最优超平面,使得样本的分类间隔最大化。
通过引入核函数的技巧,SVM也可以处理非线性可分的问题。
支持向量机具有理论基础牢固、分类效果好等优点,在实际应用中得到了广泛的应用。
使用支持向量机进行文本分类任务支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,广泛应用于文本分类任务。
本文将介绍SVM的基本原理,以及如何使用SVM进行文本分类。
一、支持向量机的基本原理支持向量机是一种二分类模型,其基本原理是找到一个超平面,将不同类别的样本分开。
在二维空间中,这个超平面就是一条直线;在多维空间中,这个超平面就是一个超平面。
支持向量机的目标是找到一个最优的超平面,使得离该超平面最近的样本点到该超平面的距离最大化。
具体来说,SVM通过将样本映射到高维特征空间,将低维线性不可分的问题转化为高维线性可分的问题。
然后,通过求解约束最优化问题,找到一个最优的超平面。
在这个过程中,只有一部分样本点被称为支持向量,它们离超平面最近。
二、文本分类任务文本分类是将文本按照一定的标准划分到不同的类别中。
在实际应用中,文本分类任务非常常见,如情感分析、垃圾邮件识别等。
文本分类任务的关键是将文本表示成机器学习算法可以处理的形式。
常用的文本表示方法有词袋模型(Bag-of-Words)和词向量(Word Embedding)。
词袋模型将文本看作是一个词的集合,忽略了词序和语法结构。
词向量则将每个词映射到一个实数向量,可以保留一定的语义信息。
三、使用支持向量机进行文本分类在使用支持向量机进行文本分类时,首先需要将文本表示成机器学习算法可以处理的形式。
常见的方法是使用词袋模型或词向量。
1. 词袋模型词袋模型将文本表示为一个固定长度的向量,向量中的每个维度表示一个词的出现频率或权重。
可以使用TF-IDF等方法对词的重要性进行加权。
2. 词向量词向量将每个词映射到一个实数向量。
常见的词向量模型有Word2Vec和GloVe等。
词向量可以保留一定的语义信息,更适合表示文本的语义特征。
在将文本表示成机器学习算法可以处理的形式后,可以使用支持向量机进行分类。
具体步骤如下:1. 划分训练集和测试集将标记好类别的文本数据集划分为训练集和测试集,通常采用交叉验证的方法。
支持向量机原理支持向量机(Support Vector Machine,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。
支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次规划问题。
SVM是一种分类算法,它的基本原理是找到一个超平面,将不同类别的数据分隔开来,使得两个类别的数据点到超平面的距离最大化。
支持向量机的原理主要包括间隔、支持向量、对偶问题和核函数等几个方面。
首先,我们来看支持向量机的间隔。
在支持向量机中,间隔是指两个异类样本最近的距离,而支持向量机的目标就是要找到一个超平面,使得所有样本点到这个超平面的距离最大化。
这个距离就是间隔,而支持向量机的学习策略就是要最大化这个间隔。
其次,支持向量机的支持向量。
支持向量是指离超平面最近的那些点,它们对超平面的位置有影响。
支持向量决定了最终的超平面的位置,而其他的点对超平面的位置没有影响。
因此,支持向量是支持向量机模型的关键。
然后,我们来看支持向量机的对偶问题。
支持向量机的原始问题是一个凸二次规划问题,可以通过求解对偶问题来得到最终的分类超平面。
通过对偶问题,我们可以得到支持向量的系数,从而得到最终的分类超平面。
最后,我们来看支持向量机的核函数。
在实际应用中,很多时候样本不是线性可分的,这时就需要用到核函数。
核函数可以将原始特征空间映射到一个更高维的特征空间,使得样本在这个高维特征空间中线性可分。
常用的核函数有线性核、多项式核和高斯核等。
综上所述,支持向量机是一种非常强大的分类算法,它通过最大化间隔来得到最优的分类超平面,支持向量决定了最终的超平面的位置,对偶问题可以通过求解对偶问题来得到最终的分类超平面,而核函数可以处理非线性可分的情况。
支持向量机在实际应用中有着广泛的应用,是一种非常重要的机器学习算法。
希望本文对支持向量机的原理有所帮助,让读者对支持向量机有更深入的理解。
支持向量机作为一种经典的机器学习算法,有着重要的理论意义和实际应用价值。
支持向量机(SVM)原理详解支持向量机(Support Vector Machine, SVM)是一种机器学习算法,用于二分类和多分类问题。
它的基本思想是寻找一个超平面,能够将不同类别的数据分隔开来,并且与最近的数据点之间的间隔最大。
一、原理概述:SVM的基本原理是将原始数据映射到高维空间中,使得在该空间中的数据能够线性可分,然后在高维空间中找到一个最优的超平面。
对于线性可分的情况,SVM通过最大化分类边界与最近数据点之间的距离,并将该距离定义为间隔,从而使分类边界具有更好的泛化能力。
二、如何确定最优超平面:1.线性可分的情况下:SVM寻找一个能够将不同类别的数据分开的最优超平面。
其中,最优超平面定义为具有最大间隔(margin)的超平面。
间隔被定义为超平面到最近数据点的距离。
SVM的目标是找到一个最大化间隔的超平面,并且这个超平面能够满足所有数据点的约束条件。
这可以通过求解一个凸二次规划问题来实现。
2.线性不可分的情况下:对于线性不可分的情况,可以使用一些技巧来将数据映射到高维空间中,使其线性可分。
这种方法被称为核技巧(kernel trick)。
核技巧允许在低维空间中计算高维空间的内积,从而避免了直接在高维空间中的计算复杂性。
核函数定义了两个向量之间的相似度。
使用核函数,SVM可以在高维空间中找到最优的超平面。
三、参数的选择:SVM中的参数有两个主要的方面:正则化参数C和核函数的选择。
1.正则化参数C控制了分类边界与数据点之间的权衡。
较大的C值将导致更少的间隔违规,增加将数据点分类正确的权重,可能会导致过拟合;而较小的C值将产生更宽松的分类边界,可能导致欠拟合。
2.核函数选择是SVM中重要的一步。
根据问题的特点选择合适的核函数能够更好地处理数据,常用的核函数有线性核函数、多项式核函数和高斯核函数等。
四、优缺点:SVM有以下几个优点:1.在灵活性和高扩展性方面表现出色,尤其是在高维数据集上。
2.具有良好的泛化能力,能够很好地处理样本数量较少的情况。
支持向量机算法的原理支持向量机(Support Vector Machine,SVM)是一种广泛应用于分类和回归问题的机器学习算法。
它的原理基于统计学习理论中的结构风险最小化原则,通过寻找一个最优的超平面来实现数据的分类。
在SVM中,数据被看作是高维空间中的点,每个点都有一个与之对应的特征向量。
这些特征向量的维度取决于特征的数量。
SVM的目标是找到一个超平面,使得其能够尽可能地将不同类别的数据点分隔开。
超平面是一个d维空间中的d-1维子空间,其中d为特征向量的维度。
在二维空间中,超平面即为一条直线,可以完全将两类数据点分开。
在更高维的空间中,超平面可以是一个曲面或者是一个超平面的组合。
为了找到最优的超平面,SVM引入了支持向量的概念。
支持向量是离超平面最近的数据点,它们决定了超平面的位置和方向。
通过最大化支持向量到超平面的距离,SVM能够找到一个最优的超平面,使得分类误差最小化。
SVM的核心思想是将低维空间中的数据映射到高维空间中,使得原本线性不可分的数据变得线性可分。
这一映射是通过核函数实现的。
核函数能够计算两个数据点在高维空间中的内积,从而避免了显式地进行高维空间的计算。
常用的核函数有线性核、多项式核和高斯核等。
SVM的训练过程可以简化为一个凸优化问题。
通过最小化结构风险函数,SVM能够找到一个最优的超平面,使得分类误差最小化。
结构风险函数由经验风险项和正则化项组成。
经验风险项衡量了分类器在训练集上的错误率,正则化项则防止过拟合。
SVM的优点是具有较好的泛化性能和较强的鲁棒性。
由于最大化支持向量到超平面的距离,SVM对异常值不敏感,能够有效地处理噪声数据。
此外,SVM还可以通过引入松弛变量来处理非线性可分的问题。
然而,SVM也存在一些限制。
首先,SVM对于大规模数据集的训练时间较长,且对内存消耗较大。
其次,选择合适的核函数和参数是一个挑战性的问题,不同的核函数和参数可能会导致不同的分类结果。
简述支持向量机的基本原理和相关参数支持向量机(Support Vector Machines,简称SVM)是一种监督学习算法,在许多应用中被广泛使用,例如分类、回归和异常检测等领域。
其基本原理是将输入数据映射到高维空间中,定义一个超平面进行分类或回归等任务。
SVM的基本原理包括以下三个方面:1.最大化间隔:在分类问题中,SVM的目标是能够找到一个分界线(或超平面),它能够将不同类别的数据分开,并且在这两个类别之间的最大间隔内没有任何数据点。
这个间隔称为间隔(margin),目标是最大化这个间隔。
2.核函数:如果我们不能够实际地通过映射将数据集映射到高维空间中,或者在高维空间中模型过于复杂,那么就需要使用核函数。
核函数能够将低维输入数据映射到高维空间中,再使用SVM来分隔数据。
3.对偶问题:SVM的对偶问题的解决方案比直接解决原问题更方便。
对偶问题的解决方案仅涉及到数据点之间的内积,而不涉及原始数据。
仅使用内积可以简化计算,避免计算映射数据,从而降低复杂性。
SVM相关参数主要包括:1. C:C是一个正则化参数,控制模型的复杂度和对错误分类的容忍程度。
当C较小时,SVM尝试最大化间隔,甚至将不正确的分类点排除在外。
当C较大时,忽略一些错误分类点以更好地拟合数据。
2. 核函数参数:SVM支持不同类型的核函数,例如线性核、多项式核和径向基核等,每个核函数都有其自身的参数。
对于径向基函数核,有一个参数gamma,控制分类较复杂的曲线,如果gamma很小,该函数的分类结果会更平滑。
3. 容忍度:容忍度参数(tolerance)是一个非常小的数值,用于检测算法收敛时分类结果的变化是否值得继续优化。
如果分类结果的变化小于容忍度,则算法解决方案足够接近理想解决方案,并且不需要继续检查是否存在更好的解决方案。
svm 原理
SVM(支持向量机)是一种用于分类和回归分析的机器学习方法,其基本原理是寻找一个最优的超平面(在二维情况下是一条直线,多维情况下是一个高维平面),将不同类别的样本点有效地分开。
其思想是将样本点映射到高维空间中,使得样本点在高维空间中可以线性可分。
SVM的目标是找到一个最优的超平面,使得最靠近超平面的
样本点到该超平面的距离最大。
这些最靠近超平面的样本点被称为支持向量,因为它们对于决策超平面的位置起到了关键作用。
SVM通过最大化支持向量到决策边界的间隔,使得分类
边界更加稳健。
在学习阶段,SVM通过构建一个约束最优化问题来寻找最优
的超平面。
这个问题的目标是最小化模型误差和最大化间隔。
其中,模型误差基于不同类别样本点到超平面的距离计算,间隔则是支持向量到超平面的距离。
通过求解这个优化问题,可以得到一个优秀的分类超平面。
SVM的优点是可以处理高维度的数据和非线性的决策边界。
它在解决小样本、非线性和高维度的分类问题上表现出色。
然而,SVM也有一些缺点,例如对于大规模数据集的训练需要
较长的时间,并且对于噪声和异常值比较敏感。
总结来说,SVM基于找到一个最优的超平面,通过最大化支
持向量到决策边界的间隔来实现分类。
它是一种非常强大的机器学习方法,在不同领域的分类和回归问题中都有广泛的应用。
支持向量机(SVM)原理及应用概述支持向量机(SVM )原理及应用一、SVM 的产生与发展自1995年Vapnik(瓦普尼克)在统计学习理论的基础上提出SVM 作为模式识别的新方法之后,SVM 一直倍受关注。
同年,Vapnik 和Cortes 提出软间隔(soft margin)SVM ,通过引进松弛变量i ξ度量数据i x 的误分类(分类出现错误时i ξ大于0),同时在目标函数中增加一个分量用来惩罚非零松弛变量(即代价函数),SVM 的寻优过程即是大的分隔间距和小的误差补偿之间的平衡过程;1996年,Vapnik 等人又提出支持向量回归 (Support Vector Regression ,SVR)的方法用于解决拟合问题。
SVR 同SVM 的出发点都是寻找最优超平面(注:一维空间为点;二维空间为线;三维空间为面;高维空间为超平面。
),但SVR 的目的不是找到两种数据的分割平面,而是找到能准确预测数据分布的平面,两者最终都转换为最优化问题的求解;1998年,Weston 等人根据SVM 原理提出了用于解决多类分类的SVM 方法(Multi-Class Support Vector Machines ,Multi-SVM),通过将多类分类转化成二类分类,将SVM 应用于多分类问题的判断:此外,在SVM 算法的基本框架下,研究者针对不同的方面提出了很多相关的改进算法。
例如,Suykens 提出的最小二乘支持向量机 (Least Square Support Vector Machine ,LS —SVM)算法,Joachims 等人提出的SVM-1ight ,张学工提出的中心支持向量机 (Central Support Vector Machine ,CSVM),Scholkoph 和Smola 基于二次规划提出的v-SVM 等。
此后,台湾大学林智仁(Lin Chih-Jen)教授等对SVM 的典型应用进行总结,并设计开发出较为完善的SVM 工具包,也就是LIBSVM(A Library for Support Vector Machines)。
LIBSVM 是一个通用的SVM 软件包,可以解决分类、回归以及分布估计等问题。
二、支持向量机原理SVM 方法是20世纪90年代初Vapnik 等人根据统计学习理论提出的一种新的机器学习方法,它以结构风险最小化原则为理论基础,通过适当地选择函数子集及该子集中的判别函数,使学习机器的实际风险达到最小,保证了通过有限训练样本得到的小误差分类器,对独立测试集的测试误差仍然较小。
支持向量机的基本思想:首先,在线性可分情况下,在原空间寻找两类样本的最优分类超平面。
在线性不可分的情况下,加入了松弛变量进行分析,通过使用非线性映射将低维输入空间的样本映射到高维属性空间使其变为线性情况,从而使得在高维属性空间采用线性算法对样本的非线性进行分析成为可能,并在该特征空间中寻找最优分类超平面。
其次,它通过使用结构风险最小化原理在属性空间构建最优分类超平面,使得分类器得到全局最优,并在整个样本空间的期望风险以某个概率满足一定上界。
其突出的优点表现在:(1)基于统计学习理论中结构风险最小化原则(注: 所谓的结构风险最小化就是在保证分类精度(经验风险)的同时,降低学习机器的VC 维,可以使学习机器在整个样本集上的期望风险得到控制。
)和VC维理论(注:VC维(Vapnik-Chervonenkis Dimension)的概念是为了研究学习过程一致收敛的速度和推广性,由统计学理论定义的有关函数集学习性能的一个重要指标。
),具有良好的泛化能力,即由有限的训练样本得到的小的误差能够保证使独立的测试集仍保持小的误差。
(2)支持向量机的求解问题对应的是一个凸优化问题,因此局部最优解一定是全局最优解。
(3)核函数的成功应用,将非线性问题转化为线性问题求解。
(4)分类间隔的最大化,使得支持向量机算法具有较好的鲁棒性。
由于SVM自身的突出优势,因此被越来越多的研究人员作为强有力的学习工具,以解决模式识别、回归估计等领域的难题。
1.最优分类面和广义最优分类面SVM是从线性可分情况下的最优分类面发展而来的,基本思想可用图1来说明。
对于一维空间中的点,二维空间中的直线,三维空间中的平面,以及高维空间中的超平面,图中实心点和空心点代表两类样本,H为它们之间的分类超平面,H1,H2分别为过各类中离分类面最近的样本且平行于分类面的超平面,它们之间的距离△叫做分类间隔(margin)。
图1 最优分类面示意图W所谓最优分类面要求分类面不但能将两类正确分开,而且使分类间隔最大。
将两类正确分开是为了保证训练错误率为0,也就是经验风险最小(为O)。
使分类空隙最大实际上就是使推广性的界中的置信范围最小?,从而使真实风险最小。
推广到高维空间,最优分类线就成为最优分类面。
设线性可分样本集为}1,1{,,,...,1),,(x _-+∈∈=y R x n i y d i i 是类别符号。
d 维空间中线性判别函数的一般形式为是类别符号。
d 维空间中线性判别函数的一般形式为b x w x g +⋅=)((主:w 代表Hilbert 空间中权向量;b 代表阈值。
),分类线方程为0=+⋅b x w ?。
将判别函数进行归一化,使两类所有样本都满足1|)(|=x g ,也就是使离分类面最近的样本的1|)(|=x g ,此时分类间隔等于||||/2w ?,因此使间隔最大等价于使||||w (或2||||w )最小。
要求分类线对所有样本正确分类,就是要求它满足ni b x w y i ,...,2,1,01])[(=≥-+⋅(1-1)满足上述条件(1-1),并且使2||||w 最小的分类面就叫做最优分类面,过两类样本中离分类面最近的点且平行于最优分类面的超平面H 1,H 2上的训练样本点就称作支持向量(support vector),因为它们“支持”了最优分类面。
利用Lagrange (拉格朗日)优化方法可以把上述最优分类面问题转化为如下这种较简单的对偶问题,即:在约束条件,01=∑=ini i y α(1-2a )ni i ,...,2,1,0=≥α(1-2b)下面对i α(主:对偶变量即拉格朗日乘子)求解下列函数的最大值:∑∑==-=nj i j i j i j i ni x x y y 1,1i )(21Q αααα)( ?(1-3)若*α为最优解,则∑==ni i y w 1**αα (1-4)即最优分类面的权系数向量是训练样本向量的线性组合。
注释(1-3)式由来:利用Lagrange 函数计算如下,实例计算: 图略,可参见PPT可调用Matlab 中的二次规划程序,求得α1, α2, α3, α4的值,进而求得w 和b 的值。
这是一个不等式约束下的二次函数极值问题,存在唯一解。
根据k ühn-Tucker 条件,解x1 =(0, 0), y1 = +1 x2 =(1, 0), y2 = +1 x3 =(2, 0), y3 = -1 x4 =(0, 2), y4 = -12121(,,)((())1)li i i i L w b w y x w b αα==-⋅⋅+-∑(,,)0(,,)0L w b L w b b w αα∂∂==∂∂11lli ii i ii i a yw y x α====∑∑121,111()()0,1,...,,0()sgn(())l l i i j i j i j i i j li i ii li i i i W y y x x i l and yf x y x x b ααααααα=====-⋅≥===⋅⋅+∑∑∑∑2221234223341()()(444)2Q αααααααααα=+++--++123412013/41/41120312002144231113,02224()3220w b g x x x αααα=⎧⎪=⎪⎨=⎪⎪=⎩⎡⎤-⎢⎥⎡⎤⎡⎤⎡⎤=--=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎢⎥-⎢⎥⎣⎦⎡⎤⎡⎤=---=⎢⎥⎢⎥⎣⎦⎣⎦=--=中将只有一部分(通常是很少一部分)i α不为零,这些不为0解所对应的样本就是支持向量。
求解上述问题后得到的最优分类函数是:})(sgn{})sgn{()(1****∑=+⋅=+⋅=ni i i i b x x y b x w x f α(1-5)根据前面的分析,非支持向量对应的i α均为0,因此上式中的求和实际上只对支持向量进行。
*b 是分类阈值,可以由任意一个支持向量通过式(1-1)求得(只有支持向量才满足其中的等号条件),或通过两类中任意一对支持向量取中值求得。
从前面的分析可以看出,最优分类面是在线性可分的前提下讨论的,在线性不可分的情况下,就是某些训练样本不能满足式(1-1)的条件,因此可以在条件中增加一个松弛项参数0i ≥ε,变成:ni b x w y i i i ,...,2,1,01])[(=≥+-+⋅ε(1-6)对于足够小的s>0,只要使∑==ni i F 1)(σσεε(1-7)最小就可以使错分样本数最小。
对应线性可分情况下的使分类间隔最大,在线性不可分情况下可引入约束:kc ≤2||w ||(1-8)在约束条件(1-6)幂1(1-8)下对式(1-7)求极小,就得到了线性不可分情况下的最优分类面,称作广义最优分类面。
为方便计算,取s=1。
为使计算进一步简化,广义最优分类面问题可以迸一步演化成在条件(1-6)的约束条件下求下列函数的极小值:)(),(21,1∑=+=ni i C w w w εεφ)((1-9)其中C 为某个指定的常数,它实际上起控制对锩分样本惩罚的程度的作用,实现在错分样本的比例与算法复杂度之间的折衷。
求解这一优化问题的方法与求解最优分类面时的方法相同,都是转化为一个二次函数极值问题,其结果与可分情况下得到的(1-2)到(1-5)几乎完全相同,但是条件(1-2b)变为:ni C ,...,1,0i =≤≤α(1-10)2.SVM 的非线性映射对于非线性问题,可以通过非线性交换转化为某个高维空间中的线性问题,在变换空间求最优分类超平面。
这种变换可能比较复杂,因此这种思路在一般情况下不易实现。
但是我们可以看到,在上面对偶问题中,不论是寻优目标函数(1-3)还是分类函数(1-5)都只涉及训练样本之间的内积运算)(i x x ⋅。
设有非线性映射H R d →Φ:将输入空间的样本映射到高维(可能是无穷维)的特征空间H 中,当在特征空间H 中构造最优超平面时,训练算法仅使用空间中的点积,即)()(j i x x φφ⋅,而没有单独的)(i x φ出现。
因此,如果能够找到一个函数K 使得)()()(j i j i x x x x K φφ⋅=⋅(1-11)这样在高维空间实际上只需进行内积运算,而这种内积运算是可以用原空间中的函数实现的,我们甚至没有必要知道变换中的形式。