`
haitaoandroid
  • 浏览: 27466 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SVM百家争鸣之多分类超球支持向量机

 
阅读更多

基本思想是对于一个分类有一个超球,m个分类就有m个超球,求出最优的m个超球就可以了,待分类的样本与m个超球的中心比较,如果在其中一个超球里面,则属于这个超球队分类,当然还有重叠的部分,具体下面再讨论。

先看一个表达式:

第一个表达式就是球的方程。 其中表示样本点,上标m表示第m个种类,可以暂且不管m,表示第m个种类的超球中心,表示第m个种类的超球半径,表示松弛因子,对一些非常偏离球中心的点很敏感,所以要允许一些点在超球的外面,就是起这个作用的,当然要大于等于0。我们的目标是要尽量使超球小和松弛变量的和最小,因为这样才是最优的分类,因此目标函数是:

是某个常数,起控制对错分样本惩罚的程度的作用,实现在球的大小和错分样本之间的折中。这样,目标就是最小化min。以后的问题跟求解标准SVM没有什么区别,都是转化为对偶问题。具体如下:

先设它的Lagrange函数为:

因为Lagrange因子都大于等于0,所以max=,所以原问题min通过转化变为min()max(),这里要注意的是min和max括号里面表示的是对哪个参数求最大最小,min和max是对不同的参数,min是对这三个参数,而max是对这两个参数,再者只要满足kkt条件,max和min可以互换,即max和min谁先谁后求得到结果是一样的。所以原问题变为:max()min(),先求

min(),对三个参数的导并令他们为0:


原文中还有一个等式没给出:

把上面三个等式代入原式,经过计算化简,我这里写了一些关键的化简步骤:


得到最后的对偶问题:


求出超球后,便是分类了,分类函数就是计算待分类的样本点到各个超球的距离:


当fm最小的那个超球即为这个样本的分类。这里也有一个不太准确的地方,如果两个超球有重叠,上面的判断函数就不一定准确。吴强等人提出了子超球的概念,目的为解决超球重叠区域分类不准确的问题。大概的思想是在重叠区域再训练两个子超球,以此来分类重叠区域的样本。看图:


子超球就是把U1和U2重叠的区域再训练两个超球,用来判断重叠区域的样本,怎么训练呢?以U1为例,在重叠区域有两种样本,一种是经过判别函数,把原本是属于U1的点判给U2了,称这种点为同类错误样本点,一种是经过判别函数,把原本不属于U1的点判给U1了,称这种点为异类错误样本点,然后再使用上面的方法对这两种类别的点(同类错误样本点和异类错误样本点)进行训练,得到子超球。以后处在重叠区域的点都需要经过子超球来判断,而不仅仅是经过母超球的决策函数来判断了。具体请参考原论文。


参考:

《用球结构的支持向量机解决多分类问题》   朱美琳等

《球结构支持向量机的改进算法及仿真研究》   吴强等

分享到:
评论

相关推荐

    多分类支持向量机SVM

    ### 多分类支持向量机SVM #### 概述 支持向量机(SVM)作为一种新兴的机器学习方法,起源于统计学习理论。它主要用于处理二分类问题,但在实际应用中,往往需要面对多分类任务。因此,将SVM推广到多分类问题成为了...

    超球面支持向量机.rar_支持向量机_球支持向量机_超球_超球 向量机_超球支持向量

    超球面支持向量机(Hyperspherical Support Vector Machine, 简称HSVM)是一种在机器学习领域中用于分类和回归问题的算法,它扩展了传统的支持向量机(Support Vector Machine, SVM)的概念。SVM的核心思想是找到一...

    支持向量机(SVM)多分类算法实现

    一般的支持向量机(SVM)只能够用作二分类,而本次上传的代码是一个四分类的支持向量机(SVM)算法实现,代码的关键部分都会有注释,适合刚入门的小白看。本代码还用到了libsvm这个工具箱,需要读者自己配置,配置...

    SVM案例练习_SVM_支持向量机

    支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习模型,广泛应用于分类和回归任务。SVM的核心思想是找到一个最优超平面,该超平面能够将不同类别的数据点最大程度地分开。在二维空间中,这个超...

    svc支持向量机分类模型、NuSVC支持向量机分类模型、sklearn.svm支持向量机分类模型

    支持向量机(SVM)是一种流行的监督学习算法,用于分类和回归任务。在Python的机器学习库scikit-learn(sklearn)中,SVM提供了多种实现,包括`SVC`、`NuSVC`和`LinearSVC`。 ### 1. SVC支持向量机分类模型 `SVC`...

    葡萄酒支持向量机SVM分类

    总结来说,"葡萄酒支持向量机SVM分类"项目展示了如何运用SVM解决实际的分类问题,涉及到数据预处理、模型训练、参数调优和性能评估等多个环节。这个项目对于理解和支持向量机在机器学习中的应用具有很好的实践意义。...

    【支持向量机】 超球支持向量机有一次分类,二次分类,支持向量机回归

    超球面支持向量机\Main_SVM_One_Class.m (3308, 2008-10-07) 超球面支持向量机\Main_SVR_Epsilon.m (3037, 2007-12-04) 超球面支持向量机\Main_SVR_Nu.m (3015, 2007-12-04) 超球面支持向量机\one.m (1440, 2008-0

    SVM(支持向量机)实现数据的三分类

    总结,SVM支持向量机作为一种强大的分类工具,可以通过一对一策略处理三分类乃至多分类问题。在MATLAB环境中,利用`fitcsvm`和`predict`函数,我们可以方便地构建和应用SVM模型,实现数据的高效分类。

    SVM支持向量机分类鸢尾花数据集iris及代码

    总之,"SVM支持向量机分类鸢尾花数据集iris及代码"是一个非常实用的学习资源,涵盖了数据预处理、模型训练、参数调优和结果评估等多个方面,对于初学者和有经验的从业者来说都是一个极好的实践平台。

    论文研究-基于超球支持向量机的语音识别研究 .pdf

    此外,为了实现对多分类问题的更优处理,超球支持向量机在算法复杂性和数据规模上都表现出一定的优势。算法复杂性的降低意味着在处理大规模数据集时所需的计算资源更少,这将有助于降低成本并提高效率。数据规模上的...

    MATLAB实现SVM支持向量机多特征分类预测(完整源码和数据)

    MATLAB实现SVM支持向量机多特征分类预测(完整源码和数据) 数据为多特征分类数据,输入15个特征,分四类,程序乱码是由于版本不一致导致,可以用记事本打开复制到你的文件。 运行环境MATLAB2018b及以上。

    支持向量机数据回归预测SVM

    支持向量机回归SVM完整数据和代码支持向量机回归SVM完整数据和代码支持向量机回归SVM完整数据和代码支持向量机回归SVM完整数据和代码支持向量机回归SVM完整数据和代码支持向量机回归SVM完整数据和代码支持向量机回归...

    SVM支持向量机分类鸢尾花数据集iris(jupyter实现)

    SVM支持向量机分类鸢尾花数据集iris(jupyter实现) 附带可视化图片

    SVM支持向量机代码解释

    SVM支持向量机,预测分类 回归,支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合...

    灰狼优化算法+SVM支持向量机+分类

    灰狼优化算法+SVM支持向量机+分类

    SVM支持向量机分类

    用matlab编程实现支持向量机分类,核函数选取,超平面建立等

    代码 基于SVM支持向量机算法的降水量预测模型代码

    代码 基于SVM支持向量机算法的降水量预测模型代码代码 基于SVM支持向量机算法的降水量预测模型代码代码 基于SVM支持向量机算法的降水量预测模型代码代码 基于SVM支持向量机算法的降水量预测模型代码代码 基于SVM支持...

    实战案例-使用支持向量机(SVM)算法进行人脸识别

    支持向量机算法(Support Vector Machine,SVM),是一种二分类模型。 对于二分类问题,如果我们从数据集是否线性可分角度来看的话(线性可分通俗理解就是画一条直线,可以直接将两种类型的数据分开),可以将数据...

Global site tag (gtag.js) - Google Analytics