当前位置: 首页 > news >正文

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+b1for d=+1

w T x + b ≤ − 1 for  d = − 1 \mathbf{w}^T \mathbf{x} + b \leq -1 \quad \text{for } d = -1 wTx+b1for 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+(xxp)=xp+rww

其中: 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+rww)+b=wTxp+b+rwwTw=g(xp)+rw

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

r = g ( x ) ∥ w ∥ r = \frac{g(\mathbf{x})}{\|\mathbf{w}\|} r=wg(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=wg(x(s))={w1,w1,for d(s)=+1for d(s)=1

所以两个分类的间隔为:

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

综上:最大化分类间隔 $ \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=1Nα(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=1Nα(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=1Nα(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=0mφ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 vRN,vTKv0

转换后,无需显示计算 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=1Nαidiφ(xi))Tφ(x)+b=i=1Nαidi(φ(xi)Tφ(x))+b=i=1Nα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σ2xz2)

相关文章:

  • day3作业
  • 队列的顺序结构—循环队列的判断条件(rear + 1) % MAXSIZE分析
  • intra-mart实现logicDesigner与forma联动
  • AI编程工具-(四)
  • 五种经典算法路径规划—遗传算法、麻雀算法、狼群优化、粒子群算法、差分进化算法(Matlab源码)
  • IO进程线程2
  • maven高级-05.私服
  • 从零开始实现机器臂仿真(UR5)
  • 计算机毕业设计SpringBoot+Vue.js医院挂号就诊系统(源码+文档+PPT+讲解)
  • 【Azure 架构师学习笔记】- Azure Databricks (15) --Delta Lake 和Data Lake
  • Python-07PDF转Word
  • SpringCloud系列教程(十二):网关配置动态路由
  • Netty笔记3:NIO编程
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例2: 分页和排序
  • 【深入OpenCV图像处理:从基础到实战应用】
  • 内网渗透信息收集linuxkali扫描ip段,收集脚本(web安全)
  • 电子知识笔记—电磁炉单管、持续加热单管和半桥驱动方案解析
  • langchain 中 RecursiveUrlLoader 使用
  • 【华为OD机考】华为OD笔试真题解析(16)--微服务的集成测试
  • Hi3516CV610车牌识别算法源码之——车牌识别算法初体验
  • 知名网站建设/济南网站优化公司哪家好
  • 企业做网站的公司/百度一下搜索
  • 网站的注册上一步下一步怎么做/网站的宣传推广方式
  • 邢台做移动网站公司/seo实战培训王乃用
  • 芜湖市住房和城乡建设厅网站首页/公司网页制作需要多少钱
  • 用macbook做网站开发/台州关键词首页优化