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

数据挖掘 3.5 支持向量机——边界和正则化

3.5 Margin and Regularization
3.5 边界和正则化

边界和正则化

  • 求一个点距离线性分类器的距离
  • 支持向量机的另一个视角
    • SVM(支持向量机)优化问题的两种等价形式
      • 无约束优化问题 (Unconstrained Optimization Problem)
      • 有约束优化问题 (Constrained Optimization Problem)
      • 对应关系

求一个点距离线性分类器的距离

考虑一个线性分类器,其分界面为:

f(x)=wTx+b=0对于所有在边界上的 xf(\mathbf{x}) = \mathbf{w}^T \mathbf{x} + b = 0 \quad \text{对于所有在边界上的} \ \mathbf{x} f(x)=wTx+b=0对于所有在边界上的 x

向量 w\mathbf{w}w 垂直于线性判别式

在这里插入图片描述

证明过程
假设在边界上有两个点 x(1)\mathbf{x}^{(1)}x(1)x(2)\mathbf{x}^{(2)}x(2)

f(x(1))=wTx(1)+b=0(1)f(\mathbf{x}^{(1)}) = \mathbf{w}^T \mathbf{x}^{(1)} + b = 0 \tag{1} f(x(1))=wTx(1)+b=0(1)

f(x(2))=wTx(2)+b=0(2)f(\mathbf{x}^{(2)}) = \mathbf{w}^T \mathbf{x}^{(2)} + b = 0 \tag{2} f(x(2))=wTx(2)+b=0(2)

用式 (2) 减去式 (1):

wT(x(2)−x(1))=0\mathbf{w}^T \left( \mathbf{x}^{(2)} - \mathbf{x}^{(1)} \right) = 0 wT(x(2)x(1))=0由此可得: w⊥(x(2)−x(1))\mathbf{w} \perp \left( \mathbf{x}^{(2)} - \mathbf{x}^{(1)} \right)w(x(2)x(1))

权重向量 W 与边界上的任意两个点的连线方向垂直。

求距离margin

x(s)\mathbf{x}^{(s)}x(s) 是特征空间中的一个点,它在边界上的投影为 x(p)\mathbf{x}^{(p)}x(p)

f(x(p))=wTx(p)+b=0(3)f(\mathbf{x}^{(p)}) = \mathbf{w}^T \mathbf{x}^{(p)} + b = 0 \tag{3} f(x(p))=wTx(p)+b=0(3)
在这里插入图片描述

根据向量计算, x(s)=x(p)+rw^(4)\mathbf{x}^{(s)} = \mathbf{x}^{(p)} + r \hat{\mathbf{w}}\tag{4}x(s)=x(p)+rw^(4)

w^\hat{\mathbf{w}}w^w\mathbf{w}w的方向向量,长度为1,

w^=w∥w∥(5)\hat{\mathbf{w}}=\frac{\mathbf{w}}{\|\mathbf{w}\|}\tag{5}w^=ww(5)

求训练数据点 x(s)\mathbf{x}^{(s)}x(s)的标签值, f(x(s))=wTx(s)+bf(\mathbf{x}^{(s)}) = \mathbf{w}^T \mathbf{x}^{(s)} + bf(x(s))=wTx(s)+b, 将(4)代入,
f(x(s))=wT(x(p)+rw^)+bf(x(s))=wTx(p)+rwTw^+bf(\mathbf{x}^{(s)})= \mathbf{w}^T \left( \mathbf{x}^{(p)} + r \hat{\mathbf{w}} \right) + b\\ \\ f(\mathbf{x}^{(s)})= \mathbf{w}^T \mathbf{x}^{(p)} + r \mathbf{w}^T \hat{\mathbf{w}} + b\\ f(x(s))=wT(x(p)+rw^)+bf(x(s))=wTx(p)+rwTw^+b将(5)代入,
f(x(s))=wTx(p)+b+rwTw∥w∥f(\mathbf{x}^{(s)})= \mathbf{w}^T \mathbf{x}^{(p)} + b + r \, \mathbf{w}^T \frac{\mathbf{w}}{\|\mathbf{w}\|} f(x(s))=wTx(p)+b+rwTww
代入(3),

f(x(s))=0+rwTw∥w∥f(x(s))=0+rwTw∥w∥f(x(s))=0+r∥w∥f(x(s))=r∥w∥f(\mathbf{x}^{(s)})=0+r \, \mathbf{w}^T \frac{\mathbf{w}}{\|\mathbf{w}\|}\\ f(\mathbf{x}^{(s)})= 0+r \frac{\mathbf{w}^T\mathbf{w}}{\|\mathbf{w}\|}\\ f(\mathbf{x}^{(s)})=0 + r \|\mathbf{w}\| \\f(\mathbf{x}^{(s)})= r \|\mathbf{w}\| f(x(s))=0+rwTwwf(x(s))=0+rwwTwf(x(s))=0+rwf(x(s))=rw

由此,

r=f(x(s))∥w∥r = \frac{f(\mathbf{x}^{(s)})}{\|\mathbf{w}\|} r=wf(x(s))

解释rrr 表示点 x(s)\mathbf{x}^{(s)}x(s) 到边界的有符号距离,w\mathbf{w}w 是法向量,w^\hat{\mathbf{w}}w^ 是单位法向量。

举一个实例

rrr 的距离是如何计算出来的?

在这里插入图片描述

r=f(x(s))∥w∥=4+2∗2+312+22=115≈4.92r = \frac{f(\mathbf{x}^{(s)})}{\|\mathbf{w}\|} = \frac{4+2*2+3}{\sqrt{1^2+2^2}} = \frac{11}{\sqrt{5}}\approx4.92 r=wf(x(s))=12+224+22+3=5114.92

支持向量机的另一个视角

在这里插入图片描述

Hinge Loss: l(f(x),y)=max⁡(0,1−yf(x))l(f(x), y) = \max(0, 1 - y f(x))l(f(x),y)=max(0,1yf(x))

基于链式损失函数限制:
y⋅f(x)≥1y \cdot f(x) \geq 1yf(x)1

对于正类(y=+1y=+1y=+1):
f(x)≥1f(x) \geq 1f(x)1

对于负类(y=−1y=-1y=1):
f(x)≤−1f(x) \leq -1f(x)1

恰好在间隔边界上的支持向量满足:
y⋅f(x)=1y \cdot f(x) = 1yf(x)=1

因此正类支持向量:
f(x(s))=1f(x^{(s)}) = 1f(x(s))=1

代入得到:
r=f(x(s))∥w∥r = \frac{f(\mathbf{x}^{(s)})}{\|\mathbf{w}\|} r=wf(x(s))

r=1∥w∥r = \frac{1}{\lVert \mathbf{w} \rVert} r=w1

SVM(支持向量机)优化问题的两种等价形式

无约束优化问题 (Unconstrained Optimization Problem)

min⁡w12w⊤w+CN∑i=1Nmax⁡⁣{0,1−yif(xi;w)}\min_{w}\;\; \frac{1}{2} w^{\top} w \;+\; \frac{C}{N}\sum_{i=1}^{N} \max\!\{0,\; 1 - y_i\, f(x_i; w)\} wmin21ww+NCi=1Nmax{0,1yif(xi;w)}

有约束优化问题 (Constrained Optimization Problem)

min⁡w,ξ12w⊤w+CN∑i=1Nξis.t.yif(xi;w)≥1−ξi,i=1,…,N,ξi≥0.\begin{aligned} \min_{w,\,\xi}\;\; & \frac{1}{2}\, w^{\top} w \;+\; \frac{C}{N}\sum_{i=1}^{N} \xi_i \\ \text{s.t.}\;\; & y_i\, f(x_i; w) \;\ge\; 1 - \xi_i,\quad i=1,\dots,N,\\ & \xi_i \;\ge\; 0. \end{aligned} w,ξmins.t.21ww+NCi=1Nξiyif(xi;w)1ξi,i=1,,N,ξi0.

对应关系

ξi=max⁡{0,1−yif(xi;w)}\xi_i \;=\; \max\{0,\; 1 - y_i\, f(x_i; w)\} ξi=max{0,1yif(xi;w)}

Note: 边距最大化 = 正则化

http://www.xdnf.cn/news/18077.html

相关文章:

  • 深度理解分布式事务——强一致分布式事务解决方案
  • linux-高级IO(中)
  • LINUX 818 shell:random;for for
  • ReactNative开发实战——React Native开发环境配置指南
  • VS Code Copilot 完整使用教程(含图解)
  • LeetCode热题100--226. 翻转二叉树--简单
  • 我们为什么需要时序数据库?
  • Docker学习--认识Docker
  • 基于nvm安装管理多个node.js版本切换使用(附上详细安装使用图文教程+nvm命令大全)
  • 视觉语言导航(6)——Speaker-Follower模型 数据增强 混合学习 CLIP 3.1后半段
  • Vision Master的C#脚本与opencv联合编程
  • 【低空安全】低空安全简介
  • Springboot项目3种视图(JSP、Thymeleaf、Freemarker)演示
  • TypeScript中的import语法详解
  • qt svg缺失元素, 原因是不支持 rgba
  • Gemini 学习记录:实践与反思
  • 区块链练手项目(持续更新)
  • [优选算法专题二滑动窗口——将x减到0的最小操作数]
  • 数据结构:在二叉搜索树中插入元素(Insert in a BST)
  • 已开源:Highcharts.NET,Highcharts Android,与Highcharts iOS集成
  • JUC常用线程辅助类详解
  • Vue中v-show与v-if的区别
  • 【每日一题】Day 6
  • 代码管理系统简介与部署
  • 2.4 双向链表
  • Redis学习--集群 数据分片、哈希槽、集群配置、主从容错迁移、扩缩容
  • Golang 后台技术面试套题 1
  • 《Nursing Research》(护理SCI)LaTeX模板详细教程:从入门到投稿(一)
  • OpenMemory MCP发布!AI记忆本地共享,Claude、Cursor一键同步效率翻倍!
  • Week 12: 深度学习补遗:RNN与LSTM