20240329-1-SVM面试题

SVM面试题

1. SVM直观解释

SVM,Support Vector Machine,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;其还包括核技巧,这使它成为实质上的非线性分类器。其学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题。其学习算法就是求解凸二次规划的最优化算法。

这里涉及了几个概念,二分类模型线性分类器间隔最大化凸二次规划问题

  • 二分类模型:给定的各个样本数据分别属于两个类之一,而目标是确定新数据点将归属到哪个类中。
  • 线性分类器:分割样本点的分类器是一个超平面,这也就要求样本线性可分,这是hard-margin SVM的要求,对于后来的soft-margin SVM,放低为近似线性可分,再到后来的核技巧,要求映射到高维空间后要近似线性可分。
  • 线性可分: D 0 D0 D0 D 1 D1 D1 n n n维欧氏空间中的两个点集(点的集合)。如果存在 n n n维向量 w w w和实数 b b b,使得所有属于 D 0 D0 D0的点 xi 都有 w x i + b > 0 wx_i+b>0 wxi+b>0,而对于所有属于 D 1 D1 D1的点 x j x_j xj则有 w x j + b < 0 wx_j+b<0 wxj+b<0。则我们称 D 0 D0 D0 D 1 D1 D1线性可分。
  • 间隔最大化:首先要知道SVM中有函数间隔和几何间隔,函数间隔刻画样本点到超平面的相对距离,几何间隔刻画的是样本点到超平面的绝对距离,SVM的直观目的就是找到最小函数距离的样本点,然后最大化它的几何间隔。
  • 凸二次规划:目标函数是二次的,约束条件是线性的。

2. 核心公式

  • 线性可分训练集: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots,\left(x_{n}, y_{n}\right)\right\} T={(x1,y1),(x2,y2),,(xn,yn)}
  • 学习得到的超平面: w ∗ T x + b ∗ = 0 w^{* T} x+b^{*}=0 wTx+b=0
  • 相应的分类决策函数: f ( x ) = sign ⁡ ( w ∗ T x + b ∗ ) f(x)=\operatorname{sign}\left(w^{* T} x+b^{*}\right) f(x)=sign(wTx+b)
  • SVM基本思想:间隔最大化,不仅要讲正负类样本分开,而且对最难分的点(离超平面最近的点)也要有足够大的确信度将他们分开。

在这里插入图片描述在这里插入图片描述

函数间隔

给定一个超平面 ( w , b ) (w, b) w,b,定义该超平面关于样本点 ( x i , y i ) (x_i,y_i ) (xi,yi) 的函数间隔为: γ ^ i = y i ( w T x i + b ) \widehat{\gamma}_{i}=y_{i}\left(w^{T} x_{i}+b\right) γ i=yi(wTxi+b)
定义该超平面关于训练集 T T T的函数间隔为: γ ^ = min ⁡ i = 1 , 2 , … , N γ ^ i \widehat{\gamma}=\min _{i=1,2, \ldots, N} \widehat{\gamma}_{i} γ =mini=1,2,,Nγ i

几何间隔

给定一个超平面 ( w , b ) (w, b) w,b,定义该超平面关于样本点 ( x i , y i ) (x_i,y_i ) (xi,yi) 的几何间隔为: γ i = y i ( w T ∥ w ∥ x i + b ∥ w ∥ ) \gamma_{i}=y_{i}\left(\frac{w^{T}}{\|w\|} x_{i}+\frac{b}{\|w\|}\right) γi=yi(wwTxi+wb)
定义该超平面关于训练集 T T T的几何间隔为: γ = min ⁡ i = 1 , 2 , … , N γ i \gamma=\min _{i=1,2, \ldots, N} \gamma_{i} γ=mini=1,2,,Nγi

函数间隔与几何间隔的关系

γ i = γ ^ i ∥ w ∥ , i = 1 , 2 , … , N γ = γ ^ ∥ w ∥ \begin{array}{c}{\gamma_{i}=\frac{\hat{\gamma}_{i}}{\|w\|}, i=1,2, \ldots, N} \\ {\gamma=\frac{\hat{\gamma}}{\|w\|}}\end{array} γi=wγ^i,i=1,2,,Nγ=wγ^

间隔最大化

求得一个几何间隔最大的分离超平面,可以表示为如下的最优化问题:
max ⁡ w , b γ s.t. y i ( w T ∥ w ∥ x i + b ∥ w ∥ ) ≥ γ , i = 1 , 2 , … , N \begin{array}{c}{\max _{w, b} \gamma} \\ {\text {s.t.} y_{i}\left(\frac{w^{T}}{\|w\|} x_{i}+\frac{b}{\|w\|}\right) \geq \gamma, i=1,2, \ldots, N}\end{array} maxw,bγs.t.yi(wwTxi+wb)γ,i=1,2,,N

考虑函数间隔与几何间隔的关系式,改写为:

max ⁡ w , b γ ^ ∥ w ∥ s.t.  y i ( w T x i + b ) ≥ γ ^ , i = 1 , 2 , … , N \begin{array}{c}{\max _{w, b} \frac{\hat{\gamma}}{\|w\|}} \\ {\text {s.t. } y_{i}\left(w^{T} x_{i}+b\right) \geq \hat{\gamma}, i=1,2, \ldots, N}\end{array} maxw,bwγ^s.t. yi(wTxi+b)γ^,i=1,2,,N

等价与下式

max ⁡ w , b 1 ∥ w ∥ s.t.  1 − y i ( w T x i + b ) ≤ 0 , i = 1 , 2 , … , N \begin{array}{c}{\max _{w, b} \frac{1}{\|w\|}} \\ {\text {s.t. } 1-y_{i}\left(w^{T} x_{i}+b\right) \leq 0, i=1,2, \ldots, N}\end{array} maxw,bw1s.t. 1yi(wTxi+b)0,i=1,2,,N

注意到最大化 1 ∥ w ∥ \frac{1}{\|w\|} w1 和最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\|w\|^{2} 21w2是等价的,故最优化问题可转化为:

min ⁡ w , b 1 2 ∥ w ∥ 2 s.t.  1 − y i ( w T x i + b ) ≤ 0 , i = 1 , 2 , … , N \begin{array}{c}{\min _{w, b} \frac{1}{2}\|w\|^{2}} \\ {\text {s.t. } 1-y_{i}\left(w^{T} x_{i}+b\right) \leq 0, i=1,2, \ldots, N}\end{array} minw,b21w2s.t. 1yi(wTxi+b)0,i=1,2,,N

构造Lagrange函数:
L ( w , b , α ) = 1 2 ∥ w ∥ 2 + ∑ i = 1 N α i [ 1 − y i ( w T x i + b ) ] α i ≥ 0 , i = 1 , 2 , … , N \begin{aligned} L(w, b, \alpha)=& \frac{1}{2}\|w\|^{2}+\sum_{i=1}^{N} \alpha_{i}\left[1-y_{i}\left(w^{T} x_{i}+b\right)\right] \\ \alpha_{i} & \geq 0, i=1,2, \ldots, N \end{aligned} L(w,b,α)=αi21w2+i=1Nαi[1yi(wTxi+b)]0,i=1,2,,N

θ α ( w , b ) = max ⁡ α i ≥ 0 L ( w , b , α ) \theta_{\alpha}(w, b)=\max _{\alpha_{i} \geq 0} L(w, b, \alpha) θα(w,b)=maxαi0L(w,b,α)

则有 θ α ( w , b ) = { 1 2 ∥ w ∥ 2 , 当全部约束满足 + ∞ ,当存在约束不满足 \theta_{\alpha}(w, b)=\left\{\begin{array}{c}{\frac{1}{2}\|w\|^{2},当全部约束满足} \\ {+\infty,当存在约束不满足}\end{array}\right. θα(w,b)={21w2,当全部约束满足+,当存在约束不满足

故原问题等价于
min ⁡ w , b θ α ( w , b ) = min ⁡ w , b max ⁡ α i ≥ 0 L ( w , b , α ) \min _{w, b} \theta_{\alpha}(w, b)=\min _{w, b} \max _{\alpha_{i} \geq 0} L(w, b, \alpha) minw,bθα(w,b)=minw,bmaxαi0L(w,b,α)

对偶算法

根据拉格朗日对偶性,上式的对偶问题为:
min ⁡ w , b θ α ( w , b ) = max ⁡ α i ≥ 0 min ⁡ w , b L ( w , b , α ) \min _{w, b} \theta_{\alpha}(w, b)= \max _{\alpha_{i} \geq 0}\min _{w, b} L(w, b, \alpha) minw,bθα(w,b)=maxαi0minw,bL(w,b,α)

(1)求 min ⁡ w , b L ( w , b , α ) \min _{w, b} L(w, b, \alpha) minw,bL(w,b,α)

∇ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 \nabla_{w} L(w, b, \alpha)=w-\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}=0 wL(w,b,α)=wi=1Nαiyixi=0

∇ b L ( w , b , α ) = − ∑ i = 1 N α i y i = 0 \nabla_{b} L(w, b, \alpha)=-\sum_{i=1}^{N} \alpha_{i} y_{i}=0 bL(w,b,α)=i=1Nαiyi=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

将以上两式代入拉格朗日函数中消去,得
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 \begin{aligned} L(w, b, \alpha) &=-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left\langle x_{i}, x_{j}\right\rangle+\sum_{i=1}^{\mathrm{N}} \alpha_{i} \end{aligned} L(w,b,α)=21i=1Nj=1Nαiαjyiyjxi,xj+i=1Nαi

(2)求 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 s.t. ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , … , N \begin{aligned} \max _{\alpha} &-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left\langle x_{i}, x_{j}\right\rangle+\sum_{i=1}^{\mathrm{N}} \alpha_{i} \\ \text {s.t.} & \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ \alpha_{i} & \geq 0, i=1,2, \ldots, N \end{aligned} αmaxs.t.αi21i=1Nj=1Nαiαjyiyjxi,xj+i=1Nαii=1Nαiyi=00,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}\left\langle x_{i}, x_{j}\right\rangle-\sum_{i=1}^{\mathrm{N}} \alpha_{i}} minα21i=1Nj=1Nαiαjyiyjxi,xji=1Nαi

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

α i ≥ 0 , i = 1 , 2 , … , N \alpha_{i} \geq 0, i=1,2, \ldots, 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 s.t. ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , … , N \begin{aligned} \min _{\alpha} & \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left\langle x_{i}, x_{j}\right\rangle-\sum_{i=1}^{\mathrm{N}} \alpha_{i} \\ \text {s.t.} & \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & \alpha_{i} \geq 0, i=1,2, \ldots, N \end{aligned} αmins.t.21i=1Nj=1Nαiαjyiyjxi,xji=1Nαii=1Nαiyi=0αi0,i=1,2,,N

求解方法:
(1)由于该问题为凸优化问题,故可直接求解。
(2)由于该问题与其原问题等价,其原问题满足Slater定理,故该问题的解与KKT条件为充分必要的关系,故只需找到一组解满足KKT条件,即找到了问题的解(充分性)。

关于对偶问题的解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) \alpha^{*}=\left(\alpha_{1}^{*}, \alpha_{2}^{*}, \ldots, \alpha_{N}^{*}\right) α=(α1,α2,,αN),是由SMO算法解出来的,这个结合加入松弛变量的情况再讲。

解出对偶问题的解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) \alpha^{*}=\left(\alpha_{1}^{*}, \alpha_{2}^{*}, \ldots, \alpha_{N}^{*}\right) α=(α1,α2,,αN)后,怎么求原问题的解 w ∗ , b ∗ w^{*}, b^{*} w,b

由KKT条件可知,原问题和对偶问题均取到最优值的解 ( w ∗ , b ∗ , α ∗ ) \left(w^{*}, b^{*}, \alpha^{*}\right) (w,b,α)需满足以下四个要求:

  1. 对原始变量梯度为0:
    ∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 \nabla_{w} L\left(w^{*}, b^{*}, \alpha^{*}\right)=w^{*}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}=0 wL(w,b,α)=wi=1Nαiyixi=0
    ∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 \nabla_{b} L\left(w^{*}, b^{*}, \alpha^{*}\right)=-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}=0 bL(w,b,α)=i=1Nαiyi=0
  2. 原问题可行:
    1 − y i ( w ∗ T x i + b ∗ ) ≤ 0 , i = 1 , 2 , … , N 1-y_{i}\left(w^{* T} x_{i}+b^{*}\right) \leq 0, i=1,2, \ldots, N 1yi(wTxi+b)0,i=1,2,,N
  3. 不等式约束乘子非负:
    α i ∗ ≥ 0 , i = 1 , 2 , … , N \alpha_{i}^{*} \geq 0, i=1,2, \ldots, N αi0,i=1,2,,N
  4. 对偶互补松弛:
    α i ∗ [ 1 − y i ( w ∗ T x i + b ∗ ) ] = 0 , i = 1 , 2 , … , N \alpha_{i}^{*}\left[1-y_{i}\left(w^{* T} x_{i}+b^{*}\right)\right]=0, i=1,2, \dots, N αi[1yi(wTxi+b)]=0,i=1,2,,N

由于1中
∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 \nabla_{w} L\left(w^{*}, b^{*}, \alpha^{*}\right)=w^{*}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}=0 wL(w,b,α)=wi=1Nαiyixi=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
这样 w ∗ w^{*} w就求出来了

用反证法我们可以得到至少有一个 α i ∗ > 0 \alpha_{i}^{*}>0 αi>0,假设所有的 α i ∗ = 0 \alpha_{i}^{*}=0 αi=0,由 w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 w^{*}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}=0 wi=1Nαiyixi=0知道, w ∗ = 0 w^{*}=0 w=0,而 w ∗ = 0 w^{*}=0 w=0显然不是原问题的解,我们要零解一点意义都没有。

接下来,求 b ∗ b^{*} b
α i ∗ \alpha_{i}^{*} αi 的一个分量满足 α i ∗ > 0 \alpha_{i}^{*}>0 αi>0 ,则有对应的由4中的 α i ∗ [ 1 − y i ( w ∗ T x i + b ∗ ) ] = 0 , i = 1 , 2 , … , N \alpha_{i}^{*}\left[1-y_{i}\left(w^{* T} x_{i}+b^{*}\right)\right]=0, i=1,2, \dots, N αi[1yi(wTxi+b)]=0,i=1,2,,N,有 1 − y j ( w ∗ T x j + b ∗ ) = 0 1-y_{j}\left(w^{* T} x_{j}+b^{*}\right)=0 1yj(wTxj+b)=0

代入 w ∗ w^{*} w和样本点 ( x j , y j ) (x_j,y_j) (xj,yj),求出
b ∗ = y j − ∑ i = 1 N α i ∗ y i ⟨ x i , x j ⟩ b^{*}=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left\langle x_{i}, x_{j}\right\rangle b=yji=1Nαiyixi,xj

这样超平面的两个参数 ( w ∗ , b ∗ ) (w^{*},b^{*}) (w,b)就都求出来了
w ∗ = ∑ i = 1 N α i ∗ y i x i w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i} w=i=1Nαiyixi
b ∗ = y j − ∑ i = 1 N α i ∗ y i ⟨ x i , x j ⟩ b^{*}=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left\langle x_{i}, x_{j}\right\rangle b=yji=1Nαiyixi,xj

至于为什么SVM叫支持向量机,因为我们发现只有 α i ∗ > 0 \alpha_{i}^{*}>0 αi>0时,对应的样本 ( x i , y i ) (x_i,y_i) (xi,yi)才会对最终超平面的结果产生影响,此时 1 − y i ( w ∗ T x i + b ∗ ) = 0 1-y_{i}\left(w^{* T} x_{i}+b^{*}\right)=0 1yi(wTxi+b)=0, 也就是函数间隔为1,我们称这类样本为支持向量,所以这个模型被叫做支持向量机。支持向量的个数一般很少,所以支持向量机只有很少的“重要的”训练样本决定。

核技巧

基本思想:找一个映射Φ(一般为高维映射),将样本点特征x映射到新的特征空间Φ(x),使其在新的特征空间中线性可分(或近似线性可分),然后利用之前的SVM算法在新的特征空间中对样本进行分类。
在这里插入图片描述
流程:
输入训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots,\left(x_{n}, y_{n}\right)\right\} T={(x1,y1),(x2,y2),,(xn,yn)}其中 x i ∈ R n , y i ∈ { − 1 , + 1 } x_{i} \in R^{n}, y_{i} \in\{-1,+1\} xiRn,yi{1,+1}
(1)选择合适的映射函数Φ,将训练集??映射为
T = { ( Φ ( x 1 ) , y 1 ) , ( Φ ( x 2 ) , y 2 ) , … , ( Φ ( x n ) , y n ) } T=\left\{\left(\Phi\left(x_{1}\right), y_{1}\right),\left(\Phi\left(x_{2}\right), y_{2}\right), \ldots,\left(\Phi\left(x_{n}\right), y_{n}\right)\right\} T={(Φ(x1),y1),(Φ(x2),y2),,(Φ(xn),yn)}
(2)选择惩罚参数C,构造并求解约束最优化问题(原问题的对偶问题)
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}\left\langle\Phi\left(x_{i}\right), \Phi\left(x_{j}\right)\right\rangle-\sum_{i=1}^{\mathrm{N}} \alpha_{i} minα21i=1Nj=1NαiαjyiyjΦ(xi),Φ(xj)i=1Nαi
s.t.  ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , … , N \begin{aligned} \text { s.t. } & \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & 0 \leq \alpha_{i} \leq C, i=1,2, \ldots, N \end{aligned}  s.t. i=1Nαiyi=00αiC,i=1,2,,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) T \alpha^{*}=\left(\alpha_{1}^{*}, \alpha_{2}^{*}, \ldots, \alpha_{N}^{*}\right)^{T} α=(α1,α2,,αN)T
(3)计算 W ∗ , b ∗ W^{*}, b^{*} W,b:
w ∗ = ∑ i = 1 N α i ∗ y i Φ ( x i ) w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} \Phi\left(x_{i}\right) w=i=1NαiyiΦ(xi)
选择 a ∗ a^{*} a的一个分量满足 0 < α i ∗ < C 0<\alpha_{i}^{*}<C 0<αi<C,计算
b ∗ = y j − ∑ i = 1 N α i ∗ y i ⟨ Φ ( x i ) , Φ ( x j ) ⟩ b^{*}=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left\langle\Phi\left(x_{i}\right), \Phi\left(x_{j}\right)\right\rangle b=yji=1NαiyiΦ(xi),Φ(xj)
(4)求得分离超平面和分类决策函数:
w ∗ T Φ ( x ) + b ∗ = 0 w^{* T} \Phi(x)+b^{*}=0 wTΦ(x)+b=0
f ( x ) = sign ⁡ ( w ∗ T Φ ( x ) + b ∗ ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i ⟨ Φ ( x ) , Φ ( x i ) ⟩ + b ∗ ) f(x)=\operatorname{sign}\left(w^{* T} \Phi(x)+b^{*}\right)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left\langle\Phi(x), \Phi\left(x_{i}\right)\right\rangle+ b^{*}\right) f(x)=sign(wTΦ(x)+b)=sign(i=1NαiyiΦ(x),Φ(xi)+b)

该算法的问题:
(1)合适的映射函数??太难找,几乎找不到
(2)假设找到了映射函数??,由于将数据映射到高维,在高维空间中做运算,计算量太大(维数灾难)

改进:
考虑到算法中如果不需写出分离超平面,即不需写出 w ? w^{?} w?,而是直接用 f ( x ) = sign ⁡ ( w ∗ T Φ ( x ) + b ∗ ) = sign ⁡ ( α i ∗ y i ⟨ Φ ( x ) , Φ ( x j ) ⟩ + b ∗ ) f(x)=\operatorname{sign}\left(w^{* T} \Phi(x)+b^{*}\right)=\operatorname{sign}\left(\alpha_{i}^{*} y_{i}\left\langle\Phi(x), \Phi\left(x_{j}\right)\right\rangle+ b^{*}\right) f(x)=sign(wTΦ(x)+b)=sign(αiyiΦ(x),Φ(xj)+b)来做预测,同样可以给出分类边界以及达到预测目的。这样的话,算法中需要用到样本的地方全部以内积形式出现,如果我们能够找到一种函数,能够在低维空间中直接算出高维内积,并且该函数对应着某个映射,即解决了以上两个问题。

核函数的本质:用相似度函数重新定义内积运算。

什么样的函数可以作为核函数?
核函数对应的Gram矩阵为半正定矩阵。

常用的核函数:

  1. 线性核函数(linear kernel) K ( x , z ) = x T z K(x, z)=x^{T} z K(x,z)=xTz
  2. 多项式核函数(polynomial kernel function) K ( x , z ) = ( γ x T z + r ) p K(x, z)=\left(\gamma x^{T} z+r\right)^{p} K(x,z)=(γxTz+r)p
  3. 高斯核函数( Gaussian kernel function ) K ( x , z ) = exp ⁡ ( − γ ∥ x − z ∥ 2 ) K(x, z)=\exp \left(-\gamma\|x-z\|^{2}\right) K(x,z)=exp(γxz2)

3. SVM 为什么采用间隔最大化

当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。可以借此机会阐述一下几何间隔以及函数间隔的关系。

4. 为什么要将求解 SVM 的原始问题转换为其对偶问题

  • 对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。

  • 可以自然引入核函数,进而推广到非线性分类问题。

5. 为什么 SVM 要引入核函数

当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。而引入这样的映射后,所要求解的对偶问题的求解中,无需求解真正的映射函数,而只需要知道其核函数。核函数的定义: K ( x , y ) = < ϕ ( x ) , ϕ ( y ) > K(x,y)=<ϕ(x),ϕ(y)> K(x,y)=<ϕ(x),ϕ(y)>,即在特征空间的内积等于它们在原始样本空间中通过核函数 $K $计算的结果。一方面数据变成了高维空间中线性可分的数据,另一方面不需要求解具体的映射函数,只需要给定具体的核函数即可,这样使得求解的难度大大降低。

6. 为什么SVM对缺失数据敏感

  • SVM 没有处理缺失值的策略
  • SVM的效果和支持向量点有关,缺失值可能影响支持向量点的分布

7. SVM 核函数之间的区别

SVM 核函数一般选择线性核高斯核(RBF 核)

线性核:主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。

RBF 核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。

如果 Feature 的数量很大,跟样本数量差不多,这时候选用线性核的 SVM。

如果 Feature 的数量比较小,样本数量一般,不算大也不算小,选用高斯核的 SVM。

8. LR和SVM的联系与区别

  • 联系:

    • LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题
    • 两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。
  • 区别:

    • LR是参数模型,SVM是非参数模型。
    • 从目标函数来看,区别在于逻辑回归采用的是交叉熵损失函数,SVM采用的是合页损失函数,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
    • SVM的处理方法是只考虑支持向量点,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
    • 逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

9. SVM的原理是什么?

SVM是一种二类分类模型,其主要思想为找到空间中的一个更够将所有数据样本划开的超平面,并且使得数据集中所有数据到这个超平面的距离最短。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。(间隔最大使它有别于感知机)。需要求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

10. SVM如何处理多分类问题?

一对多:就是对每个类都训练出一个分类器,设定为目标类为一类,其余类为另外一类。这样针对k个类可以训练出k个分类器,当有一个新的样本来的时候,用这k个分类器来测试,那个分类器的概率高,那么这个样本就属于哪一类。
一对一:任意两个类训练出一个分类器,如果有k类,一共训练出 C ( 2 , k ) C(2,k) C(2,k) 个分类器,这样当有一个新的样本要来的时候,用这$C(2,k) $个分类器来测试,每当被判定属于某一类的时候,该类就加一,最后票数最多的类别被认定为该样本的类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV从入门到精通实战(二)——文档OCR识别(tesseract)

导入环境 导入必要的库 numpy: 用于处理数值计算。 argparse: 用于处理命令行参数。 cv2: OpenCV库&#xff0c;用于图像处理。 import numpy as np import argparse import cv2设置命令行参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--imag…

计算机中的小数表示

文章目录 前言整数表示的缺陷定点小数定点小数加法乘法运算 浮点数IEEE754浮点数标准移码阶码的移码表示 IEEE754中的特殊点两个0非规格化数字正常浮点数无穷大NaN 浮点数简单举例浮点数一些其余特性浮点数计算不符合结合律浮点数舍入规则浮点数与整数之间的相互转换 总结 前言…

记录一次k8s pod之间ip无法访问,问题排查与定位

记录一次k8s pod之间ip无法访问&#xff0c;问题排查与定位 问题展现现象 node之间通信正常 部分node上的pod无法通信 排查有问题node 使用启动网络测试工具 环境准备 docker 数据库mysql 使用有状态副本集合 --- apiVersion: apps/v1 kind: StatefulSet metadata:anno…

生成对抗网络GAN的扩展应用理解

注&#xff1a;本文仅个人学习理解&#xff0c;如需详细内容请看原论文&#xff01; 一、cycleGAN 1.整体架构&#xff1a; 将图片A通过生成器生成图片B&#xff0c;然后通过判别器判别图片B的真假&#xff1b;并且图片B通过另一个生成器生成A‘&#xff0c;让A和A’近似。 2…

C++ queue priority_queuestack 详解及模拟实现

1. stack的介绍和使用 1.1 stack的介绍 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容…

JVM垃圾回收与算法

1. 如何确定垃圾 1.1 引用计数法 在 Java 中&#xff0c;引用和对象是有关联的。如果要操作对象则必须用引用进行。因此&#xff0c;很显然一个简单 的办法是通过引用计数来判断一个对象是否可以回收。简单说&#xff0c;即一个对象如果没有任何与之关 联的引用&#xff0c;即…

Python pyglet制作彩色圆圈“连连看”游戏

原文链接&#xff1a; Python 一步一步教你用pyglet制作“彩色方块连连看”游戏(续)-CSDN博客文章浏览阅读1.6k次&#xff0c;点赞75次&#xff0c;收藏55次。上期讲到相同的色块连接&#xff0c;链接见&#xff1a; Python 一步一步教你用pyglet制作“彩色方块连连看”游戏-…

Ai2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe illustrator&#xff0c;常被称为“AI”&#xff0c;是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。作为一款非常好的矢量图形处理工具&#xff0c;该软件主要应用于印刷出版、海报书籍排版、专业插画、多…

Fiddler抓包工具之高级工具栏中的Inspectors的使用

高级工具栏中的Inspectors的使用 Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片&#xff0c;HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合http标准的请求和响应头。Cookies标签可以看到…

手机拍照技术

拍照技巧 说明: 本文将主要介绍摄影和手机常见技巧&#xff1b; 1. 摄影的基本知识 **说明&#xff1a;**关于摄影&#xff0c;手机和相机的原理都是相同的&#xff0c;不同的是相机在很多方面优于手机&#xff0c;但是专业的设备对于我们这种的非专业的人来说&#xff0c;刚…

Linux时间同步练习

题目如下&#xff1a; 一.配置server主机要求如下&#xff1a; 1.server主机的主机名称为 ntp_server.example.com 2.server主机的IP为&#xff1a; 172.25.254.100 3.server主机的时间为1984-11-11 11&#xff1a;11&#xff1a;11 4.配置server主机的时间同步服务要求可以被所…

重磅,巫师3即将发布mod编辑器并开放创意工坊

热乎乎的消息&#xff01;巫师3即将推出mod编辑器和开放创意工坊&#xff01; 根据巫师3官方Steam消息&#xff0c;听说年底将推出mod编辑器&#xff0c;目前已经开始内测。想试用的玩家们&#xff0c;可以到redkit商店页面申请访问权限&#xff0c;体验最新的创意工具。 此外&…

存入Redis的值前面有很多空格

说明&#xff1a;记录一次使用Redis的错误&#xff1b; 场景 在将验证码存入Redis时&#xff0c;发现存入的值前面有很多空格&#xff0c;导致在与前端传入的值比较时&#xff0c;一直是false&#xff0c;验证不通过。如下&#xff1a; 上面这些“□”是占位符&#xff0c;复…

学习笔记(4月17日)vector底层原理

1.vector<vector>底层原理 vector是表示可变大小数组的序列容器&#xff0c;相当于一个动态的数组&#xff0c;比数组优越的在于它具有可动态改变的大小&#xff0c;同时&#xff0c;它写成了类模板&#xff0c;说明可以适用于其他类型&#xff0c;包括vector本身&#…

rust 学习笔记(13-19)

13 迭代器与闭包 Rust 的设计灵感来源于很多现存的语言和技术。其中一个显著的影响就是 函数式编程&#xff08;functional programming&#xff09;。函数式编程风格通常包含将函数作为参数值或其他函数的返回值、将函数赋值给变量以供之后执行等等。 闭包&#xff08;Closu…

游戏、app抓包

文章目录 协议app抓包游戏抓包 协议 在抓包之前&#xff0c;首先我们要对每个程序使用什么协议有个大致的了解&#xff0c;比如网页这种就是走的http协议。 在一些app中我们通过发送一个请求&#xff0c;然后服务器接受&#xff0c;响应&#xff0c;返回一个数据包&#xff0c…

网站模板-慈善捐赠基金会网站模板 Bootstrap4 html

目录 一.前言 二.预览 三.下载链接 一.前言 这是一个慈善网站的页面。页面包含了导航栏、横幅部分、关于、使命、新闻、活动、捐赠和页脚等不同的部分。该网站还包含了一些CSS样式和JavaScript脚本来实现交互和样式效果。 这个网站的具体结构如下&#xff1a; 导航栏部分&a…

吐血整理102个Python项目,从基础到高级,练完你就牛了!

前言 Python 初学者在迈过安装编程环境和基本语法的门槛&#xff0c;准备大展身手的时候&#xff0c;可能突然就会进入迷茫期&#xff1a; 不知道做些什么、再学些什么。。。 然后对编程的兴趣就会慢慢消退&#xff0c;找不到坚持下去的理由&#xff0c;从而慢慢淡忘之前学会…

OpenCV基本图像处理操作(九)——特征匹配

Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法&#xff0c;经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括&#xff1a; 特征提取&#xff…

热烈祝贺中国特医首次获得蒙特国际品质奖!中国特医健效达品质永攀世界高峰

近日&#xff0c;第63届Monde Selection品质评鉴活动圆满落幕&#xff0c;健效达旗下优康力和优益力产品凭借其卓越品质&#xff0c;成功摘得世界蒙特奖&#xff0c;这是中国特医食品首次获得蒙特奖国际品质奖。 健效达特医树立世界特医新标杆&#xff0c;永攀世界高峰&#xf…