[吃瓜教程]南瓜书第6章支持向量机

0.补充知识

0.1 超平面

定义: 超平面是指在𝑛维空间中,维度为 𝑛−1的子空间。它是分割空间的一个平面。
性质:
n维空间的超平面 ( w T x b = 0 , 其中 w , x ∈ R n ) (w^Tx_b=0,其中w,x\in \mathbb R^n) (wTxb=0,其中w,xRn):

  • 超平面方程不唯一
    简单理解方程不唯一,假设有如下的超平面方程:
    a 1 x 1 + a 2 x 2 + . . . a n x n + b = 0 a_1x_1+a_2x_2+...a_nx_n+b=0 a1x1+a2x2+...anxn+b=0
    将这个方程乘以一个非零常数k,得到:
    k ( a 1 x 1 + a 2 x 2 + . . . a n x n + b ) = 0 k(a_1x_1+a_2x_2+...a_nx_n+b)=0 k(a1x1+a2x2+...anxn+b)=0

    k a 1 x 1 + k a 2 x 2 + . . . k a n x n + k b ) = 0 ka_1x_1+ka_2x_2+...ka_nx_n+kb)=0 ka1x1+ka2x2+...kanxn+kb)=0
    此时,这两组不同的w和b就描述了同一个超平面。
  • 法向量w和位移项b确定唯一一个超平面
  • 法向量w垂直于超平面(缩放w,b时,若缩放倍数为负数会改变法向量方向)
  • 法向量w指向的那一半空间为正空间,另一半为负空间
  • 任意点x到超平面的距离公式为
    r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣wTx+b
    上述公式的推理:
    对于任意一点 x 0 = ( x 1 0 , x 2 0 , . . . , x n 0 ) T x_0=(x^0_1,x^0_2,...,x_n^0)^T x0=(x10,x20,...,xn0)T,设其在超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0上的投影点为 x 1 = ( x 1 1 , x 2 1 , . . . , x n 1 ) T x_1=(x^1_1,x^1_2,...,x^1_n)^T x1=(x11,x21,...,xn1)T,则 w T x 1 + b = 0 w^Tx_1+b=0 wTx1+b=0,且向量 x 1 x 0 → \overrightarrow {x_1x_0} x1x0 与法向量w平行,
    1)第一步先考虑从哪里可以得到一个距离,可以想到从向量点乘中可以得到,向量 x 1 x 0 → \overrightarrow {x_1x_0} x1x0 的模长也就是距离,如下:
    ∣ w ⋅ x 1 x 0 → ∣ = ∣ ∣ ∣ w ∣ ∣ ⋅ c o s π ⋅ ∣ ∣ x 1 x 0 → ∣ ∣ ∣ = ∣ ∣ w ∣ ∣ ⋅ ∣ ∣ x 1 x 0 → ∣ ∣ = ∣ ∣ w ∣ ∣ ⋅ r |w \cdot \overrightarrow {x_1x_0}|=|||w||\cdot cos\pi \cdot ||\overrightarrow {x_1x_0}|||=||w||\cdot||\overrightarrow {x_1x_0}||=||w||\cdot r wx1x0 =∣∣∣w∣∣cosπ∣∣x1x0 ∣∣∣=∣∣w∣∣∣∣x1x0 ∣∣=∣∣w∣∣r
    其中绝对值是为了统一表示在正空间和负空间中取的点,r就表示距离了。
    2)上面的式子可以得到r,但是前面的向量的内积的绝对值还是未知的,因此考虑化简向量内积,
    w ⋅ x 1 x 0 → w\cdot \overrightarrow {x_1x_0} wx1x0
    = w 1 ( x 1 0 − x 1 1 ) + w 2 ( x 2 0 − x 2 1 ) + . . . + w n ( x n 0 − x n 1 ) =w_1(x^0_1-x^1_1)+w_2(x_2^0-x_2^1)+...+w_n(x^0_n-x_n^1) =w1(x10x11)+w2(x20x21)+...+wn(xn0xn1)
    = w 1 x 1 0 + w 2 x 2 0 + . . . + w n x n 0 − ( w 1 x 1 1 + w 2 x 2 1 + . . . + w n x n 1 ) =w_1x_1^0+w_2x_2^0+...+w_nx_n^0-(w_1x_1^1+w_2x_2^1+...+w_nx_n^1) =w1x10+w2x20+...+wnxn0(w1x11+w2x21+...+wnxn1)
    = w T x 0 − w T x 1 =w^Tx_0-w^Tx_1 =wTx0wTx1
    = w T x 0 + b =w^Tx_0+b =wTx0+b
    即得到了,
    ∣ w T x 0 + b ∣ = ∣ ∣ w ∣ ∣ ⋅ r |w^Tx_0+b|=||w||\cdot r wTx0+b=∣∣w∣∣r
    r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣wTx+b

0.2 几何间隔

(1)对于样本点
对于给定的数据集X和超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0,定义数据集X中的任意一个样本点 ( x i , y i ) , y i ∈ { − 1 , 1 } , i = 1 , 2 , . . . , m (x_i,y_i),y_i\in \{-1,1\},i=1,2,...,m (xi,yi),yi{1,1},i=1,2,...,m关于超平面的几何间隔为
γ i = y i ( w T x i + b ) ∣ ∣ w ∣ ∣ \gamma_i=\frac{y_i(w^Tx_i+b)}{||w||} γi=∣∣w∣∣yi(wTxi+b)
正确分类时: γ i > 0 \gamma_i>0 γi>0,几何间隔此时等价于点到超平面的距离
没有正确分类时: γ i < 0 \gamma_i<0 γi<0
(2)对于数据集
对于给定的数据集X和超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0,定义数据集X关于超平面的几何间隔为:数据集X中所有样本点的几何间隔最小值
γ = min ⁡ i = 1 , 2 , . . . , m γ i \gamma=\min_{i=1,2,...,m}\gamma_i γ=i=1,2,...,mminγi

1.算法原理

支持向量机找的是距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。

2.支持向量机

2.1 模型

给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔 γ \gamma γ达到最的那个超平面,然后再用一个sign函数包装实现分类功能
y = s i g n ( w T x + b ) = { 1 , w T x + b > 0 − 1 , w T x + b < 0 y=sign(w^Tx+b) =\begin{cases} 1& ,{w^Tx+b> 0}\\ -1& ,{w^Tx+b<0} \end{cases} y=sign(wTx+b)={11,wTx+b>0,wTx+b<0
这里的要求几何间隔达到最大直观上理解其实就是超平面正确划分了正负样本且距离正负样本都比较远,没有特别偏向哪一边,体现了支持向量机的强泛化性。

2.2策略

给定线性可分数据集X,设X中几何间隔最小的样本为 ( x m i n , y m i n ) (x_min,y_min) (xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题
m a x γ max \gamma maxγ
s . t . γ i > = γ , i = 1 , 2 , . . . , m s.t. \gamma_i>=\gamma,i=1,2,...,m s.t.γi>=γ,i=1,2,...,m
将几何间隔的公式带入得到,
max ⁡ w , b y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ \max_{w,b} \frac{y_{min}(w^Tx_{min}+b)}{||w||} w,bmax∣∣w∣∣ymin(wTxmin+b)
s . t . y i ( w T x i + b ) ∣ ∣ w ∣ ∣ > = y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ , i = 1 , 2 , . . . , m s.t. \frac{y_{i}(w^Tx_{i}+b)}{||w||}>=\frac{y_{min}(w^Tx_{min}+b)}{||w||},i=1,2,...,m s.t.∣∣w∣∣yi(wTxi+b)>=∣∣w∣∣ymin(wTxmin+b),i=1,2,...,m
进一步化简得
max ⁡ w , b y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ \max_{w,b} \frac{y_{min}(w^Tx_{min}+b)}{||w||} w,bmax∣∣w∣∣ymin(wTxmin+b)
s . t . y i ( w T x i + b ) > = y m i n ( w T x m i n + b ) , i = 1 , 2 , . . . , m s.t. y_{i}(w^Tx_{i}+b)>=y_{min}(w^Tx_{min}+b),i=1,2,...,m s.t.yi(wTxi+b)>=ymin(wTxmin+b),i=1,2,...,m
为了使得上式有唯一解,添加进一步的限制,因为在一定的w和b的条件下可以使得上面式子得分子为1,因此,就假设上式中得分子为1,得到:
max ⁡ w , b = 1 ∣ ∣ w ∣ ∣ \max_{w,b}=\frac{1}{||w||} w,bmax=∣∣w∣∣1
s . t . y i ( w T x i + b ) > = 1 , i = 1 , 2 , . . . , m s.t. y_i(w^Tx_i+b)>=1,i=1,2,...,m s.t.yi(wTxi+b)>=1,i=1,2,...,m
进一步变为最小化问题,得到
max ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \max_{w,b} \frac12||w||^2 w,bmax21∣∣w2
s . t . 1 − y i ( w T x i + b ) < = 0 , i = 1 , 2 , . . . , m s.t. 1-y_i(w^Tx_i+b)<=0,i=1,2,...,m s.t.1yi(wTxi+b)<=0,i=1,2,...,m
该优化问题为含不等式约束的优化问题,且为凸优化问题。在这里通常用拉格朗日对偶来求解。
补充——拉格朗日对偶:
对于一般地约束优化问题(不一定是凸优化问题):
m i n f ( x ) min f(x) minf(x)
s . t . g i ( x ) < = 0 , i = 1 , 2 , . . . , m s.t. g_i(x)<=0 ,i=1,2,...,m s.t.gi(x)<=0,i=1,2,...,m
h i ( x ) = 0 , j = 1 , 2 , . . . , n h_i(x)=0,j=1,2,...,n hi(x)=0,j=1,2,...,n
设上述优化问题的定义域为在这里插入图片描述
,可行集为在这里插入图片描述
,显然
在这里插入图片描述
最优值为 p ∗ = m i n { f ( x ~ ) } p*=min\{f( \widetilde x)\} p=min{f(x )}。由拉格朗日函数的定义可知上述优化问题的拉格朗日函数为
在这里插入图片描述
接下来定义上述优化问题的拉格朗日对偶函数 Γ ( μ , λ ) 为 L ( x , μ , λ ) \Gamma(\mu,\lambda)为L(x,\mu,\lambda) Γ(μ,λ)L(x,μ,λ)关于x的下确界,也即
Γ ( μ , λ ) = inf ⁡ x ∈ D L ( x , μ , λ ) = inf ⁡ x ∈ D ( f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 n λ j h j ( x ) ) \Gamma(\mu,\lambda)=\inf_{x \in D}L(x,\mu,\lambda)=\inf_{x\in D}(f(x)+\sum^m_{i=1}\mu_ig_i(x)+\sum^n_{j=1}\lambda_jh_j(x)) Γ(μ,λ)=xDinfL(x,μ,λ)=xDinf(f(x)+i=1mμigi(x)+j=1nλjhj(x))
对偶函数的性质:

  • 无论优化问题是否为凸优化问题,其对偶函数恒为凹函数
  • μ \mu μ大于等于0时, Γ ( μ , λ ) \Gamma(\mu,\lambda) Γ(μ,λ)构成了上述优化问题最优值 p ∗ p^* p的下界,也即
    Γ ( μ , λ ) < = p ∗ \Gamma(\mu,\lambda)<=p* Γ(μ,λ)<=p
    进一步定义在满足 μ \mu μ大于等于0这个约束条件下求对偶函数最大值的优化问题为拉格朗日对偶问题(原优化问题为主问题)
    max ⁡ Γ ( μ , λ ) \max \Gamma(\mu,\lambda) maxΓ(μ,λ)
    s . t . μ > = 0 s.t. \mu>=0 s.t.μ>=0
    设该优化问题的最优值为 d ∗ d^* d,显然 d ∗ < = p ∗ d^*<=p^* d<=p,此时称为弱对偶性成立,若 d ∗ = p ∗ d^*=p^* d=p,则称为强对偶性成立。
    支持向量机满足Slater条件(若主问题是凸优化问题,且可行集中存在一点能使得所有不等式约束的不等号成立,则强对偶成立),而该条件使得强对偶成立,就找到了一种间接求 p ∗ p^* p的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++的set / multiset容器

一、介绍 C的set容器又被称为集合&#xff0c;所有元素在被插入后都会自动排序。 二、数据结构 set / multiset属于关联式容器&#xff0c;底层数据结构是用二叉树实现的。 其余的容器比如vector、deque和list等为序列式容器&#xff0c;因为他们底层使用线性序列结构&#xf…

Windows环境安装Redis和Redis Desktop Manager图文详解教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Redis概述 Redis是一个开源的高性能键值对数据库&#xff0c;以其卓越的读写速度而著称&#xff0c;广泛用于数据库、缓存和消息代理。它主要将数据存储在内存中&#xff0…

CISC和RISC指令集

文章目录 1. 指令集 2. CISC&#xff08;复杂指令集计算&#xff09; 3. RISC&#xff08;精简指令集计算&#xff09; 4. RISC的设计初衷 5. CISC和RISC流程对比 CISC&#xff08;复杂指令集计算&#xff09;的实现 RISC&#xff08;精简指令集计算&#xff09;的实现 …

【高中数学之函数】四种幂函数图线(二次、三次、开方、开立方)

【图像】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>UNASSIGNED</title><style type"text/css">.c…

【智能算法应用】灰狼算法求解二维栅格路径规划问题

目录 1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】灰狼算法&#xff08;GWO&#xff09;原理及实现 2.二维路径规划数学模型 栅格法模型最早由 W.E. Howden 于 1968 年提出&#xff0c;障碍物的栅格用黑色表示&#xff0c;可通…

基于pi控制的数字锁相环simulink建模与仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

基于MATLAB的PEF湍流风场生成器模拟与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于MATLAB的PEF湍流风场生成器模拟与仿真。PEF&#xff08;Primitive Equations Formulation&#xff09;湍流风场模型&#xff0c;是大气科学和气象学中用来描述大气流动和气…

咬文嚼字:词元是当今生成式人工智能失败的一个重要原因

生成式人工智能模型处理文本的方式与人类不同。了解它们基于"标记"的内部环境可能有助于解释它们的一些奇怪行为和顽固的局限性。从 Gemma 这样的小型设备上模型到 OpenAI 业界领先的 GPT-4o 模型&#xff0c;大多数模型都建立在一种称为转换器的架构上。由于转换器在…

subset使用

在R语言中&#xff0c;subset()函数用于从数据框中选择满足特定条件的观测。其语法如下&#xff1a; subset(x, subset, select, drop FALSE) 参数说明&#xff1a; x&#xff1a;数据框或矩阵。 subset&#xff1a;逻辑条件&#xff0c;用于筛选满足特定条件的行。 select…

Linux Bridge - Part 2

概览 在前一篇文章中&#xff0c;我描述了Linux 网桥&#xff08;bridge&#xff09;的配置&#xff0c;并展示了一个实验&#xff0c;其中使用Wireshark来分析流量。在本文中&#xff0c;我将讨论当创建一个网桥时会发生什么&#xff0c;以及Linux 网桥&#xff08;bridge&am…

给您介绍工控CAN总线

CAN是什么 CAN&#xff0c;全称Controller Area Network&#xff0c;即控制器局域网&#xff0c;是一种由Bosch公司在1983年开发的通信协议。它主要用于汽车和工业环境中的电子设备之间的通信。CAN协议定义了物理层和数据链路层的通信机制&#xff0c;使得不同的设备能够通过CA…

数据驱动的内容优化:Kompas.ai如何提升内容表现

在数字化营销时代&#xff0c;内容是企业与用户沟通的重要桥梁。然而&#xff0c;随着信息量的爆炸性增长&#xff0c;如何让内容在激烈的竞争中脱颖而出&#xff0c;成为每个营销人员面临的问题。数据驱动的内容优化策略&#xff0c;通过精准分析和科学决策&#xff0c;帮助品…

基于Java+SpringMvc+Vue技术的实验室管理系统设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

基于Transformer的端到端的目标检测 | 读论文

本文正在参加 人工智能创作者扶持计划 提及到计算机视觉的目标检测&#xff0c;我们一般会最先想到卷积神经网络&#xff08;CNN&#xff09;&#xff0c;因为这算是目标检测领域的开山之作了&#xff0c;在很长的一段时间里人们都折服于卷积神经网络在图像处理领域的优势&…

SQLite 嵌入式数据库

目录&#xff1a; 一、SQLite 简介二、SQLite 数据库安装1、安装方式一&#xff1a;2、安装方式二&#xff1a; 三、SQLite 的命令用法1、创建、打开、退出数据库&#xff1a;2、编辑数据库&#xff1a; 四、SQLite 的编程操作1、打开 / 创建数据库的 C 接口&#xff1a;2、操作…

欧拉函数.

性质1&#xff1a;质数n的欧拉函数为n-1. 性质2&#xff1a;如果p&#xff0c;q都是质数&#xff0c;那么ϕ ( p ∗ q ) ϕ ( p ) ∗ ϕ ( q ) ( p − 1 ) ∗ ( q − 1 ) 证明&#xff1a;p&#xff0c;2p....q*p都不与q*p互质&#xff0c;q同理&#xff0c;所以总的不互质个…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找&#xff0c;那么只能通过翻页的方式&#xff0c;每页10行&#xff08;外加一行自己&#xff09;。 爬取效果预览 本脚本爬取了个人排名和高校排名&#xff0c;可以借助WPS或MS Offi…

专业140+总分420+天津大学815信号与系统考研经验天大电子信息与通信工程,真题,大纲,参考书。

顺利上岸天津大学&#xff0c;专业课815信号与系统140&#xff0c;总分420&#xff0c;总结一些自己的复习经历&#xff0c;希望对于报考天大的同学有些许帮助&#xff0c;少走弯路&#xff0c;顺利上岸。专业课&#xff1a; 815信号与系统&#xff1a;指定教材吴大正&#xf…

缺失行处理(R和python)

R(complete.cases) rm(listls()) # 创建一个包含缺失值的数据框 # df <- data.frame( # x c(1, 2, NA, 4), # y c(NA, 2, 3, 4), # z c(1, NA, 3, 3) # ) # # # 使用complete.cases函数筛选包含缺失值的数据行 # missing_rows <- !complete.cases(df) # # # …

Vue2前端实现数据可视化大屏全局自适应 Vue实现所有页面自适应 Vue实现自适应所有屏幕

Vue自适应所有屏幕大小,目前页面自适应,尤其是数据可视化大屏的自适应更是案例很多 今天就记录一下使用Vue全局自适应各种屏幕大小的功能 在Vue.js中创建一个数据大屏,并使其能够自适应不同屏幕大小,通常涉及到布局的响应式设计、CSS媒体查询、以及利用Vue的事件系统来处理…