SVM - 基础知识篇

  • 基础知识篇:
  • 转:支持向量机(SVM)是什么意思? (挺好玩,又超简单的解释)
  • 转:【直观详解】支持向量机SVM
  • :SVM with polynomial kernel visualization (07年的视频,一针见血)
  • 转:机器学习技法 Machine Learning Techniques (看了几遍,感觉很舒畅)
  • 下一张图片转自知乎用户:靠靠靠谱
  • SVM - 基础知识篇_第1张图片

  • 数学自己推导篇(方便自己复习使用)
  1. SVM线性
  2. SVM对偶
  3. SVM Kernel


  • SVM线性
  • 推导思路:
  1. 点到平面最大化距离公式 
  2. 向量投影公式
  3. Hard-margin同侧去除绝对值 
  4. 超平面公式线性缩放简化max margin为|w|的倒数 
  5. 放宽条件为≥1(此处反证法可证明条件放宽后,最大化值落入原来区间) 
  6. 求解(典型二次规划问题) 
  7. 求出4个系数,解出b,w
  8.    代入得到分类平面

SVM - 基础知识篇_第2张图片

  • SVM对偶
  • 引言:
  1. 使用SVM得到large-margin,减少了有效的VC Dimension,限制了模型复杂度;另一方面,使用特征转换,目的是让模型更复杂,减小Ein。所以说,非线性SVM是把这两者目的结合起来,平衡这两者的关系
  2. 特征转换下,求解QP问题在z域中的维度设为d^+1,如果模型越复杂,则d^+1越大,相应求解这个QP问题也变得很困难。当d^无限大的时候,问题将会变得难以求解
  3. 解决思路:先引入拉格朗日因子,求解目标转换为对偶问题,由弱对偶问题→强对偶问题,梯度下降求解无条件极值问题,引出KKT条件,求解,over。

推导思路:

  1. 有条件转无条件,引入α(α≥0)拉格朗日因子 
  2. 正确理解min(max)到max(min) 
  3. (凸函数&函数有解&条件线性)弱对偶转换为强对偶(≥符号可以用=替换) 
  4. 用梯度下降法对w,对b求偏导,再代回原式,得到只与α相关的最大化公式 
  5. 同时得到KKT条件(3个) 
  6. 求解问题 
  7. max转min,公式表面上与Z域维度d^无关,只与变量个数有关N(其实维度d^暗藏在求解qn,m=ynymzTnzm之中) 
  8. QP问题 
  9. 求解α后,利用KKT条件接触w与b 
  10. 得到Dual SVM分类平面

SVM - 基础知识篇_第3张图片

  • SVM Kernel
  • 引言:
  1. 因为求解二次规划问题QP中,需要已知4个参数,其中qn,m=ynymzTnzm的zTnzm由x空间转换到Z空间而来,
  2. zTnzm=Φ(xn)Φ(xm),分为2个步骤:先转换再计算内积,出现复杂度问题,试想x若为1万维度,先得转换1万次,然后进行1万次内积,计算复杂
  3. 引入Kernel技法,Φ2(x)Φ2(x′)的内积的复杂度由原来的O(d平方)变成O(d)
推导思路:

  1. 二阶多项式转换,由X{x}一维转到二维,引出kernel形式
  2. Dual SVM中应用kernel,得到qn,m=ynymK(xn,xm)
  3. 进而求解α
  4. 求出α后,求解w与b
  5. 得到dual SVM的分类平面
  6. 在Polynomial Kernel SVM中 先通过式子变换导出常用的二次kernel,
  7. 然后通过归纳法,引入ζ≥0和γ>0,介绍Q次多项式一般的kernel形式,得到Polynomial Kernel
  8. 因为Q阶乘多项式的阶数是有限的,引入Gaussian Kernel核函数,高斯函数内隐含了无线多维的转换Φ(x),同样通常我们也把高斯核函数称为径向基函数(Radial Basis Function, RBF),得到Gaussian Kernel 
  9. 对比3中核函数优缺点

SVM - 基础知识篇_第4张图片





你可能感兴趣的:(机器学习实战代码实现,SVM学习)