SVM初探
2016-03-09 10:45
239 查看
SVM是Support Vector Machine的简称
首先介绍,线性分类
上图中直线$f(x)=w^tx + b$代表一个线性判别函数
假设$f(x)>0$代表小矩形类别,$f(x)<0$代表小圆圈类别
在线性可分的情况下,SVM的目的是为了找出一个最优分类平面,哪个是呢,通俗来说就是图中距离直线最近的矩形和圆圈(可能不唯一)连线垂直平分线
而图中距离直线最近的矩形和圆圈(可能不唯一), 这样的矩形或圆圈(样本)被称为支持向量
有了支持向量我们就可以画出最优分类平面,我们称为最优分类间隔起器
而找最优分类间隔器的问题是一个凸优化问题,凸优化问题一般求解方法有梯度下降法、最小二乘法等...
线性可分问题解决了,线性不可分的情况怎么办?
首先线性不可分问题,可以用超非平面来划分,然后我们发现如果把现有的维度映射到高维就可以在高维空间达到线性可分
但是这样又引来一个问题,维数灾难
因此这里引入核函数,核函数的作用通过内积计算把需要升维的问题在不升维的情况下解决了
因此核函数是SVM的精髓
常用核函数有
1. 线性核函数,仅仅是为了统一线性可分和非线性可分的情况
2. 多项式核函数
3. 高斯核函数,或者叫径向基核函数,该函数的参数$\sigma$太大效果相当于维度不够高,$\sigma$太小又会导致维数过高,几乎任何情况下都能线性可分,造成过拟合问题,现实中常常需要对$\sigma$调优
4. sigmod函数
首先介绍,线性分类
上图中直线$f(x)=w^tx + b$代表一个线性判别函数
假设$f(x)>0$代表小矩形类别,$f(x)<0$代表小圆圈类别
在线性可分的情况下,SVM的目的是为了找出一个最优分类平面,哪个是呢,通俗来说就是图中距离直线最近的矩形和圆圈(可能不唯一)连线垂直平分线
而图中距离直线最近的矩形和圆圈(可能不唯一), 这样的矩形或圆圈(样本)被称为支持向量
有了支持向量我们就可以画出最优分类平面,我们称为最优分类间隔起器
而找最优分类间隔器的问题是一个凸优化问题,凸优化问题一般求解方法有梯度下降法、最小二乘法等...
线性可分问题解决了,线性不可分的情况怎么办?
首先线性不可分问题,可以用超非平面来划分,然后我们发现如果把现有的维度映射到高维就可以在高维空间达到线性可分
但是这样又引来一个问题,维数灾难
因此这里引入核函数,核函数的作用通过内积计算把需要升维的问题在不升维的情况下解决了
因此核函数是SVM的精髓
常用核函数有
1. 线性核函数,仅仅是为了统一线性可分和非线性可分的情况
2. 多项式核函数
3. 高斯核函数,或者叫径向基核函数,该函数的参数$\sigma$太大效果相当于维度不够高,$\sigma$太小又会导致维数过高,几乎任何情况下都能线性可分,造成过拟合问题,现实中常常需要对$\sigma$调优
4. sigmod函数
相关文章推荐
- 存储过程与触发器的区别
- 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&&向社区贡献代码
- tokuDB存储引擎的安装、配置、使用及注意事项
- 【BZOJ4299】Codechef FRBSUM
- asp.net中的Application概述
- lzg_ad: FBWF技术概述
- Linux下io磁盘调度策略及配置
- JMS入门(三)--Queue的使用
- JMS入门(四)--Topic的使用
- 批量修改文件的编码
- 怎么设置session无响应超时时间并且自动返回登陆页面
- 飞天平台安全相关
- c语言--指针
- 懈怠了
- unnable to create virtual device:server returned http status code 0
- window下用android-ndk-r9d编译.so文件之mutex in namespace 'std' does not name a type
- Js实现Map对象
- JVM - 内存溢出问题排查相关命令jcmd jmap
- 关于unity常见的面试题
- WebPack系列教程(四):安装