【SVM手把手推导】对偶问题应用之支持向量机SVM(Hard Margin)

1. 对偶问题应用之支持向量机SVM

1.1 SVM

设给定数据集: { ( s i , y i ) : y i ∈ { 1 , − 1 } , i = 1 , ⋯   , m } \{(\mathbf{s}^i,y^i):y^i\in\{1,-1\},i=1,\cdots,m\} {(si,yi):yi{1,1},i=1,,m},我们想要找到一个决策超平面(decision hyperplane),用方程表示为 x T s + b = 0 \mathbf{x}^T\mathbf{s}+b=0 xTs+b=0,使两个类别的样本尽量分开,如图:
在这里插入图片描述

SVM的目标就是最大化分类间隔(margin),所以找到 margin 的数学表达式至关重要。

1.1.1 【推导】:分类间隔的数学表达

因为等比例放缩 x , b \mathbf{x},b x,b 不会改变平面位置,也就是说 x T s + b = 0 \mathbf{x}^T\mathbf{s}+b=0 xTs+b=0 c ( x T s + b ) = 0 c(\mathbf{x}^T\mathbf{s}+b)=0 c(xTs+b)=0 表示同一个超平面

设此时的决策超平面是 x 0 T s + b 0 = 0 \mathbf{x_0}^T\mathbf{s}+b_0=0 x0Ts+b0=0 ,决策上界为 x 0 T s + b 0 = k 0 \mathbf{x_0}^T\mathbf{s}+b_0=k_0 x0Ts+b0=k0,因为等比例缩放不改变平面位置,所以决策上界可以重写为 1 k 0 ( x 0 T s + b 0 ) = 1 \frac{1}{k_0}(\mathbf{x_0}^T\mathbf{s}+b_0)=1 k01(x0Ts+b0)=1,对应的,决策超平面为 1 k 0 ( x 0 T s + b 0 ) = 0 ⇔ x 0 T s + b 0 = 0 \frac{1}{k_0}(\mathbf{x_0}^T\mathbf{s}+b_0)=0\Leftrightarrow \mathbf{x_0}^T\mathbf{s}+b_0=0 k01(x0Ts+b0)=0x0Ts+b0=0

所以无论如何我们都能找到一组 x , b \mathbf{x},b x,b 使得 x T s + + b ≥ 1 \mathbf{x}^T\mathbf{s^+}+b\geq1 xTs++b1 x T s − + b ≤ − 1 \mathbf{x}^T\mathbf{s^{-}}+b\leq-1 xTs+b1
在这里插入图片描述

我们可以通过缩放 x , b \mathbf{x},b x,b 让正例和负例中距离决策超平面最近的两个点分别落在超平面 H 1 : x T s + b = 1 H_1:\mathbf{x}^T\mathbf{s}+b=1 H1:xTs+b=1 H 2 : x T s + b = − 1 H_2:\mathbf{x}^T\mathbf{s}+b=-1 H2:xTs+b=1 上。

不难推出 H 1 H_1 H1 H 2 H_2 H2 之间的距离,即分类间隔(margin)等于 2 ∣ ∣ x ∣ ∣ 2 \frac{2}{||\mathbf{x}||_2} ∣∣x22

1.1.2 【SVM】约束优化形式

SVM的原优化问题定义:
max ⁡ x , b 2 ∣ ∣ x ∣ ∣ s.t.  y i ( x T s i + b ) ≥ 1 \max\limits_{\mathbf{x},b} \frac{2}{||\mathbf{x}||} \\ \text{s.t. }y^i(\mathbf{x}^T\mathbf{s}^i+b)\geq1 x,bmax∣∣x∣∣2s.t. yi(xTsi+b)1
写成约束优化标准形式:
min ⁡ x , b ∣ ∣ x ∣ ∣ 2 2 s.t.  1 − y i ( x T s i + b ) ≤ 0 \min\limits_{\mathbf{x},b}\frac{||\mathbf{x}||^2}{2} \\ \text{s.t. } 1-y^i(\mathbf{x}^T\mathbf{s}^i+b)\leq0 x,bmin2∣∣x2s.t. 1yi(xTsi+b)0

1.1.3 【推导】求解

  • 将上述约束优化式子转换成拉格朗日函数:

L ( x , b , λ ) = 1 2 ∣ ∣ x ∣ ∣ 2 + ∑ i = 1 m λ i ( 1 − y i ( x T s i + b ) ) L(\mathbf{x},b,\lambda)=\frac{1}{2}||\mathbf{x}||^2+\sum_{i=1}^m\lambda_i(1-y^i(\mathbf{x}^T\mathbf{s}^i+b)) L(x,b,λ)=21∣∣x2+i=1mλi(1yi(xTsi+b))

  • 根据KKT条件,有如下推断

KaTeX parse error: Undefined control sequence: \part at position 8: \frac{\̲p̲a̲r̲t̲ ̲L}{\part\mathbf…

KaTeX parse error: Undefined control sequence: \part at position 8: \frac{\̲p̲a̲r̲t̲ ̲L}{\part b}=0\R…

  • 由公式(1)我们得到:

∣ ∣ x ∣ ∣ 2 = ∣ ∣ ∑ i = 1 m λ i y i s i ∣ ∣ 2 = ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j ( s i ) T s i ||\mathbf{x}||^2=||\sum_{i=1}^m\lambda_iy^i\mathbf{s}^i||^2=\sum_{i=1}^m\sum_{j=1}^m\lambda_i\lambda_jy^iy^j(\mathbf{s}^i)^T\mathbf{s}^i ∣∣x2=∣∣i=1mλiyisi2=i=1mj=1mλiλjyiyj(si)Tsi

  • 于是,拉格朗日函数可以化简为:

L ( x , b , λ ) = 1 2 ∣ ∣ x ∣ ∣ 2 + ∑ i = 1 m λ i − ∑ i = 1 m λ i y i ( s i ) T x = ∑ i = 1 m λ i − 1 2 ∣ ∣ x ∣ ∣ 2 ⇒ q ( λ ) = ∑ i = 1 m λ i − 1 2 ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j ( s i ) T s i L(\mathbf{x},b,\lambda)=\frac{1}{2}||\mathbf{x}||^2+\sum_{i=1}^m\lambda_i-\sum_{i=1}^m\lambda_iy^i(\mathbf{s}^i)^T\mathbf{x}=\sum_{i=1}^m\lambda_i-\frac{1}{2}||\mathbf{x}||^2\\\Rightarrow q(\lambda)=\sum_{i=1}^m\lambda_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\lambda_i\lambda_jy^iy^j(\mathbf{s}^i)^T\mathbf{s}^i L(x,b,λ)=21∣∣x2+i=1mλii=1mλiyi(si)Tx=i=1mλi21∣∣x2q(λ)=i=1mλi21i=1mj=1mλiλjyiyj(si)Tsi

  • 上述的分析可以推出下面对偶问题:

max ⁡ λ ∑ i = 1 m λ i − 1 2 ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j ( s i ) T s i s.t.  ∑ i = 1 m λ i y i = 0 , λ i ≥ 0 , i ∈ { 1 , ⋯   , m } . \max\limits_{\lambda}\sum_{i=1}^m\lambda_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\lambda_i\lambda_jy^iy^j(\mathbf{s}^i)^T\mathbf{s}^i\\ \text{s.t. } \sum_{i=1}^m\lambda_iy^i=0,\lambda_i\geq0,i\in\{1,\cdots,m\}. λmaxi=1mλi21i=1mj=1mλiλjyiyj(si)Tsis.t. i=1mλiyi=0,λi0,i{1,,m}.

  • 不难发现,对偶问题的目标函数是一个二次型目标函数,且约束都为线性约束。一旦我们找到了对偶问题的最优解 λ i ∗ \lambda_i^* λi,我们就能得到 x = ∑ i = 1 m λ i ∗ y i s i \mathbf{x}=\sum_{i=1}^m\lambda_i^*y^i\mathbf{s}^i x=i=1mλiyisi
  • 我们称 s i \mathbf{s}^i si 为一个支持向量,如果 y i ( x T s i + b ) = 1 y^i(\mathbf{x}^T\mathbf{s}^i+b)=1 yi(xTsi+b)=1,如果 s i \mathbf{s}^i si 不是支持向量,根据互补松弛条件, λ i = 0 \lambda_i=0 λi=0,于是 x \mathbf{x} x 可以被支持向量表示为: x = ∑ i : λ i > 0 λ i y i s i \mathbf{x}=\sum\limits_{i:\lambda_i>0}\lambda_iy^i\mathbf{s}^i x=i:λi>0λiyisi

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

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

相关文章

大数据技术的前景如何?

在当今数字化迅猛发展的时代,大数据技术的前景显得尤为广阔。随着数据量的激增,如何有效利用这些数据成为了各行各业关注的焦点。未来五年,大数据技术的发展趋势可以从市场规模、技术融合、行业应用和政策支持等多个方面进行深入分析。 1. 市…

【STM32】单片机ADC原理详解及应用编程

本篇文章主要详细讲述单片机的ADC原理和编程应用,希望我的分享对你有所帮助! 目录 一、STM32ADC概述 1、ADC(Analog-to-Digital Converter,模数转换器) 2、STM32工作原理 二、STM32ADC编程实战 (一&am…

推荐一款全新的视频编辑软件:CapCut剪映国际版

CapCut是一款全新的视频编辑应用程序,提供了各种功能和工具,让用户可以轻松地创建专业级别的视频。这款应用程序非常易于使用,功能强大,可供任何水平的用户使用。 CapCut包含了各种视频编辑工具,可以添加各种特效、滤镜…

提升用户体验优化全攻略

内容概要 用户体验(UX)在当今数字化时代扮演着举足轻重的角色。良好的用户体验不仅决定了用户对产品的满意度,还有助于提高转化率与客户忠诚度。因此,深入理解用户体验的重要性是每一个设计师和产品经理必须掌握的基础。在这一部…

关于springboot跨域与拦截器的问题

今天写代码的时候遇到的一个问题,在添加自己设置的token拦截器之后,报错: “ERROR Network Error AxiosError: Network Error at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:112:14) at Axi…

SDK和API

什么是SDK? SDK就像是一个超级工具箱,里面装满了各种工具、说明书和配件,帮你快速、方便地完成一项工作。比如,你要搭建一个乐高模型,SDK就是那个包含了所有乐高积木、拼装图纸、甚至一些特殊工具的大盒子。 什么是A…

【错误描述:“L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误”】

解决办法: 一、检查并更改网络协议 (如果网络协议更改完成,还是链接失败,直接看 第二点) 1、打开网络和Internet 设置 2、找到更改适配器选项 3、先择你要链接VPN,右键选择属性,之后选择安…

【网络】2.TCP通信

TCP通信 server1. 创建套接字2. 填充套接字3. 将套接字和监听文件描述符绑定4. 将_listensock设置为监听状态5. 启动服务器accept()函数read()函数 Server启动client1. 创建套接字2. 填充套接字connect()函数 3. 通过文件描述符向服务端发送信息 client启动 server server的启…

【ArcGISPro】宣布推出适用于 ArcGIS 的 AI 助手

此次分享了ESRI正在开发新的“AI 助手”来扩展ArcGIS应用程序,并且使用经过专门培训、提示工程和 LLM的“AI 助手”为这些应用程序提供特定技能。并且以视频的方式展示了如何使用生成式 AI 在ArcGIS应用程序中自动化和加速工作流。最后表示这些 “AI 助手”将在 202…

Ansible基本使用

目录 介绍 安装 inventory-主机清单 分组 子组 modules-模块 command shell script file copy systemd yum get_url yum_repository user mount cron 介绍 ansible是基于python开发的自动化运维工具。架构相对比较简单,仅需通过ssh连接客户机执行…

volatile如何保证可见性和禁止指令重排序?

当线程对volatile修饰的变量进行写操作时,JMM会插入一个写屏障,会强制的将本地内存中的数据写到主内存中 当线程对volatile修饰的变量进行读操作时,JMM会插入一个读屏障,会强制的让本地内存中数据失效,重新到主内存中读…

AUTOSAR_EXP_ARAComAPI的6章笔记(4)

☞返回总目录 相关总结:《AUTOSAR 自适应应用中原始数据流传输的使用方法》总结 6.4 原始数据流传输的使用方法 本章描述了原始数据流(RawDataStreams)在 AUTOSAR 自适应应用程序中的使用方法。 目前,原始数据流传输在单播 / …

input子系统的框架和重要数据结构详解

#1024程序员节 | 征文# 往期内容 I2C子系统专栏: 专栏地址:IIC子系统_憧憬一下的博客-CSDN博客具体芯片的IIC控制器驱动程序分析:i2c-imx.c-CSDN博客 – 末篇,有往期内容观看顺序 总线和设备树专栏: 专栏地址&#…

【Linux:网络基础】

网络协议: 协议实际上可以称为一种“约定”,通过网络通信中的数据约定,不同主机必须遵循相同的网络协议才可以实现通信。 协议即为通信双方都认识的结构化的数据类型 协议分层 协议的本质也是软件,在设计上为了更好的进行模块…

C++刷怪笼(9)继承

目录 1.前言 2.正文 2.1继承的概念和定义 2.1.1继承的概念 2.1.2继承的定义 ​编辑 2.1.3继承类模板 2.2基类和派生类间的转换 2.3继承中的作用域 2.3.1隐藏规则 2.4派⽣类的默认成员函数 2.4.1个常⻅默认成员函数 2.4.2实现⼀个不能被继承的类 2.5继承与友元 2.…

QT中使用图表之QChart概述

在Qt中使用QChart类可以快速绘制一个图表出来,比如折线图、饼图、柱状图等 QChart类用来管理图表中的图形、图例、轴等 QChartView是专门用来显示图表的类,相当于一个QWidget或者窗口,用来显示QChart 即总的步骤就是 1、创建QChartView的…

codeforces _ 补题

C. Ball in Berland 传送门:Problem - C - Codeforces 题意: 思路:容斥原理 考虑 第 i 对情侣组合 ,男生为 a ,女生为 b ,那么考虑与之匹配的情侣 必须没有 a | b ,一共有 k 对情侣&#x…

零基础学西班牙语,柯桥专业小语种培训泓畅学校

No te comas el coco, seguro que te ha salido bien la entrevista. Ya te llamarn. 别瞎想了!我保证你的面试很顺利。他们会给你打电话的。 这里的椰子是"头"的比喻。在西班牙的口语中,我们也可以听到其他同义表达,比如&#x…

一、开发环境的搭建

环境搭建步骤: 下载软件安装软件运行软件 其他: Visual studio 安装包文件:https://www.alipan.com/s/nd5RgzD4e3b 下载软件 在浏览器中搜索Visual studio,选择如图的选项 点击该区域,进入该页面,【或…

SSH免密钥登录

1: 用 ssh-key-gen 在本地主机上创建公钥和密钥 winr cmd 打开控制台 ssh-keygen -t rsa 一直按enter 2: 用 ssh-copy-id 把公钥复制到远程主机上 user 是用户名 remote_host是远程主机 ssh-copy-id -i ~/.ssh/id_rsa.pub userremote_host 3: 直接登录远程主机&#xf…