Spark机器学习系列之13: 支持向量机SVM
Posted 千寻千梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark机器学习系列之13: 支持向量机SVM相关的知识,希望对你有一定的参考价值。
支持向量机系列学习笔记包括以下几篇:
Spark机器学习系列之13: 支持向量机SVM :http://blog.csdn.net/qq_34531825/article/details/52881804
支持向量机学习之2:核函数http://blog.csdn.net/qq_34531825/article/details/52895621
支持向量机学习之3:SVR(回归)http://blog.csdn.net/qq_34531825/article/details/52891780
C−SVM 基本公式推导过程
理论部分:SVM涉及的理论知识非常繁杂了,大家直接看:
支持向量机通俗导论(理解SVM的三层境界) http://blog.csdn.net/v_july_v/article/details/7624837
下面摘抄一小部分内容(不考虑推导细节的话,基本上能理解C-SVM方法推导的整个流程).
对偶问题(包括KKT条件)在SVM起到很重要的作用,如果对此不很了解,则难以理解SVM推导过程。关于对偶分析,可以参考我的另一篇文章:http://blog.csdn.net/qq_34531825/article/details/52872819) 。
核函数部分可以参考http://blog.csdn.net/qq_34531825/article/details/52895621。
我们用一个超平面划分图中对图中的两类数据进行分类,超平面写成
f(x)=wTx+b=0
,在线性可分的情况下,我们能找到一些支持向量,满足
|wTx+b|=1
。
如何理解这一点呢?如果我们找到一个 (w,b) 来表达超平面 f(x)=wTx+b=0 ,那么通过缩放,相当于找到了无数个 (λ∗w,λ∗b),λ不等于0即可 ,都可以等价的来表达这个超平面,比如说 f(x)=3x1+4x2−2x3+6=0 和 f(x)=1.5x1+2x2−x3+3=0 表示一模一样的超平面,也就是说我们通过缩放(w,b),总能使得里超平面两侧最近的距离相等的这些支持向量(support vectors)满足 |f(xi)|=|wTxi+b|=1 ,以达到简化问题的目的。
对一个数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度(confidence)也越大。所以,为了使得分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值。这个间隔如下图中的
Gap2
所示。
从解析几何的角度可以证明
xi
点离超平面方程
wTx+b=0
的距离为:
以上是关于Spark机器学习系列之13: 支持向量机SVM的主要内容,如果未能解决你的问题,请参考以下文章
SVM 支持向量机算法(Support Vector Machine )Python机器学习系列(十四)