机器学习(七)SVM

SVM支持向量机

SVM是一种二分类模型。基本模型定义是,在特征空间中间隔最大的线性分类器。

  • 线性可分支持向量机(硬间隔支持向量机)
  • 线性支持向量机(软间隔支持向量机)
  • 非线性支持向量机

线性可分支持向量机

在这里插入图片描述
将输入的n维空间,分成两部分。
假设输入空间和输出空间是不同的两部分,输入空间为欧氏空间或离散集合,特征空间为欧氏空间或者希尔伯特空间。线性可分支持向量机、线性支持向量机假设这两个空间的元素一一对应,并将输入空间中的输入映射成特征空间中的特征向量。

  • 假设给定训练数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } T = \{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\} T={(x1,y1),(x2,y2),...,(xn,yn)},其中 x i x_i xi为第 i 个特征向量。 y i = + 1 y_i = +1 yi=+1,称 x i x_i xi是正实例, y i = + 1 y_i = +1 yi=+1 x i x_i xi是负实例
  • 假设给定实例是线性可分的,给定一个超平面,能将给定数据集的正负实例完全的划分到超平面的两侧。
  • 当数据集线性可分的时候,存在无数个超平面将政府数据集分开。线性可分支持向量机利用间隔最大化,求最优超平面,这时,解是唯一的。

函数间隔和几何间隔

超平面:Hyperplane ω T x + b = 0 ω 是 平 面 的 法 向 量 \omega^Tx+b = 0 \quad\omega 是平面的法向量 ωTx+b=0ω
如果该预测点距离超平面较远,则证明确信预测是正确的,如果该预测点距离超平面较近,则对预测结果不那么确信。
函数间隔

∣ ω T x + b ∣ |\omega^Tx+b| ωTx+b能相对的表示点x距离超平面的远近,并且 ω T x + b \omega^Tx+b ωTx+b的符号与 y 的符号是否一致也能表明分类是否正确,因此使用 y ( ω T x + b ) y(\omega^Tx+b) y(ωTx+b)来表示分类得正确行与可信度。
定义:定以超平面( w , b ),数据点( xi, yi ),函数间隔为
γ ^ i = y i ( ω x i + b ) \hat{\gamma }_i = y_i(\omega x_i + b) γ^i=yi(ωxi+b)
整个数据集的函数间隔
超平面(w,b)关于整个数据集T的间隔为,T中所有间隔的最小值。
γ ^ = min ⁡ i = 1 , . . . , m γ ^ i \hat{\gamma } = \min_{i=1,...,m}\hat{\gamma}_i γ^=i=1,...,mminγ^i

但是当对w,b进行同步放缩的时候,超平面 ω T x + b = 0 \omega^Tx+b = 0 ωTx+b=0 并没有改变,但是函数间隔 γ ^ i = y i ( ω x i + b ) \hat{\gamma }_i = y_i(\omega x_i + b) γ^i=yi(ωxi+b)却被放缩了。
几何间隔
对超平面的法向量加以约束,对其规范化, ∥ w ∥ = 1 \|w\| = 1 w=1,使得区间不能被随意放缩,成为几何间隔
γ i = y i ( ω ∥ w ∥ x i + b ∥ w ∥ ) \gamma _i = y_i(\frac{\omega }{\|w\|}x_i + \frac{b}{\|w\|}) γi=yi(wωxi+wb)

在这里插入图片描述
γ = min ⁡ i = 1 , . . . , m γ i \gamma = \min_{i=1,...,m}\gamma_i γ=i=1,...,mminγi
几何间隔和函数间隔关系

γ = γ ^ ∥ w ∥ \gamma = \frac{\hat{\gamma}}{\|w\|} γ=wγ^

间隔最大化

  • 超平面(Hyperplane)实际上作为区分正负样本的决策平面。
  • 如果给定的分界间隔越大,那么最决策的确信度越高。例如数据距离超平面非常远,分类的确信度会更高。
  • 有一定数量的超平面,哪一个是最优的?
    max ⁡ w , b min ⁡ i γ i \max_{w,b}\min_{i}{\gamma_i} w,bmaximinγi

上述问题等价于:
max ⁡ w , b γ s . t . y i ( ω ∥ w ∥ x i + b ∥ w ∥ ) ≥ γ \max_{w,b} \quad\gamma\\ s.t.\quad y_i(\frac{\omega }{\|w\|}x_i + \frac{b}{\|w\|}) \geq \gamma w,bmaxγs.t.yi(wωxi+wb)γ
则,下面通过对w,b的一些放缩,变换要求解的最优化函数,但是并不影响最终的优化结果,这里的放缩改变形式是为了方便求解。

max ⁡ w , b γ s . t . y i ( ω x i + b ) ≥ γ ∥ w ∥ \max_{w,b} \quad\gamma\\ s.t.\quad y_i(\omega x_i + b) \geq \gamma \|w\| w,bmaxγs.t.yi(ωxi+b)γw
通过放缩w,可以使得 min ⁡ i y i ( w x i + b ) = 1 \min_i {y_i(wx_i+b) }= 1 miniyi(wxi+b)=1,将w,b的放缩对于目标函数的优化没有影响
γ = min ⁡ i y i ( ω ∥ w ∥ x i + b ∥ w ∥ ) = 1 ∥ w ∥ \gamma = \min_i {y_i(\frac{\omega }{\|w\|}x_i + \frac{b}{\|w\|})} = \frac{1}{\|w\|} γ=iminyi(wωxi+wb)=w1

max ⁡ w , b 1 ∥ w ∥ s . t . y i ( ω x i + b ) ≥ 1 ∀ i \max_{w,b} \quad \frac{1}{\|w\|}\\ s.t.\quad y_i(\omega x_i + b) \geq 1 \quad \forall i w,bmaxw1s.t.yi(ωxi+b)1i
在这里插入图片描述
至此,放缩w,b的工作完成。
我们要求解在约束条件下的 max ⁡ w , b 1 ∥ w ∥ \quad\max_{w,b}\quad\frac{1}{\|w\|} maxw,bw1,等价于最小化 ∥ w ∥ \|w\| w,由于 ∥ w ∥ \|w\| w存在根号,因此为了方便的去除根号我们使用 ∥ w ∥ 2 \|w\|^2 w2
:||w||,w的2-范数,详看文章末尾

min ⁡ w , b ∥ w ∥ 2 s . t . y i ( ω x i + b ) − 1 ≥ 0 ∀ i \min_{w,b} \quad \|w\|^2\\ s.t.\quad y_i(\omega x_i + b) - 1\geq 0 \quad \forall i w,bminw2s.t.yi(ωxi+b)10i

这是一个凸二次优化问题(cnovex quadratic programming)QP问题

  • 凸函数在上一篇已经提到了, y = x 2 y = x^2 y=x2就是一个凸函数
    关于凸二次优化问题,可以自行百度,不在讨论范围内.
    现有的通用的解凸二次优化问题的方法非常低效,特别是面对非常大的数据集的时候。

最优化问题(Optimization Problem)

在约束最优化问题中,常常利用拉格朗日对偶性,将原始问题转换为对偶问题,通过求解对偶问题而得到原始问题的解。
原始问题
min ⁡ w f ( w ) s . t . g i ( w ) ≤ 0 , i = 1 , . . . k h j ( w ) = 0 , j = 1 , . . . , l \min_w f(w) \\s.t.\quad g_i(w)\leq0,i=1,...k \\\qquad h_j(w) = 0,j=1,...,l wminf(w)s.t.gi(w)0,i=1,...khj(w)=0,j=1,...,l

w ∈ R n w\in\mathbb{R}^n wRn为变量, p ∗ p^* p为最优值。
拉格朗日函数: L : R n × R k × R l → R L:\mathbb{R}^n \times\mathbb{R}^k\times \mathbb{R}^l \rightarrow \mathbb{R} L:Rn×Rk×RlR
L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ j = 1 l β j h j ( w ) L(w,\alpha,\beta) = f(w) + \sum_{i=1}^k\alpha_ig_i(w) + \sum_{j = 1}^{l}\beta_jh_j(w) L(w,α,β)=f(w)+i=1kαigi(w)+j=1lβjhj(w)
α i 是 拉 格 朗 日 乘 子 , g i ( w ) ≤ 0 β j 是 拉 格 朗 日 乘 子 , h j ( w ) = 0 \alpha_i 是拉格朗日乘子 ,g_i(w)\leq0 \\\beta_j 是拉格朗日乘子,h_j(w) = 0 αigi(w)0βjhj(w)=0
拉格朗日对偶函数 G : R k × R l → R G:\mathbb{R}^k\times\mathbb{R}^l\rightarrow\mathbb{R} G:Rk×RlR

G ( α , β ) = inf ⁡ w ∈ D L ( w , α , β ) = inf ⁡ w ∈ D ( f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ j = 1 l β j h j ( w ) ) G(\alpha,\beta) = \inf_{w\in D}L(w,\alpha,\beta) \\=\inf_{w\in D}\left(f(w) + \sum_{i=1}^k\alpha_ig_i(w) + \sum_{j=1}^l\beta_jh_j(w)\right) G(α,β)=wDinfL(w,α,β)=wDinf(f(w)+i=1kαigi(w)+j=1lβjhj(w))

  • G是 L ( w , α , β ) L(w,\alpha,\beta) L(w,α,β)的下确界
  • G是一个凹函数,并且对g,h是什么函数没有要求。且G有唯一最大值。

下界的正确性
如果 α ≥ 0 ( α 中 每 一 个 元 素 都 大 于 等 于 0 ) \alpha \geq 0(\alpha中每一个元素都大于等于0) α0(α0),那么 G ( α , β ) ≤ p ∗ , 其 中 p ∗ 是 原 问 题 的 最 优 值 。 G(\alpha,\beta) \leq p^*,其中p^*是原问题的最优值。 G(α,β)p,p
证明 如果 w ~ \widetilde{w} w 是 可行的并且 α ≥ 0 \alpha \geq 0 α0,那么
f ( w ~ ) ≥ L ( w ~ , α , β ) ≥ inf ⁡ w ∈ D L ( w , α , β ) = G ( α , β ) f(\widetilde{w}) \geq L(\widetilde{w},\alpha,\beta) \geq \inf_{w\in D} L(w,\alpha,\beta) = G(\alpha,\beta) f(w )L(w ,α,β)wDinfL(w,α,β)=G(α,β)
(这里比较显然,因为 g i ( w ) ≤ 0 , a i ≥ 0 , 所 以 f ( w ~ ) ≥ L ( w ~ , α , β ) g_i(w)\leq 0,a_i \geq 0,所以f(\widetilde{w}) \geq L(\widetilde{w},\alpha,\beta) gi(w)0,ai0,f(w )L(w ,α,β))

在所有的可行解中,minimizing的最优值 p ∗ ≥ G ( α , β ) p^* \geq G( \alpha, \beta ) pG(α,β)

p ∗ p^* p f ( w ) f( w ) f(w)的最小值,但是 f ( w ) f(w) f(w)的最小值依旧大于等于 G ( α , β ) G(\alpha,\beta) G(α,β)

拉格朗日对偶问题
m a x α , β G ( α , β ) s . t . α ≥ 0 , ∀ i = 1 , . . . , k max_{\alpha,\beta} \quad G(\alpha, \beta ) \\ s.t.\quad \alpha \geq0, \forall i=1,...,k maxα,βG(α,β)s.t.α0,i=1,...,k

  • 通过拉格朗日对偶函数,寻找 p ∗ p^* p的最优下界
  • 凸优化问题的最优值记作 d ∗ d^* d
  • α , β \alpha,\beta α,β都在函数G的可行域内

弱对偶
d ∗ = m a x α , β G ( α , β ) , 且 d ∗ ≤ q ∗ d^* = max_{\alpha,\beta} \quad G(\alpha, \beta ), 且 d^* \leq q^* d=maxα,βG(α,β),dq

  • 弱对偶一般都是成立的
  • 可以用来求解困难问题的非平凡的下界。(非平凡这个词对非数学专业的还不好解释。平凡”英文是trivial,就是没什么用的意思,比如一些微分方程很容易看出有零解,但是零解并不是我们关心的,或者说求出来这个零解并没有什么用,我们更关心的是非平凡(nontrivial)解,也就是非零解。)
  • optimal duality gap(最优对偶间隙——瞎翻译) : p ∗ − d ∗ p^* - d^* pd

强对偶
d ∗ = p ∗ d^* = p^* d=p

至此,我们将原问题 min ⁡ f ( w ) \min f(w) minf(w) 转换成了 m a x α , β G ( α , β ) s . t . α ≥ 0 , ∀ i = 1 , . . . , k max_{\alpha,\beta} \quad G(\alpha, \beta ) \quad s.t.\quad \alpha \geq0, \forall i=1,...,k maxα,βG(α,β)s.t.α0,i=1,...,k

互补松弛条件

假设在 w ∗ w^* w f ( w ) f(w) f(w) 取得最优值 p ∗ p^* p, ( α ∗ , β ∗ ) (\alpha^*, \beta^*) (α,β)是是偶函数 G ( α , β ) G(\alpha,\beta) G(α,β)取得最优值点。
如果强对偶成立,那么
α i g i ( w ∗ ) = 0 ∀ i = 1 , 2 , . . . , k \alpha_i g_i(w*) = 0\quad \forall i = 1,2,...,k αigi(w)=0i=1,2,...,k
证明
f ( w ∗ ) = G ( α ∗ , β ∗ ) = inf ⁡ w ( f ( w ) + ∑ i = 1 k α i ∗ g i ( w ) + ∑ j = 1 l β j ∗ h j ( w ) ) ≤ f ( w ∗ ) + ∑ i = 1 k α i ∗ g i ( w ∗ ) + ∑ j = 1 l β j ∗ h j ( w ∗ ) ≤ f ( w ∗ ) f(w^*) = G(\alpha^*, \beta^*)\\= \inf_{w}(f(w) + \sum_{i=1}^k\alpha_i^*g_i(w) + \sum_{j=1}^l \beta_j^*h_j(w))\\ \leq f(w^*) + \sum_{i=1}^k\alpha_i^*g_i(w^*) + \sum_{j=1}^l \beta_j^*h_j(w^*) \leq f(w^*) f(w)=G(α,β)=winf(f(w)+i=1kαigi(w)+j=1lβjhj(w))f(w)+i=1kαigi(w)+j=1lβjhj(w)f(w)
将上式中得不等式换成等式,要成立必有:
∑ i = 1 k α i g i ( w ∗ ) = 0 \sum_{i=1}^{k}\alpha_i g_i(w^*) = 0\quad i=1kαigi(w)=0
因为 a i ≥ 0 g i ( w ) ≤ 0 a_i \geq 0\quad g_i(w) \leq 0 ai0gi(w)0,
α i g i ( w ∗ ) = 0 \alpha_i g_i(w^*) = 0 αigi(w)=0

KKT条件

如果强对偶成立 p ∗ = d ∗ p^* = d^* p=d, 下面这些条件都将成立
1、极值点: w ∗ w^* w f ( w ) f(w) f(w)得极值点。
▽ f ( w ∗ ) + ∑ i = 1 k α i ▽ g i ( w ∗ ) + ∑ j = 1 l β j ▽ h j ( w ∗ ) = 0 \triangledown f(w^*) + \sum_{i=1}^k\alpha_i\triangledown g_i(w^*) + \sum_{j=1}^{l}\beta_j\triangledown h_j(w^*) = 0 f(w)+i=1kαigi(w)+j=1lβjhj(w)=0
2、主可行:
g i ( w ∗ ) ≤ 0 , ∀ i = 1 , . . . , k h j ( w ∗ ) = 0 ∀ j = 1 , . . . , l g_i(w^*)\leq0,\forall i=1,...,k\\h_j(w^*) = 0\forall j=1,...,l gi(w)0,i=1,...,khj(w)=0j=1,...,l
3、对偶可行性:
α i ∗ ≥ 0 , ∀ i = 1 , . . . , k \alpha_i^*\geq0,\forall i =1,...,k αi0,i=1,...,k
4、互补松弛条件:
α i ∗ g i ( w ∗ ) = 0 , ∀ i = 1 , . . . , k \alpha_i^*g_i(w^*) = 0,\forall i=1,...,k αigi(w)=0,i=1,...k
但是以上的这些条件是否是强对偶的充分必要条件?
对于凸优化,如果强对偶成立,KKT条件是充分必要条件。

如果找到了 α , β \alpha ,\beta α,β满足KKT条件,解决的对偶问题,也就解决了原问题。

最优间隔分类器(optimal margin classifier)

主问题是凸优化问题
min ⁡ w , b 1 2 ∥ w ∥ 2 s . t . y ( i ) ( w T x ( i ) + b ) ≥ 1 , ∀ i \min_{w,b} \frac{1}{2}\|w\|^2\\s.t. \quad y^{(i)}(w^Tx^{(i)} + b)\geq1,\forall i w,bmin21w2s.t.y(i)(wTx(i)+b)1,i
凸优化问题,一般都是强对偶的,自然满足KKT条件。由于原问题,比较复杂,将其转换成对偶问题,求解对偶问题。
拉格朗日算子(Largrangian)
L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 m α i ( y i ( w T x ( i ) + b ) − 1 ) L(w,b,\alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^m \alpha_i(y^{{i}} (w^Tx^{(i)} + b) - 1) L(w,b,α)=21w2i=1mαi(yi(wTx(i)+b)1)
拉格朗日对偶函数(Lagrange dual function)
G ( α ) = inf ⁡ w , b L ( w , b , α ) G(\alpha) = \inf_{w,b} L(w,b,\alpha) G(α)=w,binfL(w,b,α)

对偶问题公式(dual problem formulation)
max ⁡ α inf ⁡ w , b L ( w , b , α ) s . t . α i ≥ 0 ∀ i \max_{\alpha}\quad\inf_{w,b}L(w,b, \alpha) \\s.t.\quad \alpha_i \geq 0\quad \forall i αmaxw,binfL(w,b,α)s.t.αi0i

依据KKT条件,要使得 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)关于w,b最小
▽ w L ( w , b , α ) = w − ∑ i = 1 m α i y ( i ) x ( i ) = 0 → w = ∑ i = 1 m α i y ( i ) x ( i ) \triangledown_wL(w,b,\alpha) = w - \sum_{i=1}^{m}\alpha_iy^{(i)}x^{(i)} = 0\rightarrow w = \sum_{i=1}^{m}\alpha_i y^{(i)}x^{(i)} wL(w,b,α)=wi=1mαiy(i)x(i)=0w=i=1mαiy(i)x(i)
∂ ∂ b L ( w , b , α ) = ∑ i = 1 m α i y ( i ) = 0 \frac{\partial}{\partial b}L(w,b,\alpha) = \sum_{i=1}^m \alpha_i y^{(i)} = 0 bL(w,b,α)=i=1mαiy(i)=0

把w代入方程得到
G ( α ) = ∑ i = 1 m α i − 1 2 ∑ i , j = 1 m y ( i ) y ( j ) α i α j ( x ( i ) ) T x ( j ) G(\alpha) = \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i,j=1}^my^{(i)}y^{(j)}\alpha_i\alpha_j(x^{(i)})^Tx^{(j)} G(α)=i=1mαi21i,j=1my(i)y(j)αiαj(x(i))Tx(j)
并且满足 ∑ i = 1 m α i y ( i ) = 0 \sum_{i=1}^m\alpha_iy^{(i)} = 0 i=1mαiy(i)=0并且 a i ≥ 0 a_i\geq0 ai0
对偶问题公式
max ⁡ α G ( α ) = ∑ i = 1 m α i − 1 2 ∑ i , j = 1 m y ( i ) y ( j ) α i α j ( x ( i ) ) T x ( j ) s . t . α i ≥ 0 ∀ i ∑ i = 1 m α i y ( i ) = 0 \max_\alpha\quad G(\alpha) = \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i,j=1}^my^{(i)}y^{(j)}\alpha_i\alpha_j(x^{(i)})^Tx^{(j)}\\ s.t. \quad \alpha_i\geq 0\quad\forall i\\\sum_{i=1}^{m}\alpha_iy^{(i)} = 0 αmaxG(α)=i=1mαi21i,j=1my(i)y(j)αiαj(x(i))Tx(j)s.t.αi0ii=1mαiy(i)=0
这是一个二次规划问题,我们可以用MATLAB中现有的quadprog函数求解。

我们利用现有的QP问题解法直接去接,不用关心 α ∗ \alpha^* α具体怎么求解的

SVM求解结果

当我们通过QP问题,求解出 α ∗ \alpha^* α后,由于先前的KKT条件
w ∗ = ∑ i = 1 m α i y ( i ) x ( i ) w^* = \sum_{i=1}^{m}\alpha_i y^{(i)}x^{(i)} w=i=1mαiy(i)x(i)
如何求解 b ∗ b^* b?
由于 α i ∗ g i ( w ∗ ) = 0 , 即 α i ∗ ( y ( i ) ( w ∗ T x ( i ) + b ) − 1 ) = 0 \alpha_i^* g_i(w^*) = 0,即 \quad\alpha_i^*(y^{(i)} (w^{*T}x^{(i)} + b) -1) = 0 αigi(w)=0,αi(y(i)(wTx(i)+b)1)=0
∀ i { i : α i ∗ > 0 } y ( i ) ( w ∗ T x ( i ) + b ) − 1 = 0 \forall i\quad\{i:\alpha_i^* > 0\}\quad y^{(i)}(w^{*T}x^{(i)} + b )-1 = 0 i{i:αi>0}y(i)(wTx(i)+b)1=0
因此, ∀ i { i : α i ∗ > 0 } \forall i\quad\{i:\alpha_i^* > 0\} i{i:αi>0},
b ∗ = y ( i ) − w ∗ T x ( i ) b^* =y^{(i)} - w^{*T}x^{(i)} b=y(i)wTx(i)
并且由于KKT条件中 α i ∗ g i ( w ∗ ) = 0 , g i ( w ∗ ) = y i ( w T x ( i ) + b ) − 1 \alpha_i^* g_i(w^*) = 0,\quad g_i(w^*) = y^{{i}} (w^Tx^{(i)} + b) - 1 αigi(w)=0,gi(w)=yi(wTx(i)+b)1 ,
因此只有少量的 α i ∗ \alpha_i^* αi不为0。也只有 α i ∗ \alpha_i^* αi不为零的点对于求解有作用,也就是当点处在margin 边界的时候,这些数据样本被称为support vector,正如下图中被标注出来的数据点。

在这里插入图片描述
那么重新定义一下 w ∗ w^* w
w ∗ = ∑ s ∈ S α S ∗ y ( s ) x ( s ) w^* = \sum_{s\in S}\alpha_S^*y^{(s)}x^{(s)} w=sSαSy(s)x(s)
S代表了所有的Support Vectors

非线性可分支持向量机(Kenel Methods 核函数)

之前讨论的SVM是线性可分的,但是有些情况下,不存在线性的超平面。
在这里插入图片描述
Kernels:使得线性模型能够用在非线性的情况下

  • 1、将数据映射到能显示出线性的更高维度
  • 2、在新的空间中,使用线性模型
  • 3、映射相当于改变feature的表示

Feature Mapping 特征映射

举个例子

在这里插入图片描述
在一维的状态现,自然没有分界线,但是当我们将其映射到高维, x → { x , x 2 } x\rightarrow \{x,x^2 \} x{x,x2}
在这里插入图片描述
在新的表示下,数据变得线性可分,这里我们将一维映射到二维,数据就线性可分了。

另一个例子

在这里插入图片描述
这个例子中,数据是2维的,但是并不能找到,一个线性的分类。但是当我们将他从二位,向3维空间映射后。数据就变得线性可分了。
x = { x 1 , x 2 } → z = { x 1 2 , 2 x 1 x 2 , x 2 2 } x = \{x_1,x_2\} \rightarrow z = \{x_1^2,\sqrt{2}x_1x_2,x_2^2\} x={x1,x2}z={x12,2 x1x2,x22}

在这里插入图片描述
考虑如下的映射函数 ϕ \phi ϕ,将对让样本 x = { x 1 , x 2 , . . . , x n } x = \{x_1,x_2,...,x_n\} x={x1,x2,...,xn}进行映射
在这里插入图片描述
问题:将维度从n维映射到(n-1)n/2维,那可能会导致维度爆炸,并且可能无法储存的下这么多的feature

  • 计算映射本身就非常低效,特别是新的维度特别高的情况
  • 存储和使用映射后的features,耗费大

核方法

我们假设给定了一个核函数K ,对于输入的两个向量 x, z 进行如下的计算
在这里插入图片描述
上面的核函数K,隐含地定义了一个向高维的映射 ϕ \phi ϕ
在这里插入图片描述
那么一个核函数,就和一个高维空间的映射相关联。
K ( x , z ) = ϕ ( x ) T ϕ ( z ) K(x,z) = \phi(x)^T\phi(z) K(x,z)=ϕ(x)Tϕ(z)
在这里插入图片描述
F 是一个向量空间,且在上面定义了点积运算(a dot product),这样的F被称为希尔伯特空间(Hilbert Space)
并不是所有的函数都能当作核函数,必须要满足 Mercer‘s Condition

Mercer‘s Condition

在这里插入图片描述

如果K1,K2是核函数,那么如下的也是核函数

  • K(x,z) = K1(x,z) + K2(x,z)
  • K(x,z) = aK1(x,z)
  • K(x,z) = K1(x,z)K2(x,z)
核矩阵 Kernel Matrix

如果给定了m 个samples { x ( 1 ) , x ( 2 ) , . . . , x ( m ) } \{x^{(1)},x^{(2)},...,x^{(m)}\} {x(1),x(2),...,x(m)},
K i j = K ( x ( i ) , x ( j ) ) = ϕ ( x ( i ) ) T ϕ ( x ( j ) ) K_{ij} = K(x^{(i)},x^{(j)}) = \phi(x^{(i)})^T \phi(x^{(j)}) Kij=K(x(i),x(j))=ϕ(x(i))Tϕ(x(j))

常用的Kernels
  • 线性核
    K ( x , z ) = x T z K(x,z) = x^Tz K(x,z)=xTz
  • 二次核
    K ( x , z ) = ( x T z ) 2 o r ( 1 + x T z ) 2 K(x,z) = (x^Tz)^2 \quad or\quad (1+x^Tz)^2 K(x,z)=(xTz)2or(1+xTz)2
  • 多项式核
    K ( x , z ) = ( x T z ) d o r ( 1 + x T z ) d K(x,z) = (x^Tz)^d\quad or\quad (1+x^Tz)^d K(x,z)=(xTz)dor(1+xTz)d
  • 高斯核
    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)
  • sigmoid核
    K ( x , z ) = t a n h ( a x T + c ) K(x,z) = tanh(ax^T + c) K(x,z)=tanh(axT+c)
使用核的优点
  • 核方法将线性的模型应用到非线性
  • 核 K(x,z) 表示在高维空间中的点乘
  • 对任意的学习方法,如果样本间的计算只有点乘,就可以被核化。
  • 无需计算中间的高维feature

kernelized SVM Training

SVM 拉格朗日对偶,将点乘运算,替换为核函数运算
在这里插入图片描述

在这里插入图片描述
在高维空间中的分界面为 w ∗ T ϕ ( x ) + b ∗ w^{*T}\phi(x) + b^* wTϕ(x)+b
将之前的 x 都替换为 ϕ ( x ) \phi(x) ϕ(x),来计算 w ∗ , b ∗ w^*, b^* w,b
w ∗ = ∑ i : α i ∗ > 0 α i ∗ y ( i ) ϕ ( x ( i ) ) b ∗ = y ( i ) − w ∗ T ϕ ( x ( i ) ) = y ( i ) − ∑ j : α j ∗ > 0 α j ∗ y ( j ) ϕ T ( x ( j ) ) ϕ ( x ( i ) ) = y ( i ) − ∑ j : α j ∗ > 0 α j ∗ y ( j ) K i j w^* = \sum_{i:\alpha_i^* >0} \alpha_i^*y^{(i)}\phi(x^{(i)})\\b^* = y^{(i)} -w^{*T}\phi(x^{(i)})\\ = y^{(i)} - \sum_{j:\alpha_j^* >0} \alpha_j^*y^{(j)}\phi^T(x^{(j)})\phi(x^{(i)})\\= y^{(i)} - \sum_{j:\alpha_j^* >0} \alpha_j^*y^{(j)} K_{ij} w=i:αi>0αiy(i)ϕ(x(i))b=y(i)wTϕ(x(i))=y(i)j:αj>0αjy(j)ϕT(x(j))ϕ(x(i))=y(i)j:αj>0αjy(j)Kij

进行分类

y = s i g n ( w ∗ T ϕ ( x ) + b ∗ ) = s i g n ( ∑ i : α i ∗ > 0 α i ∗ y ( i ) ϕ T ( x ( i ) ) ϕ ( x ) + b ∗ ) = s i g n ( ∑ i : α i ∗ > 0 α i ∗ y ( i ) K ( x ( i ) , x ) + b ∗ ) y = sign (w^{*T}\phi(x) + b^*) \\= sign(\sum_{i:\alpha_i^*>0} \alpha_i^*y^{(i)}\phi^T(x^{(i)})\phi(x) + b^*) \\= sign(\sum_{i:\alpha_i^*>0} \alpha_i^*y^{(i)}K(x^{(i)},x) + b^*) y=sign(wTϕ(x)+b)=sign(i:αi>0αiy(i)ϕT(x(i))ϕ(x)+b)=sign(i:αi>0αiy(i)K(x(i),x)+b)

线性支持向量机 (软间隔 soft-margin SVM )

允许误分类的情况。在之前的情况中,我们都使得数据点落在margin之外,或者margin上
在这里插入图片描述
对于线性不可分的情况,我们放松限制条件,
在这里插入图片描述
ξ i 被 称 为 松 弛 变 量 \xi_i被称为松弛变量 ξi
尽管我们允许误分类但是,我们希望被误分类的数量尽可能地少,因此我们使得松弛变量的和 ∑ i ξ i \sum_i \xi_i iξi 尽可能小

软间隔SVM公式

在这里插入图片描述

其中C控制了一个权重

  • C越小,会使得 1 2 ∥ w ∥ 2 , \frac{1}{2}\|w\|^2, 21w2,更小导致 margin更大
  • C越大,误分类的情况会越少,但是会导致更小的margin

拉格朗日函数

L ( w , b , ξ , α , r ) = 1 2 w T w + C ∑ i = 1 m ξ i − ∑ i = 1 m α i [ y ( i ) ( w T x ( i ) + b ) − 1 + ξ i ] − ∑ i = 1 m r i ξ i L(w,b,\xi,\alpha,r) = \frac{1}{2}w^Tw + C\sum_{i=1}^m\xi_i - \sum_{i=1}^m\alpha_i[y^{(i)}(w^Tx^{(i)} + b) - 1 + \xi_i] - \sum_{i=1}^m r_i\xi_i L(w,b,ξ,α,r)=21wTw+Ci=1mξii=1mαi[y(i)(wTx(i)+b)1+ξi]i=1mriξi
这里面有两组g函数,即小于等于约束
KKT条件

  • ▽ w L ( w , b , ξ , α , r ) = 0 → w ∗ = ∑ i = 1 m α i ∗ y ( i ) x ( i ) \triangledown_w L(w,b,\xi,\alpha,r) = 0 \rightarrow w^* = \sum_{i=1}^m\alpha_i^*y^{(i)}x^{(i)} wL(w,b,ξ,α,r)=0w=i=1mαiy(i)x(i)
  • ▽ b L ( w , b , ξ , α , r ) = 0 → ∑ i = 1 m α i y ( i ) = 0 \triangledown_b L(w,b,\xi,\alpha,r) = 0 \rightarrow \sum_{i=1}^m\alpha_iy^{(i)} = 0 bL(w,b,ξ,α,r)=0i=1mαiy(i)=0
  • ▽ ξ L ( w , b , ξ , α , r ) = 0 → α i ∗ + r i ∗ = C ∀ i \triangledown_\xi L(w,b,\xi,\alpha,r) = 0 \rightarrow \alpha_i^* + r_i^* = C\quad \forall i ξL(w,b,ξ,α,r)=0αi+ri=Ci
  • α i ∗ , r i ∗ , ξ i ∗ ≥ 0 , f o r ∀ i \alpha_i^*,r_i^*,\xi_i^* \geq 0,for \forall i αi,ri,ξi0,fori
  • y ( i ) ( w T x ( i ) + b ) − 1 + ξ i ≥ 0 y^{(i)}(w^Tx^{(i)} + b) - 1 + \xi_i \geq 0 y(i)(wTx(i)+b)1+ξi0
  • α i [ y ( i ) ( w T x ( i ) + b ) − 1 + ξ i ] = 0 \alpha_i[y^{(i)}(w^Tx^{(i)} + b) - 1 + \xi_i] = 0 αi[y(i)(wTx(i)+b)1+ξi]=0
  • r i ξ i = 0 r_i\xi_i = 0 riξi=0

对偶问题
在这里插入图片描述
和之前相同,求解QP问题,得到 α i ∗ \alpha_i^* αi, 用KKT条件求解出 w ∗ , b ∗ w^*,b^* w,b
在这里插入图片描述
0 < α i ∗ < C 0 < \alpha_i^* < C 0<αi<C
y ( i ) ( w ∗ T x ( i ) + b ∗ ) = 1 y^{(i)}(w^{*T}x^{(i)} + b^*) = 1 y(i)(wTx(i)+b)=1
b ∗ = ∑ i : 0 < α i ∗ < C ( y ( i ) − w ∗ T x ( i ) ) ∑ i = 1 m 1 ( 0 < α i ∗ < C ) b^* =\frac{\sum_{i:0<\alpha_i^* < C}(y^{(i)} - w^{*T}x^{(i)})}{\sum_{i=1}^m 1(0 < \alpha_i^* < C)} b=i=1m1(0<αi<C)i:0<αi<C(y(i)wTx(i))

在这里插入图片描述

由KKT条件得来的推论

  • α i ∗ = 0 , y ( i ) ( w ∗ T x ( i ) + b ∗ ) ≥ 1 \alpha_i^* = 0, y^{(i)}(w^{*T}x^{(i)} + b^*) \geq 1 αi=0,y(i)(wTx(i)+b)1
  • α i ∗ = C , y ( i ) ( w ∗ T x ( i ) + b ∗ ) ≤ 1 \alpha_i^* = C, y^{(i)}(w^{*T}x^{(i)} + b^*) \leq 1 αi=C,y(i)(wTx(i)+b)1
  • 0 < α i ∗ < C , y ( i ) ( w ∗ T x ( i ) + b ∗ ) = 1 0 < \alpha_i^* < C, y^{(i)}(w^{*T}x^{(i)} + b^*) = 1 0<αi<C,y(i)(wTx(i)+b)=1

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值