SVM(五):SVM小结

简介: SVM(五):SVM小结

5.1 SVM分类算法步骤


输入:m 个样本(  x 1,Y1 ) , ( x 2, Y2 ) , . . . , (Xm,Ym ) ,其中x 为n 维向量,y ∈ { − 1 , 1 }


输出:分离超平面(由w ∗ 和 b ∗ 决 定 w^{*}和b^{*}决定w ∗和b ∗决定)


Step1:选择适当的核函数K ( , )和一个惩罚系数C > 0 , 构造约束优化问题


image.png

Step2:用SMO算法求出上式最小时对应的α 向量的值α ∗ 向量

Step3:计算image.png

Step4: 找出所有的S 个支持向量,即满足0 < α s < C 对应的样本( x s , y s ) ,通过image.png,计算出每个支持向量( x s , y s )对应的image.png,对其求平均值得到

image.png


5.2 一分类SVM(1-SVM)/多分类SVM


5.2.1 1-SVM


用于异常检测,通过超球提实现一分类:找到一个以α 为中心,以R 为半径的包含样本本的最小超球。


5.2.2 多分类SVM


直接法:直接修改目标函数,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。简单但是计算复杂度较高,只适合小型问题。

间接法:主要通过组合多个二分类器来实现多分类器的构造,如:一对多(one-against-all)和一对一(one-against-one)方法。


(1)一对多法


训练时依次把某个类别的样本归为一类,其它样本归为另一类,这样k 个类别的样本构造了k 个SVM,分类时将未知样本分类为具有最大分类函数值的那类。


优点:训练k 个分类器,个数较少,分类速度相对较快


缺点:

训练速度会随训练样本数量的增加而急剧减慢


样本不对称:负类样本的数据要远远大于正类样本的数据(可通过引入不同的惩罚因子解决,对样本点较少的正类采用较大的惩罚因子C )


新的类别加入,需要对所有的模型重新训练


(2) 一对一法


在任意两类样本之间设计一个SVM,因此k kk个类别的样本需要设计k ( k − 1 ) /2个SVM,当对一个未知样本进行分类时,得票最多的类即为该样本的类别。当类别很多时,模型个数也很多,计算代价大。


5.3 SVM优缺点


(1)优点

  • 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。
  • 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。
  • 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。
  • 样本量不是海量数据的时候,分类准确率高,泛化能力强。


(2)缺点


  • 在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。
  • 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。
  • 特征维度远远大于样本数时,表现一般。
  • 对缺失数据、噪声敏感。
相关文章
|
5月前
|
机器学习/深度学习 算法 Serverless
什么是支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。
|
4月前
|
机器学习/深度学习 算法 Serverless
支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。 SVM除了能够处理线性可分离的问题外,还可以通过核函数的引入处理线性不可分的问题,将样本映射到高维空间,从而
|
7月前
|
机器学习/深度学习 数据采集 算法
支持向量机SVM:从数学原理到实际应用
支持向量机SVM:从数学原理到实际应用
158 0
|
9月前
|
机器学习/深度学习 算法 Python
2022-11-10-支持向量机SVM
2022-11-10-支持向量机SVM
80 0
|
12月前
|
机器学习/深度学习 算法
SVM学习笔记
SVM学习笔记
93 0
|
机器学习/深度学习
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
|
机器学习/深度学习 算法
SVM(一):线性支持向量机
SVM(一):线性支持向量机
SVM(一):线性支持向量机
|
机器学习/深度学习 算法 开发者
Svm 介绍| 学习笔记
快速学习 Svm 介绍。
83 0
Svm 介绍| 学习笔记
|
机器学习/深度学习 算法
|
机器学习/深度学习 算法