1 背景

最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 
目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 
深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法

2 机器学习的一般框架

训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树,KNN)=>得到结果

3 介绍

3.1 例子 
这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第1张 
两类?哪条线最好?

3.2 SVM寻找区分两类的超平面(hyper plane), 使边际(margin)最大 
这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第2张

总共可以有多少个可能的超平面?无数条 
如何选取使边际(margin)最大的超平面 (Max Margin Hyperplane)? 
超平面到一侧最近点的距离等于到另一侧最近点的距离,两侧的两个超平面平行

4 线性可区分(linear separable)和线性不可区分(linear inseparable)

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第3张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第4张 
以上3张图均为线性不可区分,我们后续的课程会讨论,现在只关注线性可区分。

5 定义与公式建立

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第5张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第6张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第7张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第8张

6 求解

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第9张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第10张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第11张

7 例子

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第12张

这里写图片描述 [机器学习]机器学习笔记整理08- SVM算法原理及实现 AI教程 第13张


代码简单实现

from sklearn import svm


x = [[2, 0], [1, 1], [3, 3],[2,6]]y = [0, 0, 1,2]
clf = svm.SVC()
clf.fit(x, y)print clf

# get support vectorsprint clf.support_vectors_
# get indices of support vectorsprint clf.support_
# get number of support vectors for each classprint clf.n_support_12345678910111213141516

##输出结果

SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape=None, degree=3, gamma='auto', kernel='rbf'
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)[[ 2.  0.]
 [ 1.  1.]
 [ 3.  3.]
 [ 2.  6.]][0 1 2 3]
[2 1 1]