您的位置:首页 > 其它

SVM(Support Vector Machine)

2017-07-30 22:06 204 查看

一、SVM 简介及优缺点

1. SVM 简介

通俗来讲,它是一种二类分类模型,其基本模型定义为
特征空间上间隔最大
的线性分类器,采用
核方法
后可用于非线性分类,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。SVM 大致可以分为以下几类:

线性可分支持向量机

hard margin maximize:线性可分

线性支持向量机(C参数)

soft margin maximize:近似线性可分(有少量异常数据)

非线性支持向量机(C和gamma)

kernel based:线性不可分,可将样本从原始空间映射到一个
更高维的特征空间
,使得样本在这个特征空间内线性可分

VC 维:线性 SVM 的 VC维为 d+1,而高斯核函数的 VC维是 ∞

2. SVM 的优缺点

优点

选用 rbf kernel 时,数据已经被映射到了无穷维的空间中去,从而保证数据
一定是线性可分的
,所以它一定有全局最优解

只使用训练集中的一部分(
called support vectors
),大大节省了内存开销

分割直线满足
margin 最大
的条件,所以是一个
robust
的解(即,泛化错误率低)

在高维空间中行仍然行之有效

缺点

线性 SVM 对异常数据比较敏感,采用核函数来解决的话,计算复杂度高

SVM 不直接提供概率估计,而是通过 5 折交叉验证的方式来求出的,计算时间要远高于其它非线性分类器

对参数调节和核函数的选择敏感,原始分类器仅适用于二分类问题

二、线性可分支持向量机

1. 相关概念简介



支持向量(support vectors):上图中满足方程 wx+b=±1 的训练样本

超平面(hyperplane); wx+b=0

间隔(margin):两个异类支持向量到超平面的距离 γ=2∥w∥

目标:找到最大化间隔划分的超平面

2. 算法三要素及评价指标

决策函数:f(x)=sign(WTx+b),符号确定了分类正确性,大小决定了分类可靠度

目标函数:间隔最大化



参数学习算法

使用拉格朗日乘子法转换成其对偶问题来求偏导得参数 W 和 b (未定)

然后将参数带入拉格朗日函数中求得拉格朗日乘子(α),最终确定参数的值W 和 b

训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关,因为(αi=0,此时该样本不会出现在参数 W 和 b 中) 或者(αi>0yif(xi)=1,此时该样本为支持向量,可由此推出参数 b 的值)



评价指标

可用一个样本
距离分离超平面的远近
来表示分类预测的可靠程度

一个样本距离分离超平面越远,则该样本的分类越可靠;反之,越不可靠

3. 举例



三、线性支持向量机

1. 相关概念介绍

对每个样本点引入一个松弛变量 ξ⩾0:表征该样本不满足约束的程度,可用
hinge loss
表示 lhinge(z)=max(0,1−z)

软间隔:引入松弛变量,放宽约束条件 yi(WTx+b)⩾1 为 yi(WTx+b)⩾1−ξ,此时支持向量可能落在最大间隔边界上、最大间隔内部或者被错误分类

针对目标函数引入正则化参数 C:限制容错量的大小,当 C 取很大值时,会迫使所有样本均满足约束,C 取有限值时,允许有一些样本不满足约束

2. 算法三要素

决策函数:f(x)=sign(WTx+b),符号确定了分类正确性,大小决定了分类可靠度

目标函数:间隔最大化,加入松弛变量和正则化参数



参数学习算法

使用拉格朗日乘子法转换成其对偶问题来求偏导得参数 W、b 和 ξ (未定)

然后将参数带入拉格朗日函数中求得拉格朗日乘子(α),最终确定参数的值W 和 b

软间隔与硬间隔下对偶问题的唯一不同是
对偶变量的约束不同
:前者是0⩽αi⩽C,后者是0⩽αi



四、非线性支持向量机

可以使用核函数,将原始输入空间映射到新的特征空间,从而使原本线性不可分的样本在核空间变得线性可分

常用的核函数如下图所示:



经验:对文本数据通常采用线性核(属性空间维度很高),情况不明时,可先尝试高斯核

五、SVM 实践

1、SVM 和 logistic regression 选用



2. 代码实践(待扩展……)

六、参考资料

1、机器学习系列(13)_SVM碎碎念part1:间隔

2、Udacity 监督学习算法小结(3):支持向量机

3、scikit-learn svm

4、机器学习(周志华)

5、机器学习(Andrew NG)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: