图像算法四 —— 线性SVM算法 及 非线性SVM算法

4. 线性SVM算法 及 非线性SVM算法

SVM 简介

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是:定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。

SVM还包含核技巧,这使它成为实质上的非线性分类器

SVM的学习策略就是——间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题。

SVM的学习算法,就是求解凸二次规划的最优化算法。

SVM的优缺点

优点

  1. 非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射

  2. 对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心

  3. 支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量

  4. SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题

  5. SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了维数灾难

  6. 少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的鲁棒性。这种“鲁棒”性主要体现在:

    • ① 增、删非支持向量样本对模型没有影响;

    • ② 支持向量样本集具有一定的鲁棒性;

    • ③ 有些成功的应用中,SVM 方法对核的选取不敏感

缺点

  • SVM算法对大规模训练样本难以实施

由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法

  • 用SVM解决多分类问题存在困难

经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。

线性SVM算法原理

原理解释

SVM学习的基本想法是,求解能够正确划分训练数据集,并且几何间隔最大分离超平面。如下图所示, w ⋅ x + b = 0 w \cdot x + b = 0 wx+b=0即为分离超平面。对于线性可分的数据集来说,这样的超平面有无穷多个(即 感知机),但是几何间隔最大的分离超平面 是唯一的。

在这里插入图片描述

原理推导

​ 假设给定 一个特征空间上的训练数据集

T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}

其中,

$x_i \in \mathbb{R}^n $,

y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N y_i \in \{+1, -1\}, i = 1, 2, \cdots, N yi{+1,1},i=1,2,,N

x i x_i xi为第 i i i个特征向量

y i y_i yi类标记 i = + 1 i = +1 i=+1时,为正例; i = − 1 i = -1 i=1时,为负例。

再假设训练数据集是 线性可分的。

几何间隔:对于给定的数据集 T T T和超平面 w ⋅ x + b = 0 w \cdot x + b = 0 wx+b=0,定义超平面关于样本点 ( x i , y i ) (x_i, y_i) (xi,yi)的几何间隔为:

γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i = y_i (\frac{w}{||w||} \cdot x_i + \frac{b}{||w||} ) γi=yi(wwxi+wb)

超平面关于所有样本点的几何间隔的最小值为:

γ = min ⁡ i = 1 , 2 , ⋯   , N γ i \gamma = \min_{i=1, 2, \cdots, N}\gamma_i γ=i=1,2,,Nminγi

这个距离就是 我们所谓的支持向量到超平面的距离。

① ① 根据以上定义,SVM模型的求解最大分割超平面问题可以表示为以下的约束最优化问题:

max ⁡ w , b γ \max_{w, b}\gamma w,bmaxγ

s . t .   y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , ⋯   , N s.t. \space y_i(\frac{w}{||w||} \cdot x_i + \frac{b}{||w||}) \ge \gamma, i = 1, 2, \cdots, N s.t. yi(wwxi+wb)γ,i=1,2,,N

② ② 将约束条件两边,同时除以 γ \gamma γ,得到:

y i ( w ∣ ∣ w ∣ ∣ γ ⋅ x i + b ∣ ∣ w ∣ ∣ γ ) ≥ 1 y_i(\frac{w}{||w||\gamma} \cdot x_i + \frac{b}{||w||\gamma}) \ge 1 yi(wγwxi+wγb)1

③ ③ 因为 ∣ ∣ w ∣ ∣ ||w|| w γ \gamma γ都是标量,所以为了表达式简洁起见,令

w = w ∣ ∣ w ∣ ∣ γ w = \frac{w}{||w||\gamma} w=wγw

b = b ∣ ∣ b ∣ ∣ γ b = \frac{b}{||b||\gamma} b=bγb

得到:

y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N y_i(w \cdot x_i + b) \ge 1, i = 1, 2, \cdots, N yi(wxi+b)1,i=1,2,,N

④ ④ 又因为最大化 γ \gamma γ,等价于最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1,也就是等价于最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2 1 2 \frac{1}{2} 21是为了后面求导以后形式简洁,不影响结果),因此SVM模型的求解最大分割超平面问题,又可以表示为以下约束最优化问题:

min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \min_{w,b}\frac{1}{2}||w||^2 w,bmin21w2

s . t .   y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N s.t. \space y_i(w \cdot x_i + b) \ge 1, i = 1, 2, \cdots, N s.t. yi(wxi+b)1,i=1,2,,N

​ 这是一个含有不等式约束的凸二次规划问题,可以对其使用拉格朗日乘子法,得到其对偶问题(dual problem)

⑤ ⑤ 首先,我们将有约束的原始目标函数,转换为,无约束的新构造的 拉格朗日目标函数

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i ( y i ( w ⋅ x i + b ) − 1 ) L(w, b, \alpha) = \frac{1}{2}||w||^2 - \sum_{i=1}^{N}\alpha_i(y_i(w \cdot x_i + b) - 1) L(w,b,α)=21w2i=1Nαi(yi(wxi+b)1)

其中,

α i \alpha_i αi——拉格朗日乘子,且 α i ≥ 0 \alpha_i \ge 0 αi0.

⑥ ⑥ 现在,我们令

θ ( w ) = max ⁡ α i ≥ 0 L ( w , b , α ) \theta(w) = \max_{\alpha_i \ge 0}L(w, b, \alpha) θ(w)=αi0maxL(w,b,α)

  • 当样本点不满足约束条件时,即在可行解区域外

y i ( w ⋅ x i + b ) < 1 y_i(w \cdot x_i + b) < 1 yi(wxi+b)<1

​ 此时,将 α \alpha α设置为无穷大,则 θ ( w ) \theta(w) θ(w)也为无穷大。

  • 当样本点满足约束条件时,即在可行解区域内

y i ( w ⋅ x i + b ) ≥ 1 y_i(w \cdot x_i + b) \ge 1 yi(wxi+b)1

​ 此时, θ ( w ) \theta(w) θ(w)为原函数本身。

⑦ ⑦ 于是,将这两种合并,得到新的目标函数为:

θ ( w ) = { 1 2 ∣ ∣ w ∣ ∣ 2 x ∈ 可行区域 + ∞ x ∈ 不可行区域 \theta(w) = \begin{cases} \frac{1}{2}||w||^2 & x \in \text{可行区域} \\ +\infty & x \in \text{不可行区域} \end{cases} θ(w)={21w2+x可行区域x不可行区域

于是,原约束问题就等价于

min ⁡ w , b θ ( w ) = min ⁡ w , b max ⁡ a i ≥ 0 L ( w , b , α ) = p ∗ \min_{w,b}\theta(w)=\min_{w, b}\max_{a_i \ge 0}L(w, b, \alpha)=p^* w,bminθ(w)=w,bminai0maxL(w,b,α)=p

⑧ ⑧ 看一下我们的新目标函数,先求最大值,再求最小值。这样的话,我们首先就要面对带有需要求解的参数 w w w b b b的方程,而 α i \alpha_i αi又是不等式的约束,这个求解过程不好做。

​ 所以,我们需要用拉格朗日对偶性,将最小和最大的位置交换一下,这样就变成了:

min ⁡ w , b θ ( w ) = max ⁡ a i ≥ 0 min ⁡ w , b L ( w , b , α ) = d ∗ \min_{w,b}\theta(w)=\max_{a_i \ge 0}\min_{w, b}L(w, b, \alpha)=d^* w,bminθ(w)=ai0maxw,bminL(w,b,α)=d

⑨ ⑨ 要有 p ∗ = d ∗ p^* = d^* p=d,需要满足两个条件:

  • 优化问题是凸优化问题

  • 满足KKT条件

    首先,优化问题显然是一个凸优化问题,所以条件一满足。

    条件二,即要求

    { α i ≥ 0 y i ( w i ⋅ x i + b ) − 1 ≥ 0 α i ( y i ( w i ⋅ x i + b ) − 1 ) = 0 \begin{cases} \alpha_i \ge 0 \\ y_i(w_i \cdot x_i + b) - 1 \ge 0 \\ \alpha_i(y_i(w_i \cdot x_i + b) - 1) = 0 \end{cases} αi0yi(wixi+b)10αi(yi(wixi+b)1)=0

⑩ ⑩ 为求解对偶问题的具体形式,令 L ( w , b , α ) L(w, b, \alpha) L(w,b,α) w w w b b b的偏导为0,可得

w = ∑ i = 1 N α i y i x i w=\sum_{i = 1}^{N}\alpha_iy_ix_i w=i=1Nαiyixi

∑ i = 1 N α i y i = 0 \sum_{i = 1}^{N}\alpha_iy_i=0 i=1Nαiyi=0

⑪ ⑪ 将以上两个等式,带入拉格朗日目标函数,消去 w w w b b b,得到:
L ( w , b , α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \begin{aligned} L(w, b, \alpha) &= \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i \cdot x_j) - \sum_{i=1}^{N}\alpha_iy_i((\sum_{j=1}^{N}\alpha_jy_jx_j) \cdot x_i + b)+ \sum_{i=1}^{N}\alpha_i \\ &= -\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^{N}\alpha_i \end{aligned} L(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
即:

min ⁡ w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \min_{w,b}L(w, b, \alpha) = -\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^{N}\alpha_i w,bminL(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

⑫ ⑫ min ⁡ w , b L ( w , b , α ) \min_{w,b}L(w, b, \alpha) minw,bL(w,b,α) α \alpha α极大,即是 对偶问题

max ⁡ α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \max_{\alpha}-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^{N}\alpha_i αmax21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

s . t .   ∑ i = 1 N α i y i = 0 s.t. \space \sum_{i=1}^{N}\alpha_i y_i=0 s.t. i=1Nαiyi=0

α i ≥ 0 , i = 1 , 2 , ⋯   , N \alpha_i \ge 0, i = 1, 2, \cdots, N αi0,i=1,2,,N

把目标式子加一个负号,将求极大转换为求极小。

min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min_{\alpha}\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N}\alpha_i αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi

s . t .   ∑ i = 1 N α i y i = 0 s.t. \space \sum_{i=1}^{N}\alpha_i y_i=0 s.t. i=1Nαiyi=0

α i ≥ 0 , i = 1 , 2 , ⋯   , N \alpha_i \ge 0, i = 1, 2, \cdots, N αi0,i=1,2,,N

⑬ ⑬ 这里我们的优化问题变成了如上的形式,对于这个问题,我们还有更高效的优化算法,即序列最小优化(SMO)算法。用到的不多,不详细了解,有需要请自行了解。

​ 我们通过SMO算法,可以得到 α ∗ \alpha^* α ,再根据 α ∗ \alpha^* α,我们就可以求解出 w w w b b b,进而求得我们最初的目的:找到超平面,即“决策面”

⑭ ⑭ 前面的推导都是假设满足KKT条件下成立的,KKT条件如下:

{ α i ≥ 0 y i ( w i ⋅ x i + b ) − 1 ≥ 0 α i ( y i ( w i ⋅ x i + b ) − 1 ) = 0 \begin{cases} \alpha_i \ge 0 \\ y_i(w_i \cdot x_i + b) - 1 \ge 0 \\ \alpha_i(y_i(w_i \cdot x_i + b) - 1) = 0 \end{cases} αi0yi(wixi+b)10αi(yi(wixi+b)1)=0

此外,根据前面的推导,还有下面两个式子成立:

w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^{N}\alpha_i y_i x_i w=i=1Nαiyixi

∑ i = 1 N α i y i = 0 \sum_{i=1}^{N}\alpha_i y_i = 0 i=1Nαiyi=0

⑮ ⑮ 由此可知,在 α ∗ \alpha^* α中,至少存在一个 α j ∗ > 0 \alpha_j^*>0 αj>0(反证法可以证明,若全为0,则 w = 0 w=0 w=0,矛盾),

对此 j j j

y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*\cdot x_j + b^*) - 1 = 0 yj(wxj+b)1=0

⑯ ⑯ 因此可以得到

w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^{N}\alpha_i^*y_ix_i w=i=1Nαiyixi

b ∗ = ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^*=\sum_{i=1}^{N}\alpha_i^*y_i(x_i \cdot x_j) b=i=1Nαiyi(xixj)

对于任意训练样本 ( x i , y i ) (x_i, y_i) (xi,yi),总有 α i = 0 \alpha_i = 0 αi=0,或者 y i ( w ⋅ x j + b ) = 1 y_i(w \cdot x_j + b) = 1 yi(wxj+b)=1

  • α i = 0 \alpha_i=0 αi=0,则该样本不会在最后求解模型参数的式子中出现。

  • α i > 0 \alpha_i>0 αi>0,则必有 y i ( w ⋅ x j + b ) = 1 y_i(w \cdot x_j + b) = 1 yi(wxj+b)=1,所对应的样本点位于最大间隔边界上,是一个支持向量。

    这显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

⑰ ⑰ 到这里,都是基于训练集数据线性可分的假设下进行的,但是实际情况下,几乎不存在完全线性可分的数据,为了解决这个问题,引入了“软间隔”的概念,即允许某些点不满足约束。

y j ( w ⋅ x j + b ) ≥ 1 y_j(w \cdot x_j + b) \ge 1 yj(wxj+b)1

采用hinge损失,将原优化问题改写为:

min ⁡ w , b , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \min_{w,b,\xi_i}\frac{1}{2}||w||^2+C\sum_{i=1}^{m}\xi_i w,b,ξimin21w2+Ci=1mξi

s . t .   y i ( w ⋅ x i + b ) ≥ 1 − ξ i s.t. \space y_i(w \cdot x_i + b) \ge 1 - \xi_i s.t. yi(wxi+b)1ξi

ξ i ≥ 0 , i = 1 , 2 , ⋯   , N \xi_i \ge 0, i = 1, 2, \cdots, N ξi0,i=1,2,,N

其中,

ξ i \xi_i ξi——“松弛变量”,每一个样本都有一个对应的松弛变量,用来表征该样本不满足约束的程度。

ξ i = max ⁡ ( 0 , 1 − y i ( w ⋅ x i + b ) ) \xi_i = \max(0, 1 - y_i(w \cdot x_i + b)) ξi=max(0,1yi(wxi+b)),即一个hinge损失函数。

C > 0 C>0 C>0——惩罚参数 C C C值越大,对分类的惩罚越大。

同线性可分求解的思路一致,同样这里也是先用拉格朗日乘子法得到拉格朗日函数,再求对偶问题。

线性支持向量机的学习算法

输入: 训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}, 其中 x i ∈ R n x_i \in \mathbb{R}^n xiRn y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N y_i \in \{+1, -1\},i=1,2,\cdots, N yi{+1,1},i=1,2,,N

输出: 分离超平面和分类决策函数

(1) 选择惩罚参数 C > 0 C>0 C>0,构造并求解凸二次规划文题

min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min_{\alpha}\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N}\alpha_i αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi

s . t .   ∑ i = 1 N α i y i = 0 s.t. \space \sum_{i=1}^{N}\alpha_i y_i=0 s.t. i=1Nαiyi=0

0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N 0 \le \alpha_i \le C, i = 1, 2, \cdots, N 0αiC,i=1,2,,N

得到最优解:

α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^* = (\alpha_1^*, \alpha_2^*, \cdots, \alpha_N^*)^T α=(α1,α2,,αN)T

(2) 计算

w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^{N}\alpha_i^*y_ix_i w=i=1Nαiyixi

选择 α ∗ \alpha^* α的一个分量 α j ∗ \alpha_j^* αj满足条件 0 < α j ∗ < C 0<\alpha_j^*<C 0<αj<C,计算

b ∗ = y i − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^* = y_i - \sum_{i=1}^{N}\alpha_i^*y_i(x_i \cdot x_j) b=yii=1Nαiyi(xixj)

(3) 求分离超平面

w ∗ ⋅ x + b ∗ = 0 w^* \cdot x + b^* = 0 wx+b=0

分类决策函数:

f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^* \cdot x + b^*) f(x)=sign(wx+b)

非线性SVM算法原理

非线性支持向量机的求解

对于输入空间中的非线性分类问题,可以通过非线性变换将它转换为某个维特征空间中的线性分类问题,在高维特征空间中学习线性支持向量机。

由于在线性支持向量机学习的对偶问题里,目标函数和分类决策函数都只涉及实例和实例之间的内积,所以不需要显式地指定非线性变换,而是用核函数替换当中的内积

核函数表示,通过一个非线性转换后的两个实例之间的内积。

具体地, K ( x , z ) K(x,z) K(x,z)是一个函数,或正定核,意味着存在一个从输入空间到特征空间的映射 ϕ ( x ) \phi(x) ϕ(x),对任意输入空间中的 x , z x,z x,z,有:

K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x, z) = \phi(x) \cdot \phi(z) K(x,z)=ϕ(x)ϕ(z)

在线性支持向量机学习的对偶问题中,用核函数 K ( x , z ) K(x, z) K(x,z)替代内积,求解得到的就是非线性支持向量机:

f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x) = sign(\sum_{i=1}^N \alpha_i^* y_i K(x, x_i) + b^*) f(x)=sign(i=1NαiyiK(x,xi)+b)

非线性支持向量机学习算法

输入: 训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}, 其中 x i ∈ R n x_i \in \mathbb{R}^n xiRn y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N y_i \in \{+1, -1\},i=1,2,\cdots, N yi{+1,1},i=1,2,,N

输出: 分离超平面和分类决策函数

(1) 选择适当的核函数 K ( x , z ) K(x, z) K(x,z)和惩罚参数 C > 0 C>0 C>0,构造并求解凸二次规划文题

min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i \min_{\alpha}\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j K(x_i \cdot x_j) - \sum_{i=1}^{N}\alpha_i αmin21i=1Nj=1NαiαjyiyjK(xixj)i=1Nαi

s . t .   ∑ i = 1 N α i y i = 0 s.t. \space \sum_{i=1}^{N}\alpha_i y_i=0 s.t. i=1Nαiyi=0

0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N 0 \le \alpha_i \le C, i = 1, 2, \cdots, N 0αiC,i=1,2,,N

得到最优解:

α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^* = (\alpha_1^*, \alpha_2^*, \cdots, \alpha_N^*)^T α=(α1,α2,,αN)T

(2) 选择 α ∗ \alpha^* α的一个分量 α j ∗ \alpha_j^* αj满足条件 0 < α j ∗ < C 0<\alpha_j^*<C 0<αj<C,计算

b ∗ = y i − ∑ i = 1 N α i ∗ y i K ( x i ⋅ x j ) b^* = y_i - \sum_{i=1}^{N}\alpha_i^*y_i K(x_i \cdot x_j) b=yii=1NαiyiK(xixj)

(3) 分类决策函数:

f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x) = sign(\sum_{i=1}^N \alpha_i^* y_i K(x, x_i) + b^*) f(x)=sign(i=1NαiyiK(x,xi)+b)

常用核函数——高斯核函数

高斯核函数为一个常用的核函数,其公式如下:

K ( x , z ) = e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) K(x, z) = exp(-\frac{||x - z||^2}{2\sigma^2} ) K(x,z)=exp(2σ2xz2)

对应的SVM是高斯径向基函数分类器,在此情况下,分类决策函数为:

f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) + b ∗ ) f(x) = sign(\sum_{i=1}^N \alpha_i^* y_i exp(-\frac{||x - z||^2}{2\sigma^2} ) + b^*) f(x)=sign(i=1Nαiyiexp(2σ2xz2)+b)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L☆★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值