机器学习(3):支持向量机(SVM)

1. 背景:
     1.1 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出
     1.2 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表
     1.3 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法
 
2. 机器学习的一般框架:
     训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树,KNN)=>得到结果

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

4. 定义与公式建立
       
    超平面可以定义为:WX+b          
               W: 权重 , n是特征值的个数
               X: 训练实例
               b: bias
5. 求解:
6. 实例:
 
 
7. SVM优点:
     1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太容易产生overfitting
     1.2 SVM训练出来的模型完全依赖于支持向量(Support Vectors), 即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。
     1.3 一个SVM如果训练得出的支持向量个数比较小,SVM训练出的模型比较容易被泛化。
 
线性不可分的情况:
 
 
原文地址:https://www.cnblogs.com/Allen-rg/p/6501403.html