机器学习之SVM简介

编程入门 行业动态 更新时间:2024-10-23 03:16:17

综述

在深度学习(2012)出现之前,SVM是ml算法中最优秀的算法。
支持向量机,本质是个分类器。核技巧+间隔最大
当间隔最大的时候,他的泛化能力是最强的,鲁棒性最高。

基于最大间隔分割数据。分割的超平面有无数个,找的是最大化的寻找一个能把样本分割开的超平面(分割超平面)Max Margin Hyperplane求解凸二次规划的最优化算法。支持向量:超平面上的那些点(样本)
当样本有多个属性,并且属性之间有影响的时候,svm比较适合

支持向量:和超平面平行的保持一定的函数距离的这两个超平面对应的向量,我们定义为支持向量
支持向量机:寻找支持向量的算法,并利用支持向量来寻找分界线的算法

非线性支持向量机线性支持向量机

算法流程

算法的主要过程就是要求解超平面,超平面具有如下性质:

把两类数据分隔开距离两个分类之间的距离最大

主要需要考量的是如何让距离最大,这里从向量的角度考虑
这些超平面可以由方程族描述:

两个支持向量之间的距离是

我们要寻找的是间隔最小的,也就是|w|要最大,这样最终转化成一个方程:

就是求解条件极值的方程,一个带有约束条件的最小极值方程。高数里面可以用拉格朗日方法求解
这个方程也就是SVM的基本型

训练集的最大间隔超平面是存在且唯一的。

当样本数据不是线性可分的时候,如何处理?
这里引入核函数的概念

核函数

当样本不是线性可分的时候,需要用到核函数,核函数的目的是将所有的样本转换成可划分的。通过对样本数据的转换,构造出一条直线划分原来的样本。

核函数将样本数据变换到更高维度,使得他线性可分。在数学上已经证明了,经过有限次的核函数转换,一定可以处理成线性可分的情况。核函数本质上就是一个映射

最关键的就是找到合适的映射。如何找到?没有系统的方法,需要考量数据格式,业务需要等,经验积累。一般来说,径向基函数/高斯核(rbf)效果大部分情况下还行。核函数也可以自己定义。如果需要具体操作,还需要另寻他法。

核函数是SVM的精华,如何选择合理的核函数,对于SVM的性能有着至关重要的影响。

优化

核函数的选择对于性能的提升有着极为重要的作用。

评价

SVM可以用于分类和回归SVM的复杂度是由支持向量个数的多少决定的,不是由样本个数的多少。寻来的结果完全依赖于支持向量而非所有样本。svm是前一个阶段ml的主流,但是由于核函数的选择,一直是个未决问题。经常使用的多核学习本质上是借助了集成学习机制。

进阶

libsvm
核函数的选择
凸优化问题

更多推荐

机器,简介,SVM

本文发布于:2023-05-25 18:44:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/320926.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:机器   简介   SVM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!