支持向量机理论+鸢尾花Iris数据集进行SVM线性分类练

一、支持向量机理论简介
支持向量机是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面

1.线性分类
线性可分性
在分类问题中给定输入数据和学习目标:X={X1,X2,…,XN},y={y1,…,yN},其中输入数据的每个样本都包含多个特征并由此构成特征空间:X=[x1,x2,…,xn],而学习目标为二元变量
在这里插入图片描述

表示负类和正类

若输入数据所在的特征空间存在作为决策边界的超平面将学习目标按正类和负类分开,并使任意样本的点到平面距离大于等于1
在这里插入图片描述

则称该分类问题具有线性可分性,参数w,b分别为超平面的法向量和截距。

满足该条件的决策边界实际上构造了2个平行的超平面作为间隔边界以判别样本的分类:
在这里插入图片描述

所有在上间隔边界上方的样本属于正类,在下间隔边界下方的样本属于负类。两个间隔边界的距离d=2/||w||被定义为边距(margin),位于间隔边界上的正类和负类样本为支持向量。
在这里插入图片描述

2.核方法
一些线性不可分的问题可能是非线性可分的,即特征空间存在超曲面将正类和负类分开。使用非线性函数可以将非线性可分问题从原始的特征空间映射至更高维的希尔伯特空间,从而转化为线性可分问题,此时作为决策边界的超平面表示如下:
在这里插入图片描述

由于映射函数具有复杂的形式,难以计算其内积,因此可使用核方法,即定义映射函数的内积为核函数:
在这里插入图片描述

以回避内积的显式计算
在这里插入图片描述

Mercer定理
核函数的选择需要一定条件,函数
在这里插入图片描述

是核函数的充要条件是,对输入空间的任意向量:
在这里插入图片描述

其核矩阵,即如下形式的格拉姆矩阵

在这里插入图片描述

是半正定矩阵。上述结论被称为Mercer定理

作为充分条件:特征空间内两个函数的内积是一个二元函数,在其核矩阵为半正定矩阵时,该二元函数具有可再生性:
在这里插入图片描述

因此其内积空间是一个赋范向量空间,可以完备化得到希尔伯特空间 ,即再生核希尔伯特空间。作为必要条件,对核函数构造核矩阵后易知:
在这里插入图片描述

常见的核函数
在这里插入图片描述

3.算法
线性SVM
(1)硬边距
给定输入数据和学习目标:X={X1,X2,…,XN},y={y1,…,yN},硬边界SVM是在线性可分问题中求解最大边距超平面的算法,约束条件是样本点到决策边界的距离大于等于1。硬边界SVM可以转化为一个等价的二次凸优化问题进行求解:
在这里插入图片描述

由上式得到的决策边界可以对任意样本进行分类:
在这里插入图片描述

我们注意到虽然超平面法向量w是唯一优化目标,但学习数据和超平面的截距通过约束条件影响了该优化问题的求解。硬边距SVM是正则化系数取0时的软边距SVM,下面我们来看一看软边距SVM。

(2)软边距
在线性不可分问题中使用硬边距SVM将产生分类误差,因此可在最大化边距的基础上引入损失函数构造新的优化问题。SVM使用铰链损失函数,沿用硬边界SVM的优化问题形式,软边距SVM的优化问题有如下表示:
在这里插入图片描述

上式表明可知,软边距SVM是一个L2正则化分类器,式中Li表示铰链损失函数。使用松弛变量:ξ≥0处理铰链损失函数的分段取值后,上式可化为:

在这里插入图片描述

求解上述软边距SVM通常利用其优化问题的对偶性

推导:在这里插入图片描述

定义软边距SVM的优化问题为原问题,通过拉格朗日乘子:
可得到其拉格朗日函数:
在这里插入图片描述

令拉格朗日函数对优化目标w,b,ξ的偏导数为0,可得到一系列包含拉格朗日乘子的表达式:
在这里插入图片描述

将其带入拉格朗日函数后可得原问题的对偶问题:
在这里插入图片描述

对偶问题的约束条件中包含不等关系,因此其存在局部最优的条件是拉格朗日乘子满足条件:
在这里插入图片描述

由上述KKT条件可知,对任意样本(Xi,yi),总有αi=0或yi(w^TXi+b)=1-ξi ,对前者,该样本不会对决策边界wTXi+b=0产生影响,对后者,该样本满足yi(wTXi+b)=1-ξi意味其处于间隔边界上(αi< C)、间隔内部(αi=C)或被错误分类(αi>C),即该样本是支持向量。由此可见,软边距SVM决策边界的确定仅与支持向量有关,使用铰链损失函数使得SVM具有稀疏性

非线性SVM
使用非线性函数将输入数据映射至高维空间后应用线性SVM可得到非线性SVM。非线性SVM有如下优化问题:

在这里插入图片描述

类比软边距SVM,非线性SVM有如下对偶问题:
在这里插入图片描述

在这里插入图片描述

注意到式中存在映射函数内积,因此可以使用核方法,即直接选取核函数:
非线性SVM的对偶问题的KKT条件可同样类比软边距线性SVM。

鸢尾花svm
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SVM的优缺点
优点
1、使用核函数可以向高维空间进行映射

2、使用核函数可以解决非线性的分类

3、分类思想很简单,就是将样本与决策面的间隔最大化

4、分类效果较好
缺点
1、对大规模数据训练比较困难

2、无法直接支持多分类,但是可以使用间接的方法来做
https://blog.csdn.net/qq_45213986/article/details/106186415?fps=1&locationNum=2?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E5%AE%9E%E7%8E%B0%E9%B8%A2%E5%B0%BE%E8%8A%B1LDA&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-106186415
https://blog.csdn.net/zrh_CSDN/article/details/80934248

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支持向量机(Support Vector Machine, SVM)是一种机器学习算法,它可以用来解决分类和回归问题。在鸢尾花分类问题中,我们可以使用SVM来对不同种类的鸢尾花进行分类。 首先,我们需要加载鸢尾花数据集鸢尾花数据集是一个经典的分类问题数据集,其中包含了150个样本,每个样本包含了4个特征(花萼长度、花萼宽度、花瓣长度和花瓣宽度),并且每个样本都属于三个不同的鸢尾花种类之一(Setosa、Versicolor、Virginica)。 接下来,我们使用支持向量机算法来建立一个分类模型。在SVM中,我们可以使用不同的核函数来处理非线性分类问题。在这个问题中,我们采用径向基函数(RBF)作为核函数,并使用多项式次数为3的多项式核函数。 通过训模型,我们可以得到一个决策边界,将不同种类的鸢尾花分开。该模型使用一些被称为支持向量的样本来定义决策边界,这些样本位于不同分类之间,起到了支持分类的作用。 最后,我们可以使用训好的模型来对新的鸢尾花样本进行预测。预测的过程是将新样本的特征传入模型中,模型会根据决策边界将其分类为不同的鸢尾花种类之一。 总之,通过使用支持向量机算法,并采用径向基函数作为核函数,我们可以有效地解决鸢尾花分类问题。这种方法可以帮助我们对新的鸢尾花样本进行正确的分类,并且在实际应用中取得良好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值