目录

  • 线性可分支持向量机
    • 模型公式
    • 函数间隔与几何间隔
      • 函数间隔
      • 几何间隔
      • 间隔关系
    • 优化算法
    • 支持向量
  • 线性支持向量机
    • 问题定义
    • 折页损失
  • 非线性支持向量机
    • 问题定义
    • 特征变换
    • 核函数
      • 多项式核函数与高斯核函数

对于支持向量机的内容,应当从简单到复杂依次学习:

  • 线性可分支持向量机
  • 线性支持向量机
  • 非线性支持向量机

线性可分支持向量机

模型公式

线性可分支持向量机为:
f(x)=sign(wx+b)f(x)=sign(wx+b)f(x)=sign(wx+b)
x∈Rn,w∈Rn,b∈Rx\in R^{n},w\in R^{n},b\in Rx∈Rn,w∈Rn,b∈R
实际上,线性可分支持向量机的模型表达式和感知机是一样的,只不过对于模型参数的求解方式不一样,导致模型的泛化性能也不一样。

感知机利用误分类损失最小的策略得到分离超平面,线性可分支持向量机利用间隔最大化的策略得到分离超平面。线性可分支持向量机只适合处理线性可分数据集

线性可分支持向量机的模型公式比较简单,重点在于通过间隔最大化来推导相应的模型优化算法,所以先了解一下函数间隔与几何间隔的概念

函数间隔与几何间隔

函数间隔

定义样本点(xi,yi)(x_{i},y_{i})(xi​,yi​)到超平面 wx+b=0wx+b=0wx+b=0 的函数间隔为:
γ^i=yi(wxi+b)\widehat{\gamma }_{i}=y_{i}(wx_{i}+b)γ​i​=yi​(wxi​+b)
其中 www 和 bbb 是模型参数,当样本点 (xi,yi)(x_{i},y_{i})(xi​,yi​) 被超平面正确分类时,函数间隔取值为正;当样本点 (xi,yi)(x_{i},y_{i})(xi​,yi​) 被超平面分错时,函数间隔取值为负;比如:

图中的三个样本点和感知机中的案例保持一致:[3,3][3,3][3,3]、[4,3][4,3][4,3] 为正样本,标记为红色;[1,1][1,1][1,1]为负样本,标记为绿色。x1+x2−4=0x_{1}+x_{2}-4=0x1​+x2​−4=0 是分离超平面。现在计算一下每个样本点到超平面的函数间隔:
γ^[3,3]=1×(3+3−4)=2\widehat{\gamma }_{[3,3]}=1\times (3+3-4)=2γ​[3,3]​=1×(3+3−4)=2
γ^[4,3]=1×(4+3−4)=3\widehat{\gamma }_{[4,3]}=1\times (4+3-4)=3γ​[4,3]​=1×(4+3−4)=3
γ^[1,1]=−1×(1+1−4)=2\widehat{\gamma }_{[1,1]}=-1\times (1+1-4)=2γ​[1,1]​=−1×(1+1−4)=2
由上面的计算结果可知:3个样本点的函数间隔都是正的,表明超平面将每个样本点都完全正确地分开了。当分离超平面的表达式固定时,离超平面越远的样本点,其函数间隔的绝对值就越大;

定义训练数据集 TTT 到超平面 wx+b=0wx+b=0wx+b=0 的函数间隔为:
γ^=min{γ^i}=min{yi(wxi+b)},i∈{1,2,...,N}\widehat{\gamma }=min\left \{ \widehat{\gamma }_{i}\right \}=min\left \{ y_{i}(wx_{i}+b)\right \},i\in \left \{ 1,2,...,N \right \}γ​=min{γ​i​}=min{yi​(wxi​+b)},i∈{1,2,...,N}
其中,NNN为训练集的样本数量,在上面的例子中,训练数据集共有3个样本点,每个样本点的函数间隔分别为 :2,3,2。所以训练数据集 TTT 的函数间隔为样本函数间隔的最小值 2

几何间隔

定义样本点 (xi,yi)(x_{i},y_{i})(xi​,yi​) 到超平面 wx+b=0wx+b=0wx+b=0 的几何间隔为:
γi=γ^i∣∣w∣∣2=yi(wxi+b)∣∣w∣∣2\gamma_{i}=\frac{\widehat{\gamma }_{i}}{||w||_{2}}=\frac{y_{i}(wx_{i}+b)}{||w||_{2}}γi​=∣∣w∣∣2​γ​i​​=∣∣w∣∣2​yi​(wxi​+b)​
简言之就是,在函数间隔的基础上除以模型权值向量的 L2 范数;继续看之前的例子:
w=[1,1]⇒∣∣w∣∣2=12+12=2w=[1,1]\Rightarrow ||w||_{2}=\sqrt{1^{2}+1^{2}}=\sqrt{2}w=[1,1]⇒∣∣w∣∣2​=12+12​=2​
γ[3,3]=22,γ[4,3]=32,γ[1,1]=22\gamma_{[3,3]}=\frac{2}{\sqrt{2}},\gamma_{[4,3]}=\frac{3}{\sqrt{2}},\gamma_{[1,1]}=\frac{2}{\sqrt{2}}γ[3,3]​=2​2​,γ[4,3]​=2​3​,γ[1,1]​=2​2​
定义训练数据集 TTT 到超平面 wx+b=0wx+b=0wx+b=0 的几何间隔为:
γ=min{γi}=min{yi(wxi+b)∣∣w∣∣2},i∈{1,2,...,N}\gamma=min\left \{ \gamma_{i}\right \}=min\left \{ \frac{y_{i}(wx_{i}+b)}{||w||_{2}}\right \},i\in \left \{ 1,2,...,N \right \}γ=min{γi​}=min{∣∣w∣∣2​yi​(wxi​+b)​},i∈{1,2,...,N}
据此定义,上面的例子中训练数据集 TTT 的几何间隔为样本几何间隔的最小值:2\sqrt{2}2​


函数间隔与几何间隔是一种带符号的距离


间隔关系

函数间隔和几何间隔的关系如下:
γ=γ^∣∣w∣∣2\gamma=\frac{\widehat{\gamma }}{||w||_{2}}γ=∣∣w∣∣2​γ​​
由此可知,无论是样本范畴还是训练集的范畴,当权值向量的 L2 范数为 1 时,函数间隔等于几何间隔

优化算法

线性可分支持向量机是通过最大化训练集的几何间隔来得到模型参数的。几何间隔最大化可以转化为不等式约束条件下的目标函数最小化问题。下面先来看一下带约束条件的最小化问题:

其中,f(x)f(x)f(x) 是目标函数,第一行式子表达的含义是:通过调整自变量 xxx 的取值使得目标函数取到最小值;s.t.s.t.s.t.是subject to的缩写,翻译为:受限于 ... 的条件。s.t.s.t.s.t. 后面是最优化问题的约束条件,这里列出了两个约束条件,一个是不等式约束,另一个是等式约束。

线性可分支持向量机的原始最优化问题其实是不等式约束条件下的目标函数最小化问题。下面将通过几何间隔最大化推导出该问题的具体形式;

线性可分支持向量机模型的参数学习策略是最大化训练集数据与超平面的几何间隔,直观地也可以理解:离超平面最近的样本点要尽可能离超平面远一些,这样其他的样本点被分类正确的置信度会更高,对于新的样本点也会有更好的分类预测能力。比如例子:

图中的 x1=2x_{1}=2x1​=2,(1×x1+0×x2−2=0)(1\times x_{1}+0\times x_{2}-2=0)(1×x1​+0×x2​−2=0) 是将正负样本点完全正确地分开的一个分离超平面,离它最近的两个样本点是 [1,1][1,1][1,1] 和 [3,3][3,3][3,3],这两个样本点到超平面的几何间隔为 1。但这个超平面并不是训练集几何间隔最大的分离超平面,下面继续看这个例子:

图中 x1+x2−4=0x_{1}+x_{2}-4=0x1​+x2​−4=0 是使训练集几何间隔最大的分离超平面,其中 [1,1][1,1][1,1] 和 [3,3][3,3][3,3] 是离超平面最近的样本点,几何间隔为2\sqrt{2}2​;

从上面两幅图的变化可知,线性可分支持向量机的模型优化过程是找到一个超平面 (w,b)(w,b)(w,b),使训练集到超平面的几何间隔最大,用数学公式表示为:
max{w,b}γmax_{\left \{w,b\right\}}\gammamax{w,b}​γ
s.t.γi≥γ,i∈{1,2,...,N}s.t.\gamma_{i}\geq\gamma,i\in \left \{ 1,2,...,N \right \}s.t.γi​≥γ,i∈{1,2,...,N}
公式中的目标函数是训练集 TTT 到超平面 wx+b=0wx+b=0wx+b=0 的几何间隔,由于训练数据是已知的,所以目标函数是关于模型参数 www 和 bbb 的函数;公式的第二行是最优化问题的约束条件,意思是每个样本点到超平面的几何间隔至少为 γ\gammaγ;

根据几何间隔与函数间隔的关系式,将上述最优化问题转化为如下形式:
max{w,b}γ^∣∣w∣∣2max_{\left \{w,b\right\}}\frac{\widehat{\gamma}}{||w||_{2}}max{w,b}​∣∣w∣∣2​γ​​
s.t.γ^i∣∣w∣∣2≥γ^∣∣w∣∣2,i∈{1,2,...,N}s.t.\frac{\widehat{\gamma}_{i}}{||w||_{2}}\geq\frac{\widehat{\gamma}}{||w||_{2}},i\in \left \{ 1,2,...,N \right \}s.t.∣∣w∣∣2​γ​i​​≥∣∣w∣∣2​γ​​,i∈{1,2,...,N}
化简约束条件:
max{w,b}γ^∣∣w∣∣2max_{\left \{w,b\right\}}\frac{\widehat{\gamma}}{||w||_{2}}max{w,b}​∣∣w∣∣2​γ​​
s.t.γ^i≥γ^,i∈{1,2,...,N}s.t.\widehat{\gamma}_{i}\geq\widehat{\gamma},i\in \left \{ 1,2,...,N \right \}s.t.γ​i​≥γ​,i∈{1,2,...,N}
将样本函数间隔的表达式代入约束条件:
max{w,b}γ^∣∣w∣∣2max_{\left \{w,b\right\}}\frac{\widehat{\gamma}}{||w||_{2}}max{w,b}​∣∣w∣∣2​γ​​
s.t.yi(wxi+b)≥γ^,i∈{1,2,...,N}s.t.y_{i}(wx_{i}+b)\geq\widehat{\gamma},i\in \left \{ 1,2,...,N \right \}s.t.yi​(wxi​+b)≥γ​,i∈{1,2,...,N}
到目前,训练集到超平面的函数间隔不是很明确,所以需要对问题的形式做进一步的转化,通过同比例缩放消除目标函数以及约束条件中的函数间隔:

  • 对于目标函数:将分子和分母同时除以函数间隔,分值(几何间隔)不变;
  • 对于约束条件:不等式两边同时除以函数间隔,不等式关系不变;

函数间隔归一化后为:
max{w,b}1∣∣w∣∣2max_{\left \{w,b\right\}}\frac{1}{||w||_{2}}max{w,b}​∣∣w∣∣2​1​
s.t.yi(wxi+b)≥1,i∈{1,2,...,N}s.t.y_{i}(wx_{i}+b)\geq1,i\in \left \{ 1,2,...,N \right \}s.t.yi​(wxi​+b)≥1,i∈{1,2,...,N}
当看到这个式子时会发现:函数间隔除以自身变为 1 没有问题,但目标函数的分母部分和约束条件的左侧怎么还是原来的形式?

其实现在的 www 和 bbb 表示的是缩放后 www 和 bbb,两种情况下的 www 和 bbb 对应同一个超平面,比如 x1+x2−4=0x_{1}+x_{2}-4=0x1​+x2​−4=0 与 0.5x1+0.5x2−2=00.5x_{1}+0.5x_{2}-2=00.5x1​+0.5x2​−2=0 指的是同一个超平面;

替换目标函数,将原问题转化为带约束条件的最小化问题:
min{w,b}12∣∣w∣∣22min_{\left \{w,b\right \}}\frac{1}{2}||w||_{2}^{2}min{w,b}​21​∣∣w∣∣22​
s.t.−yi(wxi+b)+1≤0,i∈{1,2,...,N}s.t.-y_{i}(wx_{i}+b)+1\leq0,i\in \left \{ 1,2,...,N \right \}s.t.−yi​(wxi​+b)+1≤0,i∈{1,2,...,N}
通过构造拉格朗日函数得到问题的解:
L(w,b,a)=12∣∣w∣∣22+∑i=1Nαi(1−yi(wxi+b))L(w,b,a)=\frac{1}{2}||w||_{2}^{2}+\sum_{i=1}^{N}\alpha_{i}(1-y_{i}(wx_{i}+b))L(w,b,a)=21​∣∣w∣∣22​+i=1∑N​αi​(1−yi​(wxi​+b))
αi≥0,−yi(wxi+b)+1≤0,i∈{1,2,...,N}\alpha_{i}\geq0,-y_{i}(wx_{i}+b)+1\leq0,i\in \left \{1,2,...,N\right\}αi​≥0,−yi​(wxi​+b)+1≤0,i∈{1,2,...,N}
其中,α\alphaα为拉格朗日乘子;

先关于α\alphaα最大化拉格朗日函数 max{α}L(w,b,a)max_{\left \{\alpha\right \}}L(w,b,a)max{α}​L(w,b,a) 得到问题的解集合,在该解集合内关于w,bw,bw,b最小化得到问题的解:
min{w,b}max{α}L(w,b,a)=min{w,b}12∣∣w∣∣22min_{\left \{w,b\right \}}max_{\left \{\alpha\right \}}L(w,b,a)=min_{\left \{w,b\right \}}\frac{1}{2}||w||_{2}^{2}min{w,b}​max{α}​L(w,b,a)=min{w,b}​21​∣∣w∣∣22​
αi≥0,−yi(wxi+b)+1≤0,i∈{1,2,...,N}\alpha_{i}\geq0,-y_{i}(wx_{i}+b)+1\leq0,i\in \left \{1,2,...,N\right\}αi​≥0,−yi​(wxi​+b)+1≤0,i∈{1,2,...,N}
原始问题为min{w,b}max{α}L(w,b,a)min_{\left \{w,b\right \}}max_{\left \{\alpha\right \}}L(w,b,a)min{w,b}​max{α}​L(w,b,a),对偶问题为max{α}min{w,b}L(w,b,a)max_{\left \{\alpha\right \}}min_{\left \{w,b\right \}}L(w,b,a)max{α}​min{w,b}​L(w,b,a),当拉格朗日函数求和项的各部分均为 0 时(即αi(1−yi(wxi+b))=0\alpha_{i}(1-y_{i}(wx_{i}+b))=0αi​(1−yi​(wxi​+b))=0),原始问题和对偶问题有相同的最优值:

至此,问题变成:

将L(w,b,α)L(w,b,\alpha)L(w,b,α)展开得到:
L(w,b,α)=12∣∣w∣∣22+∑i=1Nαi(1−yi(wxi+b))L(w,b,\alpha)=\frac{1}{2}||w||_{2}^{2}+\sum_{i=1}^{N}\alpha_{i}(1-y_{i}(wx_{i}+b))L(w,b,α)=21​∣∣w∣∣22​+i=1∑N​αi​(1−yi​(wxi​+b))
=12∣∣w∣∣22−∑i=1Nαiyi(wxi)−∑i=1Nαiyib+∑i=1Nαi=\frac{1}{2}||w||_{2}^{2}-\sum_{i=1}^{N}\alpha_{i}y_{i}(wx_{i})-\sum_{i=1}^{N}\alpha_{i}y_{i}b+\sum_{i=1}^{N}\alpha_{i}=21​∣∣w∣∣22​−i=1∑N​αi​yi​(wxi​)−i=1∑N​αi​yi​b+i=1∑N​αi​
=12(ww)−∑i=1Nαiyi(wxi)−∑i=1Nαiyib+∑i=1Nαi=\frac{1}{2}(ww)-\sum_{i=1}^{N}\alpha_{i}y_{i}(wx_{i})-\sum_{i=1}^{N}\alpha_{i}y_{i}b+\sum_{i=1}^{N}\alpha_{i}=21​(ww)−i=1∑N​αi​yi​(wxi​)−i=1∑N​αi​yi​b+i=1∑N​αi​
关于w,bw,bw,b最小化目标函数L(w,b,α)L(w,b,\alpha)L(w,b,α),令相关参数的梯度为0:
∂L∂w=w−∑i=1Nαiyixi=0\frac{\partial L}{\partial w}=w-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}=0∂w∂L​=w−i=1∑N​αi​yi​xi​=0
∂L∂b=−∑i=1Nαiyi=0\frac{\partial L}{\partial b}=-\sum_{i=1}^{N}\alpha_{i}y_{i}=0∂b∂L​=−i=1∑N​αi​yi​=0
得到w=∑i=1Nαiyixiw=\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}w=∑i=1N​αi​yi​xi​与∑i=1Nαiyi=0\sum_{i=1}^{N}\alpha_{i}y_{i}=0∑i=1N​αi​yi​=0,将其代入L(w,b,α)L(w,b,\alpha)L(w,b,α)为:

现在,目标函数已经变成了拉格朗日函数关于(w,b)(w,b)(w,b)的最小值(目标函数中不含参数 www 和 bbb),下一步关于α\alphaα最大化目标函数:

目标函数转为最小化问题:
min{α}12∑i=1N∑j=1Nαiαjyiyj(xixj)−∑i=1Nαimin_{\left \{ \alpha \right \}}\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}x_{j})-\sum_{i=1}^{N}\alpha_{i}min{α}​21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​xj​)−i=1∑N​αi​
基于条件αi(1−yi(wxi+b))=0\alpha_{i}(1-y_{i}(wx_{i}+b))=0αi​(1−yi​(wxi​+b))=0,选择某个 αj>0\alpha_{j}>0αj​>0,则有:
1−yj(wxj+b)=01-y_{j}(wx_{j}+b)=01−yj​(wxj​+b)=0
由于 yjy_{j}yj​ 的平方为 1 ,令等式两边同时乘以 yjy_{j}yj​ 为:
yj−(wxj+b)=0y_{j}-(wx_{j}+b)=0yj​−(wxj​+b)=0
即有:
b=yj−wxj=yj−∑i=1Nαiyi(xixj)b=y_{j}-wx_{j}=y_{j}-\sum_{i=1}^{N}\alpha_{i}y_{i}(x_{i}x_{j})b=yj​−wxj​=yj​−i=1∑N​αi​yi​(xi​xj​)
算法流程总结为:

支持向量

通过参数解(w,b)(w,b)(w,b)可以确定间隔边界(两个超平面):
H1:w∗x+b∗=1,H2:w∗x+b∗=−1H_{1}:w^{*}x+b^{*}=1,H_{2}:w^{*}x+b^{*}=-1H1​:w∗x+b∗=1,H2​:w∗x+b∗=−1
支持向量是指距离超平面最近的样本特征向量,即间隔边界上的特征向量;

从条件αi(1−yi(wxi+b))=0\alpha_{i}(1-y_{i}(wx_{i}+b))=0αi​(1−yi​(wxi​+b))=0看出,线性可分支持向量机的模型参数通过训练集的每个样本和其对应的拉格朗日乘子计算而来,有多少个训练样本,就有多少个拉格朗日乘子;其中拉格朗日乘子大于零的样本特征向量就是支持向量

线性支持向量机

问题定义

现实世界中的数据大多是线性不可分的,这时就无法使用线性可分支持向量机的求解方式来得到模型参数,比如:

此时,新的样本数据集很难找到一个超平面将两类数据完全正确地分类,因此线性可分支持向量机的最优化算法也就不适用。

对于线性不可分的数据集,允许极少数的训练样本越过间隔边界甚至是分离超平面,这样可以解决线性不可分的问题,一定程度上也提升了模型的泛化能力。由此得到线性支持向量机的原始最优化问题:
min{w,b,ξ}12∣∣w∣∣22+C∑i=1Nξimin_{\left\{w,b,\xi\right\}}\frac{1}{2}||w||_{2}^{2}+C\sum_{i=1}^{N}\xi_{i}min{w,b,ξ}​21​∣∣w∣∣22​+Ci=1∑N​ξi​
s.t.yi(wxi+b)≥1−ξi,ξi≥0,i=1,2,...,Ns.t.y_{i}(wx_{i}+b)\geq1-\xi_{i},\xi_{i}\geq0,i=1,2,...,Ns.t.yi​(wxi​+b)≥1−ξi​,ξi​≥0,i=1,2,...,N
最小化的目标函数由两部分组成,第一部分是线性可分支持向量最小化的目标函数,第二部分是新加入的代价函数,其中系数 C>0C > 0C>0,称为惩罚系数;ξi\xi_{i}ξi​为松弛变量;

约束条件限制了样本函数间隔的下限:当松弛变量为 0 时,样本函数间隔的下限为 1 ;当松弛变量增大时,样本越过间隔边界被误分类的风险也会变大。惩罚系数 CCC 越大,最优化求解的松弛变量就越小;

类似线性可分支持向量机,线性支持向量机的算法流程为:

折页损失

合页损失是以函数间隔为自变量的函数,函数图像如下:

其中,当z>0z>0z>0时,[z]+=z[z]_{+}=z[z]+​=z,否则,[z]+=0[z]_{+}=0[z]+​=0;即:当函数间隔大于 1 时,折页损失为零,否则折页损失为 1−y(wx+b)1-y(wx+b)1−y(wx+b);

类似地,容易得到感知机的折页损失图像:

当函数间隔大于零时,感知机损失为零,否则感知机损失为 −y(wx+b)-y(wx+b)−y(wx+b);有了折页损失的定义,可以得到线性支持向量机的等价最优化问题
min{w,b}∑i=1N[1−yi(wxi+b)]++λ∣∣w∣∣22min_{\left\{w,b\right\}}\sum_{i=1}^{N}[1-y_{i}(wx_{i}+b)]_{+}+\lambda ||w||_{2}^{2}min{w,b}​i=1∑N​[1−yi​(wxi​+b)]+​+λ∣∣w∣∣22​
其中,目标函数的第一项为经验风险,第二项为正则化项,λ\lambdaλ 为正则化系数

非线性支持向量机

问题定义

非线性支持向量机用来解决非线性分类问题,本质是将特征向量映射到新的特征空间中,从而使得数据在新的特征空间中线性可分,然后利用线性支持向量机的方法求解模型参数;

如上图所示的二维特征空间中,正样本 [1,1]、[1.5,0.5]、[-1,1]、[-1.5,0.5]、[-1,-1]、[1,-1] 用红色标记;负样本 [0.5,0.5]、 [-0.5,0.5]、 [-0.5,-0.5]、 [0.5,-0.5] 用绿色标记;

很明显,无法找到一个超平面(直线)将正负样本分开;但却可以用一个超曲面(曲线)将正负样本正确地分开。因此,把这样的问题叫做非线性可分问题;

对于上面的例子,分离超曲面是一个单位圆,对应的分类模型如下:
f(x)=sign(x12+x22−1)f(x)=sign(x_{1}^{2}+x_{2}^{2}-1)f(x)=sign(x12​+x22​−1)
这个模型的表达式和线性支持向量机的形式是类似的,区别在于符号函数的输入量。直观地理解为:圆外的点被预测为正例,圆内的点被预测为负例;

实际二维特征空间中的超曲面可能是一个椭圆,也可能是其他的曲线。显然,需要先将非线性问题转化为线性问题,然后再利用线性支持向量机的方法进行求解

特征变换

对于每一个二维特征向量 xxx ,我们使用如下的映射函数将其转换为二维特征向量 zzz :
x=[x1,x2]T⇒z=ϕ(x)=[x12,x22]Tx=[x_{1},x_{2}]^{T}\Rightarrow z=\phi (x)=[x_{1}^{2},x_{2}^{2}]^{T}x=[x1​,x2​]T⇒z=ϕ(x)=[x12​,x22​]T
原来的样本点在新的特征空间中被转换成如下形式:


图中只能看到3个样本点,这是因为部分样本点经过特征变换之后,位置重合了,每个样本点的具体映射情况如下:

[0.5,0.5]、[-0.5,0.5]、[-0.5,-0.5]、[0.5,-0.5] ==> [0.25,0.25]
[1,1]、[-1,1]、[-1,-1]、[1,-1] ==> [1,1]
[1.5,0.5]、[-1.5,0.5] ==> [2.25,0.25]

除了样本点,原来的单位圆也变成了一条直线,正负样本被这条直线完全正确地分开了;

因此,现在只需要在新的特征空间中学习线性支持向量机就可以了。具体来说,就是把线性支持向量机求解算法中的特征向量先进行特征变换,然后再求解模型参数;

将所有的特征向量进行特征变换,得到非线性支持向量机的求解算法:

将线性支持向量机模型公式中的特征向量作相同的特征变换,得到非线性支持向量机的表达式:
f(x)=sign(wϕ(x)+b)f(x)=sign(w\phi (x)+b)f(x)=sign(wϕ(x)+b)
将之前线性支持向量机的模型参数解代入上面的表达式,得到:
f(x)=sign(w∗ϕ(x)+b∗)=sign(∑i=1Nαi∗yi(ϕ(xi)ϕ(x))+b∗)f(x)=sign(w^{*}\phi (x)+b^{*})=sign(\sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(\phi (x_{i})\phi (x))+b^{*})f(x)=sign(w∗ϕ(x)+b∗)=sign(i=1∑N​αi∗​yi​(ϕ(xi​)ϕ(x))+b∗)
b∗=yj−∑i=1Nαi∗yi(ϕ(xi)ϕ(xj)),0<αj∗<Cb^{*}=y_{j}-\sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(\phi (x_{i})\phi (x_{j})),0<\alpha_{j}^{*}<Cb∗=yj​−i=1∑N​αi∗​yi​(ϕ(xi​)ϕ(xj​)),0<αj∗​<C

核函数

观察发现,最小化的目标函数和非线性支持向量机的模型表达式都含有向量内积的部分。因此,我们把这一部分作为一个整体,由此引出核函数的定义:
K(x,y)=ϕ(x)ϕ(y)K(x,y)=\phi (x)\phi (y)K(x,y)=ϕ(x)ϕ(y)
特征向量映射的结果是一个向量;核函数是映射函数的内积,结果是一个标量。根据核函数的定义,非线性支持向量机的最优化问题和模型表达式可以写成如下形式:

常用的核函数有多项式核函数和高斯核函数;

多项式核函数与高斯核函数

多项式核函数为:
K(x,y)=(xy+1)pK(x,y)=(xy+1)^{p}K(x,y)=(xy+1)p
高斯核函数为:
K(x,y)=exp(−∣∣x−y∣∣222σ2)K(x,y)=exp(-\frac{||x-y||_{2}^{2}}{2\sigma ^{2}})K(x,y)=exp(−2σ2∣∣x−y∣∣22​​)


容易发现,线性支持向量机的核函数 K(x,y)K(x,y)K(x,y) 是特征向量 xxx 和 yyy 的内积


第十八课.支持向量机相关推荐

  1. NeHe OpenGL第二十八课:贝塞尔曲面

    NeHe OpenGL第二十八课:贝塞尔曲面 贝塞尔曲面: 这是一课关于数学运算的,没有别的内容了.来,有信心就看看它吧. 贝塞尔曲面 作者: David Nikdel ( ogapo@ithink. ...

  2. OpenGL教程翻译 第十八课 漫反射光

    第十八课 漫反射光 原文地址:http://ogldev.atspace.co.uk/(源码请从原文主页下载) 背景 环境光和漫反射光的主要不同是,漫反射光的计算需要依靠光线方向而环境光完全忽略了它! ...

  3. NeHe OpenGL教程 第四十八课:轨迹球

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. Python界面编程第十八课:Pyside2 (Qt For Python)Slider拖动条

    先上代码: from PySide2.QtWidgets import QApplication, QWidget,QHBoxLayout, QLabel, QSlider import sys fr ...

  5. 生命的形成《基督教与科学》第十八课

    黄牧师 一.生命的奇妙 从罗1:19-21,宇宙与地球都是精密的设计,才能有人和哺乳动物等高等动物的存在,生命的形成更为奇妙. 二.进化论的基本理论 1.传统学校教的进化论是:从无生物变成简单的生物, ...

  6. 新版标准日本语初级_第十八课

    语法   1. 一类形なります:日语的一类形容词表示静止的状态,通常不表示变化,但是可以用一类形容词 + なります的形式来表示性质或状态的变化.其构成方式是把一类形容词的词尾い变成く,再加なります. ...

  7. 10锁屏幻灯片_手机跟我学第一百八十八课——如何设置锁屏

    银 / 发 / 学 /堂 手机跟我学 小米手机设置 各位同学们,大家好,我是小银班长 随着科技的发展,手机已经越来越离不开咱们的日常生活,而且也让我们的生活变得更加便利.我们可以对手机的基础设置进行调 ...

  8. Android 第十八课 强大的滚动控件 RecyclerView

    步骤: 一.添加依赖库 compile'com.android.support:recyclerview-v7:26.1.0' 二.在activity_mian.xml中,添加RecyclerView ...

  9. 【线性代数公开课MIT Linear Algebra】 第十八课 行列式的性质

    本系列笔记为方便日后自己查阅而写,更多的是个人见解,也算一种学习的复习与总结,望善始善终吧~ 行列式 determinant 行列式最早是应用在用来判断方程组是否有解,在矩阵被发明后,行列式就拥有了更 ...

最新文章

  1. 二值化网络如何训练?这篇ICML 2021论文给你答案
  2. git 基础教程总结
  3. 数据源管理 | Kafka集群环境搭建,消息存储机制详解
  4. linux环境发送中文失败,linux - 无法从linux命令发送邮件 - SO中文参考 - www.soinside.com...
  5. Git常用命令——基本操作
  6. SpringBoot 2.1.5(12)--- Spring Boot 特性上
  7. “操作系统不以 C 开头和结尾,C 不等于整个世界”
  8. 【JSOI2007】【BZOJ1029】建筑抢修(贪心,堆)
  9. 【数学建模】BP神经网络算法模型
  10. 2.4 滑块拼图验证码
  11. 谷歌宣布退出中国 google.cn已经关闭
  12. 解读群体机器人合力协作精神
  13. 透视变换原理、相机成像、灭点
  14. FFMPEG之音频播放
  15. 微信公众平台完整开发教程
  16. Coinbase眼中的侧链和layer2解决方案
  17. 沉痛哀悼我的弟弟-恽小华-南理工教授,候选中科院院士——一声叹息
  18. 教资照片上传显示内部服务器错误,教师资格证笔试报名时,网站问题如何解决?...
  19. 李宏毅机器学习2022 HW1
  20. ASP如何计算中英文混合字符串长度和截取字符串

热门文章

  1. 有了这篇 Shell 脚本实践指南,同事对我“刮目相看”!
  2. 最新公开的华为认证通关秘籍来了
  3. 某程序员吐槽:太尴尬!四年不见的前女友来公司面试,自己还是面试官!
  4. 拼多多,一面,i++ 是线程安全的吗?一脸蒙逼
  5. 打造全球最大规模 Kafka 集群,Uber 的多区域灾备实践
  6. 百亿数据,毫秒级返回,如何构建?
  7. 如何成为顶尖管理者?
  8. 看了 100多份简历后,想给找工作的程序员几点建议
  9. 程序员因中年危机从北京回老家事业单位:工资从60万爆降到6万
  10. 普通程序员和优秀程序员的距离究竟有多大?