什么是支持向量机

首先,支持向量机是一种二分类模型,分为三类:

  1. 线性可分支持向量机
  2. 线性支持向量机
  3. 非线性支持向量机

1 线性可分支持向量机

首先假设数据是线性可分的,学习目标是在特征空间中找到一个分离超平面,能将实例分到不同的类,这样的超平面是无限多的,但如果要求间隔最大化,那解就是唯一的。

上面所说的间隔是几何间隔,但我们先介绍一下函数间隔。

函数间隔其实就是数据点x离超平面的远近表示,也就是距离,然后他的符号可以表示预测的正确与否,它的定义公式是:γi=yi(w*xi+b),但函数间隔有个问题如果成比例的改变w和b,超平面不会改变,但函数间隔是以前的两倍了,所以我们对w加些约束,例如使w向量的第二范数为1,这时的函数间隔就成为了几何间隔,支持向量机的核心思想也是它的优化方向:间隔最大化中的间隔指的就是这个几何间隔。

根据函数间隔和几何间隔的定义,最后支持向量机的算法也就是最大间隔法,求的是二分之一的w向量的平方的最小值。

求线性可分支持向量机的最优化问题,应用拉格朗日对偶性,先求出对偶问题的解阿尔法,根据阿尔法求原始问题的解w和b,这种算法称为线性可分支持向量机的对偶学习算法,是它的基本算法。

2 线性支持向量机

因为现实生活中数据不可能像我们刚才说的假设一样是完全线性可分的,免不了有噪声,所以有线性支持向量机,使向量机在数据有噪声的情况下依然可用。
原理:在线性SVM的基础上加入一个松弛变量埃普西隆和惩罚参数c,这样得到的间隔最大化称为软间隔最大化

3 非线性支持向量机

有的数据是非线性的,例如正例都在一个圆内,反例都在圆外,像这样的问题,线性法是求不了解的
非线性支持向量机的思想是利用核技巧,将非线性空间的特征点映射到线性空间中,再用线性法来求解
常用的核函数有:
多项式核函数
高斯核函数
字符串核函数

4 SMO算法(sequential minimal optimization 序列最小最优化)

它是一种启发式算法,基本思路是如果所有变量都满足最优化问题的KKT条件,那么这个最优化问题的解就得到了,因为KKT条件是最优化问题的充分必要条件。
SMO算法的主要思想是将原问题不断分解为子问题并对子问题求解,以求解原问题。

过程:
选择第一个变量(外层循环)
选择第二个变量(内层循环)
计算阈值b和差值E

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值