机器学习 第6章 支持向量机

news2024/12/23 10:37:51

这里写目录标题

  • 6.1 间隔与支持向量
  • 6.2 对偶问题
  • 6.3 核函数
  • 6.4 软间隔与正则化
  • 6.5 支持向量回归

6.1 间隔与支持向量

给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , y i ∈ { − 1 , + 1 } D=\left \{ (x_{1},y_{1}),(x_{2},y_{2}) ,...,(x_{m},y_{m})\right \} ,y_{i}\in \left \{ -1,+1 \right \} D={(x1,y1),(x2,y2),...,(xm,ym)},yi{1,+1},我们希望在训练集D的基础上,基于样本空间找到一个划分超平面,将不同类别的样本分开。如下图所示在这里插入图片描述
在该样本空间中,中间的"实线段"都可作为划分超平面,但它们的效果不尽相同。其中位于中间的效果最好,因为该划分超平面对训练样本局部扰动的"容忍"性最好。在样本空间中,划分超平面可通过如下线性方程来描述: w T x + b = 0 w^{T} x+b=0 wTx+b=0
其中 w = ( w 1 , w 2 , . . . , w d ) w=\left ( w_{1} ,w_{2} ,...,w_{d} \right ) w=(w1,w2,...,wd)为法向量,决定了超平面的方向; b b b为位移项,决定了超平面与原点之间的距离。样本空间中任意点 x x x到超平面 ( w , b ) (w,b) (w,b)的距离可写为
r = ∣ w T x + b ∣ ∥ w ∥ . r = \frac{\left| {\mathbf{w}}^{\mathrm{T}}\mathbf{x} + b\right| }{\parallel \mathbf{w}\parallel }. r=w wTx+b .
假设超平面 ( w , b ) (w,b) (w,b)能将训练样本正确分类,即满足下式
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 \left\{ \begin{array}{ll} {\mathbf{w}}^{\mathrm{T}}{\mathbf{x}}_{i} + b \geq + 1, & {y}_{i} = + 1 \\ {\mathbf{w}}^{\mathrm{T}}{\mathbf{x}}_{i} + b \leq - 1, & {y}_{i} = - 1 \end{array}\right. {wTxi+b+1,wTxi+b1,yi=+1yi=1
如下图所示,图中画圈的样本点称为支持向量,它们到超平面的距离最小。其中,两个异类支持向量到超平面的距离之和为 γ = 2 ∥ w ∥ \gamma = \frac{2}{\parallel \mathbf{w}\parallel } γ=w2,即图中两段虚线之间的间隔距离。
在这里插入图片描述

6.2 对偶问题

可以使用拉格朗日乘子法得到对偶问题,上面问题的拉格朗日函数可写为
L ( w , b , α ) = 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L\left( {\mathbf{w},b,\mathbf{\alpha }}\right) = \frac{1}{2}\parallel \mathbf{w}{\parallel }^{2} + \mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i}\left( {1 - {y}_{i}\left( {{\mathbf{w}}^{\mathrm{T}}{\mathbf{x}}_{i} + b}\right) }\right) L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))
L ( w , b , α ) L(w,b,\alpha) L(w,b,α)对w和b的偏导为零可得
w = ∑ i = 1 m α i y i x i \mathbf{w} = \mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i}{y}_{i}{\mathbf{x}}_{i} w=i=1mαiyixi
0 = ∑ i = 1 m α i y i 0 = \mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i}{y}_{i} 0=i=1mαiyi
将结果代入得其对偶问题
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \mathop{\max }\limits_{\mathbf{\alpha }}\mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i} - \frac{1}{2}\mathop{\sum }\limits_{{i = 1}}^{m}\mathop{\sum }\limits_{{j = 1}}^{m}{\alpha }_{i}{\alpha }_{j}{y}_{i}{y}_{j}{\mathbf{x}}_{i}^{\mathrm{T}}{\mathbf{x}}_{j} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxj
上面过程需满足KKT条件,即
{ α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = \left\{ \begin{array}{l} {\alpha }_{i} \geq 0; \\ {y}_{i}f\left( {\mathbf{x}}_{i}\right) - 1 \geq 0; \\ {\alpha }_{i}\left( {{y}_{i}f\left( {\mathbf{x}}_{i}\right) - 1}\right) = \end{array}\right. αi0;yif(xi)10;αi(yif(xi)1)=
在参数初始化后, SMO 不断执行如下两个步骤直至收敛:
(1)选取一对需更新的变量 α i \alpha _{i} αi α j \alpha _{j} αj;
(2)固定 α i \alpha _{i} αi α j \alpha _{j} αj以外的参数,求解公式获得更新后的 α i \alpha _{i} αi α j \alpha _{j} αj

6.3 核函数

在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面,如下图中的" 异或 问题就不是线性可分的
在这里插入图片描述

对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性分。令 ϕ ( x ) \phi (x) ϕ(x)表示将 x x x映射后的特征向量 ,于是, 在特征空间中划分超平面所对应的模型可表示为
f ( x ) = w T ϕ ( x ) + b f(x)=w^{T} \phi (x)+b f(x)=wTϕ(x)+b,由于特征空间维数可能很高,甚至可能是无穷维,因此直接计算 ϕ ( x i ) T ϕ ( x j ) \phi {\left( {\mathbf{x}}_{i}\right) }^{\mathrm{T}}\phi \left( {\mathbf{x}}_{j}\right) ϕ(xi)Tϕ(xj)很难,可设想该函数
κ ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ = ϕ ( x i ) T ϕ ( x j ) \kappa \left( {{\mathbf{x}}_{i},{\mathbf{x}}_{j}}\right) = \left\langle {\phi \left( {\mathbf{x}}_{i}\right) ,\phi \left( {\mathbf{x}}_{j}\right) }\right\rangle = \phi {\left( {\mathbf{x}}_{i}\right) }^{\mathrm{T}}\phi \left( {\mathbf{x}}_{j}\right) κ(xi,xj)=ϕ(xi),ϕ(xj)=ϕ(xi)Tϕ(xj)
经过该函数的变化,上式可改写为
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j κ ( x i , x j ) \mathop{\max }\limits_{\mathbf{\alpha }}\mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i} - \frac{1}{2}\mathop{\sum }\limits_{{i = 1}}^{m}\mathop{\sum }\limits_{{j = 1}}^{m}{\alpha }_{i}{\alpha }_{j}{y}_{i}{y}_{j}\kappa \left( {{\mathbf{x}}_{i},{\mathbf{x}}_{j}}\right) αmaxi=1mαi21i=1mj=1mαiαjyiyjκ(xi,xj)
求解后得到
f ( x ) = w T ϕ ( x ) + b f\left( \mathbf{x}\right) = {\mathbf{w}}^{\mathrm{T}}\phi \left( \mathbf{x}\right) + b f(x)=wTϕ(x)+b
= ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = \mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i}{y}_{i}\phi {\left( {\mathbf{x}}_{i}\right) }^{\mathrm{T}}\phi \left( \mathbf{x}\right) + b =i=1mαiyiϕ(xi)Tϕ(x)+b
= ∑ i = 1 m α i y i κ ( x , x i ) + b = \mathop{\sum }\limits_{{i = 1}}^{m}{\alpha }_{i}{y}_{i}\kappa \left( {\mathbf{x},{\mathbf{x}}_{i}}\right) + b =i=1mαiyiκ(x,xi)+b
上面的 κ ( . , . ) \kappa (.,.) κ(.,.)就是“核函数”,该函数有如下定理
χ \chi χ为输入空间, κ ( . , . ) \kappa (.,.) κ(.,.)是该空间上的对称函数,则 κ \kappa κ是核函数当且仅当对于任意数据,“核矩阵”K总是半正定的
在这里插入图片描述
上式表明:只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射φ.换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”的特征空间。
常用核函数如下:
在这里插入图片描述

6.4 软间隔与正则化

硬间隔:在样本空间中,对某一个超平面,其中所有的样本都必须划分正确。
软间隔:与上述类似,只不过允许部分样本不满足约束。
下图给出了三种常用的替代损失函数:
hinge损失: ℓ hinge  ( z ) = max ⁡ ( 0 , 1 − z ) {\ell }_{\text{hinge }}\left( z\right) = \max \left( {0,1 - z}\right) hinge (z)=max(0,1z)
指数损失: ℓ exp  ( z ) = exp ⁡ ( − z ) {\ell }_{\text{exp }}\left( z\right) = \exp \left( {-z}\right) exp (z)=exp(z)
对率损失: ℓ log  ( z ) = log ⁡ ( 1 + exp ⁡ ( − z ) ) {\ell }_{\text{log }}\left( z\right) = \log \left( {1 + \exp \left( {-z}\right) }\right) log (z)=log(1+exp(z))
在这里插入图片描述
两者唯一的差别就在于对偶变量的约束不同:软间隔是 0 ≤ α i ≤ C 0\le \alpha _{i} \le C 0αiC, 硬间隔是 0 ≤ α i 0\le \alpha _{i} 0αi

6.5 支持向量回归

给定训练样本D,希望学得一个形如 f ( x ) = w T x + b f(x)=w^{T}x+b f(x)=wTx+b的回归模型,使得 f ( x ) f(x) f(x)与y尽可能接近,支持向量回归(SVR)假设我们能容忍 f ( x ) f(x) f(x)与y之间最多有 ϵ \epsilon ϵ的偏差,如图所示
在这里插入图片描述
在虚线部分的样本点则认为是被预测正确的。于是,SRC问题可形式化为
min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i ) , \mathop{\min }\limits_{{\mathbf{w},b}}\frac{1}{2}\parallel \mathbf{w}{\parallel }^{2} + C\mathop{\sum }\limits_{{i = 1}}^{m}{\ell }_{\epsilon }\left( {f\left( {\mathbf{x}}_{i}\right) - {y}_{i}}\right) , w,bmin21w2+Ci=1mϵ(f(xi)yi),
其中,
ℓ ϵ ( z ) = { 0 ,  if  ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ ,  otherwise.  {\ell }_{\epsilon }\left( z\right) = \left\{ \begin{array}{ll} 0, & \text{ if }\left| z\right| \leq \epsilon \\ \left| z\right| - \epsilon , & \text{ otherwise. } \end{array}\right. ϵ(z)={0,zϵ, if zϵ otherwise. 
引入松弛变量 ξ i \xi _{i} ξi ξ ^ i \hat{\xi} _{i} ξ^i,第一个公式改写为
min ⁡ w , b , ξ i , ξ ^ i 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) \mathop{\min }\limits_{{\mathbf{w},b,{\xi }_{i},{\widehat{\xi }}_{i}}}\frac{1}{2}\parallel \mathbf{w}{\parallel }^{2} + C\mathop{\sum }\limits_{{i = 1}}^{m}\left( {{\xi }_{i} + {\widehat{\xi }}_{i}}\right) w,b,ξi,ξ imin21w2+Ci=1m(ξi+ξ i)
最终,SVR可表示为
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b f\left( \mathbf{x}\right) = \mathop{\sum }\limits_{{i = 1}}^{m}\left( {{\widehat{\alpha }}_{i} - {\alpha }_{i}}\right) \kappa \left( {\mathbf{x},{\mathbf{x}}_{i}}\right) + b f(x)=i=1m(α iαi)κ(x,xi)+b
其中 κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa ({\mathbf{x}}_{i},{\mathbf{x}}_{j}) = \phi ({\mathbf{x}}_{i}{)}^{T}\phi ({\mathbf{x}}_{j}) κ(xi,xj)=ϕ(xi)Tϕ(xj)为核函数。

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

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

相关文章

禹晶、肖创柏、廖庆敏《数字图像处理》Otsu方法描述勘误

最大化类间距离准则与最小错误率准则不等价。 虚线处为最大类间距离,前景与背景直方图的交界处为最小错分概率,当部分前景错分为背景或者部分背景错分为前景时,一般会导致类间距离变小。所以两者接近,但不相等。 禹晶、肖创柏、…

《Spring Boot 集成 Swagger:打造高效接口文档与开发体验》

Swagger 一.导语: ​ 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后…

MindSearch 部署

任务 按照教程,将 MindSearch 部署到 HuggingFace 并美化 Gradio 的界面,并提供截图和 Hugging Face 的Space的链接。 创建开发机 & 环境配置 mkdir -p /root/mindsearch cd /root/mindsearch git clone https://github.com/InternLM/MindSearch.…

dbsyncer同步mysql数据

1 概述 DBSyncer(代码地址:https://github.com/86dbs/dbsyncer)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务&#…

人脸质量评价:深入解析和实现

人脸质量评价:深入解析和实现 引言 随着人工智能和计算机视觉技术的飞速发展,人脸识别已成为许多领域的关键技术之一。然而,人脸识别的准确性高度依赖于输入的人脸图像质量。因此,人脸质量评价作为人脸识别前的预处理步骤&#…

如何利用电商 API 数据分析助力精准选品!

电商 API 数据分析在选品过程中起着至关重要的作用,它们之间有着密切的关系: 一、提供市场趋势洞察 热门商品识别: 通过分析电商 API 中的销售数据,包括商品的销售量、销售额、销售频率等指标,可以快速准确地识别出当…

清华计算几何-线段求交与BO算法

单轴线段求交 给定单边轴下, N定线段,检查出相交的线段. 解法一: 暴力求解 遍历所有线段对,进行相交判断, 算法复杂度为O(n2) 解法二: LR扫描 把每条线段的头尾认定为L和R。对所有点进行排序,如果每两个点满足LL或者RR,则对应…

Leetcode JAVA刷刷站(97)交错字符串

一、题目概述 二、思路方向 为了验证字符串 s3 是否由 s1 和 s2 交错组成,我们可以使用动态规划(Dynamic Programming, DP)的方法来解决这个问题。 首先,我们需要定义状态 dp[i][j],它表示 s1 的前 i 个字符和 s2 的前…

DocuSign集成方案 | 结合 DocuSign 与 Oracle,加快业务完成速度!

DocuSign for Oracle 集成将 DocuSign 的电子签名功能与 Oracle 的项目生命周期管理 (PLM) 解决方案相结合 DocuSign 和 Oracle 是两家全球领先的技术公司,它们都致力于帮助企业简化和自动化流程。DocuSign 是电子签名领域的领导者,其解决方案可帮助企业…

【操作系统】实验:进度调度(2)

目录 一、实验目的 二、实验要求 三、实验步骤 四、核心代码 五、记录与处理 六、思考 七、完整报告和成果文件提取链接 一、实验目的 1、掌握高优先权调度算法 2、理解时间片、优先权、抢占等基本概念。 二、实验要求 1. 优先权属于静态优先权; 2. 进入 …

DevOps实现CI/CD实战(五)- Jenkins流水线Pipeline-更新中..

九、 Jenkins流水线pipeline Jenkins流水线任务介绍 之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的间,并且问题不方便定位问题。Jenkins的…

工程数学与数学建模在编程与算法设计中的应用(下)

目录 引言 第三部分:工程数学在算法设计与优化中的应用 3.1 微分方程与动力系统模拟 常微分方程(ODE)在动态系统中的应用 偏微分方程(PDE)在图像处理与物理模拟中的应用 总结 3.2 概率论与数理统计在机器学习中的…

若依将登录用户的userId自动加载到查询中

点击搜索,会将登录用户的userId作为搜索条件,去查询。 新版本自动存储了userId,我们不用改,只要知道如何引用。 前端使用 在对应的vue文件,查询queryParams 加查询的值 然后参考他的 添加store import store from &…

i.MX6裸机开发(11)——DDR测试

本章参考资料:《IMX6ULRM》(参考手册)。 学习本章时,配合《IMX6ULRM》Chapter 33: Multi Mode DDR Controller (MMDC) 一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。 特别说明,本书内容是以i.MX6U系列控制器资…

Serdes系统中的CTLE技术

典型的SerDes系统包含输入数据、串行器、发射机(TX)、信道、接收机(RX)、解串器和输出数据。串行数据比特流被输入到发送器。发射机由均衡器(EQ)和包括封装效果的线性模拟后端组成。传输后端和接收器前端之…

JAVA语言开发环境配置详细讲解

​ ​ 您好,我是程序员小羊! 前言 Java是一门广泛应用于软件开发领域的编程语言,自1995年由Sun Microsystems首次发布以来,经过多年的发展,已经成为业界的重要编程语言之一。Java以其“编写一次,到处运行”…

【计算机网络】电路交换、报文交换、分组交换

电路交换(Circuit Switching):通过物理线路的连接,动态地分配传输线路资源 ​​​​

IDEA/Pycharm/Goland/jetbrains2024.2全家桶汉化失败问题解决

近期,jetbrains全家桶更新到了2024.2版本,不少人反馈到,下载安装之后,按照以前的汉化方式进行汉化的之后,并没有生效。本章教程,提供此问题的解决方案,亲测有效。 JetBrains 是一家总部位于捷克布拉格的软件开发公司,成立于 2000年。该公司以开发高效、智能的开发工具和…

基于SparkGraphX实现标签传播(LPA)算法

基于SparkGraphX实现标签传播(LPA)算法 标签传播算法(LPA)与Louvain一样,同样是一种常用的社群发现算法,它的基本思想是让图中的节点根据邻居节点的标签(即社区信息)来更新自己的标…

第J1周:ResNet-50算法实战与解析(TensorFlow版)

>- **🍨 本文为[🔗365天深度学习训练营]中的学习记录博客** >- **🍖 原作者:[K同学啊]** 本周任务: 1.请根据本文TensorFlow代码,编写出相应的pytorch代码 2.了解残差结构 3.是否可以将残差模块融…