04_DeepLearning_SVM

Outline

  • 线性SVM
  • 非线性SVM

线性SVM

线性分类器的主要目的是:寻找一个超平面可以准确的并且具有较高置信度的对数据进行二分类。

其数学表达式为:

w T x + b = 0 \mathbf{w}^T \mathbf{x} + b = 0 wTx+b=0

其中 w T \mathbf{w}^T wT 为法向量, b b b 为偏置项。

因此,SVM的目标可以转化为:寻找到使分类间隔最大化的超平面。此超平面可以作为最优超平面。

推导公式如下:

g ( x ) = w T x + b g(x)=\mathbf{w}^T \mathbf{x} + b g(x)=wTx+b

不同类别的数据为:

w T x + b ≥ 1 for d = + 1 \mathbf{w}^T \mathbf{x} + b \geq 1 \quad \text{for } d = +1 wTx+b≥1for d=+1

w T x + b ≤ − 1 for d = − 1 \mathbf{w}^T \mathbf{x} + b \leq -1 \quad \text{for } d = -1 wTx+b≤−1for d=−1

由图可知:

x = x p + ( x − x p ) = x p + r w ∥ w ∥ \mathbf{x} = \mathbf{x}_p + (\mathbf{x} - \mathbf{x}_p) = \mathbf{x}_p + r \frac{\mathbf{w}}{\|\mathbf{w}\|} x=xp+(x−xp)=xp+r∥w∥w

其中: x p \mathbf{x}_p xp 是 x \mathbf{x} x 在超平面的投影,而 r r r 表示其到超平面的距离

因此将其带入 g ( x ) g(x) g(x) 可得:

g ( x ) = w T x + b = w T ( x p + r w ∥ w ∥ ) + b = w T x p + b + r w T w ∥ w ∥ = g ( x p ) + r ∥ w ∥ \begin{aligned} g(\mathbf{x}) &= \mathbf{w}^T \mathbf{x} + b \\ &= \mathbf{w}^T \left( \mathbf{x}_p + r \frac{\mathbf{w}}{\|\mathbf{w}\|} \right) + b \\ &= \mathbf{w}^T \mathbf{x}_p + b + r \frac{\mathbf{w}^T \mathbf{w}}{\|\mathbf{w}\|} \\ &= g(\mathbf{x}_p) + r \|\mathbf{w}\| \end{aligned} g(x)=wTx+b=wT(xp+r∥w∥w)+b=wTxp+b+r∥w∥wTw=g(xp)+r∥w∥

因为 g ( x p ) = 0 g(\mathbf{x}_p)=0 g(xp)=0 因此可得到:

r = g ( x ) ∥ w ∥ r = \frac{g(\mathbf{x})}{\|\mathbf{w}\|} r=∥w∥g(x)

因此可得到:

r = g ( x ( s ) ) ∥ w ∥ = { 1 ∥ w ∥ , for d ( s ) = + 1 − 1 ∥ w ∥ , for d ( s ) = − 1 r = \frac{g(\mathbf{x}^{(s)})}{\|\mathbf{w}\|} = \begin{cases} \frac{1}{\|\mathbf{w}\|}, & \text{for } d^{(s)} = +1 \\ \frac{-1}{\|\mathbf{w}\|}, & \text{for } d^{(s)} = -1 \end{cases} r=∥w∥g(x(s))={∥w∥1,∥w∥−1,for d(s)=+1for d(s)=−1

所以两个分类的间隔为:

ρ = 2 ∥ w ∥ \rho = \frac{2}{\|\mathbf{w}\|} ρ=∥w∥2

综上:最大化分类间隔 \\rho 也就是最小化 ∥ w ∥ \|\mathbf{w}\| ∥w∥

故SVM可转化为优化问题:

MIN J ( w ) = 1 2 w T w \text{MIN} \ J(\mathbf{w}) = \frac{1}{2} \mathbf{w}^T \mathbf{w} MIN J(w)=21wTw

S . t . d ( i ) × [ w T x ( i ) + b ] ≥ 1 for i = 1 , 2 , ... , N S.t. \ \ d(i) \times \left[ \mathbf{w}^T \mathbf{x}(i) + b \right] \geq 1 \quad \text{for } i = 1,2, \dots, N S.t. d(i)×[wTx(i)+b]≥1for i=1,2,...,N

根据拉格朗日乘子(Lagrange Multipliers)计算得到:

w ∗ = ∑ i = 1 N α ( i ) d ( i ) x ( i ) \mathbf{w}^* = \sum_{i=1}^{N} \alpha(i) d(i) \mathbf{x}(i) w∗=i=1∑Nα(i)d(i)x(i)

b ∗ = 1 − ( w ∗ ) T x ( s ) b^* = 1 - (\mathbf{w}^*)^T \mathbf{x}^{(s)} b∗=1−(w∗)Tx(s)

Soft Marigin

软间隔SVM允许一定程度的分类错误,以适应数据中可能存在的噪声和不可分数据点。其数学公式转化为:

d ( i ) × [ w T x ( i ) + b ] ≥ 1 − ξ ( i ) d(i) \times \left[ \mathbf{w}^T \mathbf{x}(i) + b \right] \geq 1 - \xi(i) d(i)×[wTx(i)+b]≥1−ξ(i)

其最优解为:

w ∗ = ∑ i = 1 N α ( i ) d ( i ) x ( i ) \mathbf{w}^* = \sum_{i=1}^{N} \alpha(i) d(i) \mathbf{x}(i) w∗=i=1∑Nα(i)d(i)x(i)

b ∗ = 1 − ( w ∗ ) T x ( s ) b^* = 1 - (\mathbf{w}^*)^T \mathbf{x}^{(s)} b∗=1−(w∗)Tx(s)

Kernel SVM

核心是将数据 x \mathbf{x} x 通过非线性映射到高维线性空间,后应用SVM处理。

Cover's Theorem 科夫定理:

在一个多维输入空间内,如果数据模式是非线性可分的,那么可以将一个非线性映射将其投影至更高维的特征空间,使得数据具有更高的概率变的线性可分。

  • 映射必须为非线性的
  • 特征空间的维度足够高。即如果特征空间足够高,每个样本都具有足够的自由度进行分离。这也是为什么深度学习通常在高维空间表现的更好。

计算方法类似线性SVM 可得到:

w = ∑ i = 1 N α ( i ) d ( i ) φ [ x ( i ) ] \mathbf{w} = \sum_{i=1}^{N} \alpha(i) d(i) \boldsymbol{\varphi} \left[ \mathbf{x}(i) \right] w=i=1∑Nα(i)d(i)φ[x(i)]

上述公式仍需显示的求 φ \boldsymbol{\varphi} φ 的表达式。但在高维空间内,显式计算的计算量很大甚至不可行。因此引入kernel SVM.

核矩阵公式:

K [ x , x ( i ) ] = φ ( x ) T φ [ x ( i ) ] = ∑ j = 0 m φ j ( x ) φ j [ x ( i ) ] K \left[ \mathbf{x}, \mathbf{x}(i) \right] = \boldsymbol{\varphi} (\mathbf{x})^T \boldsymbol{\varphi} \left[ \mathbf{x}(i) \right] = \sum_{j=0}^{m} \varphi_j (\mathbf{x}) \varphi_j \left[ \mathbf{x}(i) \right] K[x,x(i)]=φ(x)Tφ[x(i)]=j=0∑mφj(x)φj[x(i)]

Mercer's Theorem 默瑟定理

对于任意有限个样本点 x ( 1 ) , x ( 2 ) , . . . , x ( N ) x(1), x(2),..., x(N) x(1),x(2),...,x(N), 核矩阵 K K K 是对称的并且是半正定的,则 K K K 是一个有效的核函数。

半正定矩阵

∀ v ∈ R N , v T K v ≥ 0 \forall \mathbf{v} \in \mathbb{R}^{N}, \quad \mathbf{v}^T K \mathbf{v} \geq 0 ∀v∈RN,vTKv≥0

转换后,无需显示计算 w \mathbf{w} w ,其表达式转化为:

f ( x ) = w T φ ( x ) + b = ( ∑ i = 1 N α i d i φ ( x i ) ) T φ ( x ) + b = ∑ i = 1 N α i d i ( φ ( x i ) T φ ( x ) ) + b = ∑ i = 1 N α i d i K ( x i , x ) + b \begin{aligned} f(\mathbf{x}) &= \mathbf{w}^T \boldsymbol{\varphi}(\mathbf{x}) + b \\ &= \left( \sum_{i=1}^{N} \alpha_i d_i \boldsymbol{\varphi}(\mathbf{x}i) \right)^T \boldsymbol{\varphi}(\mathbf{x}) + b \\ &= \sum{i=1}^{N} \alpha_i d_i \left( \boldsymbol{\varphi}(\mathbf{x}i)^T \boldsymbol{\varphi}(\mathbf{x}) \right) + b \\ &= \sum{i=1}^{N} \alpha_i d_i K(\mathbf{x}_i, \mathbf{x}) + b \end{aligned} f(x)=wTφ(x)+b=(i=1∑Nαidiφ(xi))Tφ(x)+b=i=1∑Nαidi(φ(xi)Tφ(x))+b=i=1∑NαidiK(xi,x)+b

常见的核函数包括:

  • 多项式核函数

    K ( x , z ) = ( 1 + x T z ) p K(\mathbf{x}, \mathbf{z}) = (1 + \mathbf{x}^T \mathbf{z})^p K(x,z)=(1+xTz)p

    其中, p p p 通常取 2 或 3

  • 高斯核函数

    K ( x , z ) = exp ⁡ ( − ∥ x − z ∥ 2 2 σ 2 ) K(\mathbf{x}, \mathbf{z}) = \exp\left( - \frac{\|\mathbf{x} - \mathbf{z}\|^2}{2\sigma^2} \right) K(x,z)=exp(−2σ2∥x−z∥2)

相关推荐
lijianhua_97121 小时前
国内某顶级大学内部用的ai自动生成论文的提示词
人工智能
EDPJ2 小时前
当图像与文本 “各说各话” —— CLIP 中的模态鸿沟与对象偏向
深度学习·计算机视觉
蔡俊锋2 小时前
用AI实现乐高式大型可插拔系统的技术方案
人工智能·ai工程·ai原子能力·ai乐高工程
自然语2 小时前
人工智能之数字生命 认知架构白皮书 第7章
人工智能·架构
大熊背2 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
eastyuxiao2 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
诸葛务农2 小时前
AGI 主要技术路径及核心技术:归一融合及未来之路5
大数据·人工智能
光影少年2 小时前
AI Agent智能体开发
人工智能·aigc·ai编程
ai生成式引擎优化技术2 小时前
TSPR-WEB-LLM-HIC (TWLH四元结构)AI生成式引擎(GEO)技术白皮书
人工智能
帐篷Li3 小时前
9Router:开源AI路由网关的架构设计与技术实现深度解析
人工智能