支持向量机(SVM)的原理推导及解释

Posted Spuer_Tiger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机(SVM)的原理推导及解释相关的知识,希望对你有一定的参考价值。

支持向量机(SVM)的原理推导及解释

支持向量机的本质:选出最优的分类超平面(标准:离超平面最近距离的样本点最远的超平面)。
假定超平面方程 W T x + b = 0 \\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b}=0 WTx+b=0,则样本数据点x到该超平面的距离表示为: ∣ W T x + b ∣ |\\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b}| WTx+b。而判断 W T x + b \\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b} WTx+b与标记y符号是否一致得到分类结果:一致,分类正确;否则,分类错误。

于是,我们采用 y ( W T x + b ) \\mathbf{y}\\left( \\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b} \\right) y(WTx+b)替代 ∣ W T x + b ∣ |\\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b}| WTx+b表示样本点到超平面的距离。【当然,这里会有读者思考,如果分类错误,则 y ( W T x + b ) \\mathbf{y}\\left( \\mathbf{W}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{b} \\right) y(WTx+b)为负值,没错,我们假定所有的分类标签都是正确的->找到最优的超平面。】

函数距离 d i = y i ( w T x i + b ) \\mathbf{d}_{\\mathbf{i}}=\\mathbf{y}_{\\mathbf{i}}\\left( \\mathbf{w}^{\\mathbf{T}}\\mathbf{x}_{\\mathbf{i}}+\\mathbf{b} \\right) di=yi(wTxi+b) (i为第i个样本点),而样本总数据集D的函数间隔d定义为D中所有样本数据点到超平面的最小函数间隔值, d = min ⁡ d i \\mathbf{d}=\\min \\mathbf{d}_{\\mathbf{i}} d=mindi

但是,函数间隔也存在明显的缺点:若同比例缩放其参数向量w和偏置量b,会改变间隔di的取值。 s ∗ w T x + s ∗ b = 0 \\mathbf{s}*\\mathbf{w}^{\\mathbf{T}}\\mathbf{x}+\\mathbf{s}*\\mathbf{b}=0 swTx+sb=0 d i = s ∗ y i ( w T x i + b ) \\mathbf{d}_{\\mathbf{i}}=\\mathbf{s}*\\mathbf{y}_{\\mathbf{i}}\\left( \\mathbf{w}^{\\mathbf{T}}\\mathbf{x}_{\\mathbf{i}}+\\mathbf{b} \\right) di=syi(wTxi+b),超平面的方向由w决定,位置由w、x和b决定,这里超平面的方向位置不变,但是di却发生了变化。于是,我们引入了几何间隔:
d i _ g = y i ( w T x i + b ) ∣ ∣ w ∣ ∣ = d i ∣ ∣ w ∣ ∣ \\mathbf{d}_{\\mathbf{i}\\_g}=\\frac{\\mathbf{y}_{\\mathbf{i}}\\left( \\mathbf{w}^{\\mathbf{T}}\\mathbf{x}_{\\mathbf{i}}+\\mathbf{b} \\right)}{||\\mathbf{w}||}=\\frac{\\mathbf{d}_{\\mathbf{i}}}{||\\mathbf{w}||} di_g=wyi(wTxi+b)=wdi

1.线性可分支持向量机(linear support vector machine in linearly separable case)

  • 核心:硬间隔最大化(hard margin maximization)

  • 数据对象:线性可分数据

  • 要求:必须所有的正例和负例分类标签正确(超平面受边界数据影响大)

  • 寻找参数w和b,使得D中所有样本数据点到超平面的最小函数间隔值d最大(这里设定d=1)。

  • 求解问题如下: max ⁡ w , b 1 ∣ ∣ w ∣ ∣    s . t . y i ( w T x i + b ) ⩾ 1 , i = 1 , 2.... n 转换 为 : min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2    s . t . y i ( w T x i + b ) − 1 ⩾ 0 , i = 1 , 2.... n \\text{求解问题如下:} \\\\ \\underset{\\mathbf{w},\\mathbf{b}}{\\max}\\frac{1}{||\\mathbf{w}||}\\,\\, \\\\ \\mathbf{s}.\\mathbf{t}. \\mathbf{y}_{\\mathbf{i}}\\left( \\mathbf{w}^{\\mathbf{T}}\\mathbf{x}_{\\mathbf{i}}+\\mathbf{b} \\right) \\geqslant 1,\\mathbf{i}=1,2....\\mathbf{n} \\\\ \\text{转换}为\\text{:} \\\\ \\underset{\\mathbf{w},\\mathbf{b}}{\\min}\\frac{1}{2}||\\mathbf{w}||^2\\,\\, \\\\ \\mathbf{s}.\\mathbf{t}. \\mathbf{y}_{\\mathbf{i}}\\left( \\mathbf{w}^{\\mathbf{T}}\\mathbf{x}_{\\mathbf{i}}+\\mathbf{b} \\right) -1\\geqslant 0,\\mathbf{i}=1,2....\\mathbf{n} 求解问题如下:w,bmaxw1s.t.yi(wTxi+b)1,i=1,2....n转换w,bmin21w2s.t.yi(wTxi+b)10,i=1,2....n

  • 对于约束优化问题: min ⁡ f ( x ) s . t . g j ( x ) ⩽ 0 , j = 1 , 2 , . . . , m 若 f ( x ) 和 g j ( x ) 都 为 凸函数,则此问题 为 凸规划。 \\text{对于约束优化问题:} \\\\ \\min \\mathbf{f}\\left( \\mathbf{x} \\right) \\\\ \\mathbf{s}.\\mathbf{t}. \\mathbf{g}_{\\mathbf{j}}\\left( \\mathbf{x} \\right) \\leqslant 0,\\mathbf{j}=1,2,...,\\mathbf{m} \\\\ \\text{若}\\mathbf{f}\\left( \\mathbf{x} \\right) \\text{和}\\mathbf{g}_{\\mathbf{j}}\\left( \\mathbf{x} \\right) \\text{都}为\\text{凸函数,则此问题}为\\text{凸规划。} 对于约束优化问题:minf(x)s.t.gj(x)0,j=1,2,...,mf(x)gj(x)凸函数,则此问题凸规划。

  • 凸规划的性质: 1. 若给定一点 x 0 ,则集合 R = { x ∣ f ( x ) ⩽ f ( x 0 ) } 为 凸集。 2. 可行域 R = { x ∣ g j ( x ) ⩽ 0 , j = 1 , 2 , . . . , m } 为 凸集合。 3. 凸规划的任何 局 部最优解就 是 全 局 最优解。 \\text{凸规划的性质:} \\\\ 1.\\text{若给定一点}\\mathbf{x}_0\\text{,则集合}\\mathbf{R}=\\left\\{ \\mathbf{x}|\\mathbf{f}\\left( \\mathbf{x} \\right) \\leqslant \\mathbf{f}\\left( \\mathbf{x}_0 \\right) \\right\\} 为\\text{凸集。} \\\\ 2.\\text{可行域}\\mathbf{R}=\\left\\{ \\mathbf{x}|\\mathbf{g}_{\\mathbf{j}}\\left( \\mathbf{x} \\right) \\leqslant 0,\\mathbf{j}=1,2,...,\\mathbf{m} \\right\\} 为\\text{凸集合。} \\\\ 3.\\text{凸规划的任何}局\\text{部最优解就}是\\text{全}局\\text{最优解。} 凸规划的性质:1.若给定一点x0,则集合R={xf(x)f(x0)}SVM支持向量机原理及代码实现

    入门支持向量机1:图文详解SVM原理与模型数学推导

    支持向量机算法

    支持向量机

    支持向量机(SVM)基本原理

    通俗易懂的解释支持向量机