3.SVM(支持向量机)
https://wizardforcel.gitbooks.io/dm-algo-top10/content/svm-1.html
一、什么是支持向量机(SVM)?
1、支持向量机(Support Vector Machine,常简称为SVM)是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析。支持向量机属于一般化线性分类器,这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器。

2、支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。

SVM算法的实质是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的最小距离。这个最小距离用SVM术语来说叫做间隔(margin) 。
优化条件:
图片说明
这是一个拉格朗日优化问题可以通过拉格朗日乘数法得到最优超平面的权重向量W和偏置 b 。
图片说明

图片说明

1、咱们就要确定上述分类函数f(x) = w.x + b(w.x表示w与x的内积)中的两个参数w和b,通俗理解的话w是法向量,b是截距;
2.用拉格朗日优化问题,最后转化为,对偶因子的求解。

一、核函数的引入
问题1:
SVM显然是线性分类器,但数据如果根本就线性不可分怎么办?
解决方案1:
数据在原始空间(称为输入空间)线性不可分,但是映射到高维空间(称为特征空间)后很可能就线性可分了。
问题2:
映射到高维空间同时带来一个问题:在高维空间上求解一个带约束的优化问题显然比在低维空间上计算量要大得多,这就是所谓的“维数灾难”。
解决方案2:
于是就引入了“核函数”,核函数的价值在于它虽然也是讲特征进行从低维到高维的转换。