机器学习——支持向量机

支持向量机 Support Vector Machine

前情提要

  • 95 年首先提出
  • 是一种统计识别方法,二分类问题上有很大应用。

过学习问题

根据统计学习理论,学习机器的实际风险由经验风险值和置信风险值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小误差,没有最小化置信范围值,因此其泛化能力较差。

支持向量机是一种基于统计学习理论的模式识别方法,主要应用于模式识别领域。

基本思想是在样本空间或特征空间构造出最优超平面,使得超平面与不同类样本集之间的距离最大,从而达到最大的泛化能力。

支持向量机可以做什么

手写体的识别 LeNe 、多项式 SVM

性别判断

(温习机器学习一般流程)

(温习评价指标:查全率、查重率、ROC 曲线)

支持向量机基本原理

SVM 是在两类线性可分情况下,获得最优分类面问题中提出的。

  • 分类间隔:假设\(H\)表示分类线,\(H_1,H_2\)使两条平行于分类线\(H\)的支线,并且他们分别过每类离分类线\(H\)最近的样本,\(H1\)\(H2\)之间的距离叫做分类间隔(margin)。 Margin 越大,对新样本的分类(抗干扰)能力越强。

线性判别函数和判别面

  • 一个线性判别函数是指由\(x\)的各个分量的线性组合而成的函数

    \[g(x) = w^T x + w_0\]

  • 两类情况:对于两类问题 的决策规则为:

    • \(g(x)>0\),判定为\(C_1\)
    • \(g(x)<0\),判定为\(C_2\)
    • \(g(x)==0\),边界拒绝分类。
  • 方程\(g(x)= 0\)定义了一个判别面,把归类于\(C_1\)的点与\(C_2\)的点分开来。
  • \(g(x)\)是线性函数时,这个平面被称为“超平面”(hyperplane)
  • \(x_1,x_2\)都在判定面上时

    \[w^Tx_1 = w^Tx_2\] \[w^T(x_1 - x_2) = 0\]

    说明超平面上任意向量均与法向量正交。

硬间隔和支持向量

SVM 分类问题大致有三种:线性可分问题、近似线性可分问题、线性不可分问题。

对应支持向量机包含由简至繁的三种模型:

  • 线性可分支持向量机:当数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,也称硬间隔支持向量机
  • 线性支持向量机:当数据近似线性可分,通过软间隔使
  • 非线性支持向量机:

关键点

\(\min \dfrac{1}{2} | w^2 | , y^{(i)}(w^T+ b ) \ge 1\)

对偶问题

  • 函数间隔
  • 几何间隔

相差是一个I2范式

基本想法,找到一个超平面使几何间隔最大化

几何间隔最大化确定的超平面是唯一的,在此不做证明。

求法:

变换几何间隔到函数间隔,最大化转最小化