[吃瓜教程]南瓜书第6章软间隔与支持向量回归

news2024/12/26 23:53:59

1.软间隔支持向量机的模型

之前讨论的支持向量机的一个重要的假设前提是它的数据集是线性可分的。然而在现实任务中,线性不可分的情形才是最常见的,因此需要允许支持向量机犯错。这就是接下来要说的软间隔的支持向量机。

2.软间隔支持向量机的策略

从数学角度来说,软间隔就是允许部分样本(但是要尽可能的少)不满足下式中的约束条件
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s ⁡ . t .    y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , . . . , m \begin{align*} &\min_{w,b} \frac12||w||^2 \\ &\operatorname s.t. \space \space y_i(w^Tx_i+b) \geq 1,\space i=1,2,...,m \end{align*} w,bmin21∣∣w2s.t.  yi(wTxi+b)1, i=1,2,...,m
考虑损失函数,因为我们知道损失函数是有一定的灵活性的,损失函数的值不可能总是0,这就体现了一定的软间隔的意味,因此我们应该定义以下一个损失函数:

  • 当满足约束条件时,损失为0;
  • 当不满足约束条件时,损失不为0;
  • (可选)当不满足约束条件时,损失与其违反约束条件的程度成正比;
    只有满足以上要求,才能实现我们的设想:尽可能少的不满足约束条件的样本的同时,损失最小化。
    接下来我们就基于支持向量机得到了软间隔支持向量机的损害函数:
    min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l 0 / 1 ( y i ( w T x i + b ) − 1 ) \min_{w,b} \frac12||w||^2 +C\sum^m_{i=1}l_{0/1}(y_i(w^Tx_i+b)-1) w,bmin21∣∣w2+Ci=1ml0/1(yi(wTxi+b)1)
    其中, l 0 / 1 l_{0/1} l0/1是0/1损失函数
    l 0 / 1 ( z ) = { 1 z < 0 0 z ≥ 0 l_{0/1}(z)= \begin{cases} 1\hspace{5mm}&z<0\\ 0 & z\geq0 \end{cases} l0/1(z)={10z<0z0
    C>0是一个常数,用来调节损失的权重,显然当C → + ∞ \rightarrow +\infty +时,会迫使所有样本的损失为0(因为你要最小化上面的式子),进而退化为严格执行的约束条件,退化为硬间隔,因此,本式子可以看作支持向量机的一般化形式。
    进一步的,由于 l 0 / 1 l_{0/1} l0/1非凸、非连续,数学性质不好,使得上式不易求解,因此常用一些数学性质较好的替代函数来替换这个函数。软间隔支持向量机通常采用的是hinge(合页)损失来替代:
    l h i n g e ( z ) = max ⁡ ( 0 , 1 − z ) l_{hinge}(z)=\max(0,1-z) lhinge(z)=max(0,1z)
    在这里插入图片描述

进一步得到替换后软间隔支持向量机的损失函数:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m max ⁡ ( 0 , 1 − y i ( w T x i + b ) \min_{w,b}\frac12||w||^2+C\sum^m_{i=1}\max(0,1-y_i(w^Tx_i+b) w,bmin21∣∣w2+Ci=1mmax(0,1yi(wTxi+b)
可以看到合页函数还满足第三个条件。
在确定了软间隔支持向量机的损失函数后,我们还可以进一步转换,将其从损失函数的形式再写回优化问题的形式。
我们引入一个松弛变量 ξ i \xi_i ξi,上述优化问题便和下述优化问题等价
min ⁡ w , b , ξ i   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s ⁡ . t .    y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 , 2 , . . . , m \begin{align*} &\min_{w,b,\xi_i}\space \frac12||w||^2+C\sum^m_{i=1}\xi_i \\ &\operatorname s.t. \space \space y_i(w^Tx_i+b) \geq 1-\xi_i \\ &\hspace{8mm} \xi_i \geq0 , i=1,2,...,m \end{align*} w,b,ξimin 21∣∣w2+Ci=1mξis.t.  yi(wTxi+b)1ξiξi0,i=1,2,...,m
我们会发现这个优化问题的这个松弛变量 ξ i \xi_i ξi可以较为直观的体现软间隔。

3.支持向量回归

支持向量回归(SVR)用一个以 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b为中心,宽度为 2 ϵ 2\epsilon 2ϵ的间隔带来拟合训练样本。落在带上的样本不计算损失,不在带上的计算损失,然后最小化损失使得间隔带从样本最密集的地方穿过,达到拟合训练样本的目的。
在这里插入图片描述
SVR的损失函数可以写为
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l ϵ ( f ( x i ) − y i ) \min_{w,b}\frac12||w||^2+C\sum^m_{i=1}l_\epsilon(f(x_i)-y_i) w,bmin21∣∣w2+Ci=1mlϵ(f(xi)yi)
其中,
(1) l ϵ ( z ) l_\epsilon(z) lϵ(z)为“ ϵ \epsilon ϵ不敏感损失函数"(类比均方误差损失)
l ϵ ( z ) = { 0 i f ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ i f ∣ z ∣ > ϵ l_\epsilon(z)= \begin{cases} 0\hspace{5mm}&if |z|\leq\epsilon\\ |z|-\epsilon & if |z|>\epsilon \end{cases} lϵ(z)={0zϵifzϵifz>ϵ
(2) 1 2 ∣ ∣ w ∣ ∣ 2 \frac12||w||^2 21∣∣w2为L2正则项,此处引入正则项除了起到正则化的作用外,也是为了和(软间隔)支持向量机的优化目标保持形式上的一致,这样就可以导出对偶问题引入核函数。
(3)C为调节损失权重的常数。

同样的,和软间隔支持向量机类似,我们将损失函数写为优化问题的形式:
引入松弛变量,令
l ϵ ( f ( x i ) − y i ) = ξ i l_\epsilon(f(x_i)-y_i)=\xi_i lϵ(f(xi)yi)=ξi
显然, ξ i ≥ 0 \xi_i\geq0 ξi0,并且
∣ f ( x i ) − y i ∣ ≤ ϵ |f(x_i)-y_i|\leq\epsilon f(xi)yiϵ时,得到 ξ i = 0 \xi_i=0 ξi=0
∣ f ( x i ) − y i ∣ > ϵ |f(x_i)-y_i|>\epsilon f(xi)yi>ϵ时,得到 ξ i = ∣ f ( x i ) − y i ∣ − ϵ \xi_i=|f(x_i)-y_i|-\epsilon ξi=f(xi)yiϵ
所以得到,
∣ f ( x i ) − y i ∣ − ϵ ≤ ξ i |f(x_i)-y_i|-\epsilon\leq\xi_i f(xi)yiϵξi

− ξ i − ϵ ≤ f ( x i ) − y i ≤ ξ i + ϵ -\xi_i-\epsilon\leq f(x_i)-y_i\leq\xi_i+\epsilon ξiϵf(xi)yiξi+ϵ
进一步SVR可以改写为如下形式,
min ⁡ w , b , ξ i   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s ⁡ . t .    − ξ i − ϵ ≤ f ( x i ) − y i ≤ ξ i + ϵ ξ i ≥ 0 , i = 1 , 2 , . . . , m \begin{align*} &\min_{w,b,\xi_i}\space \frac12||w||^2+C\sum^m_{i=1}\xi_i \\ &\operatorname s.t. \space \space-\xi_i-\epsilon\leq f(x_i)-y_i\leq\xi_i+\epsilon\\ &\hspace{8mm} \xi_i \geq0 , i=1,2,...,m \end{align*} w,b,ξimin 21∣∣w2+Ci=1mξis.t.  ξiϵf(xi)yiξi+ϵξi0,i=1,2,...,m
如果考虑两边的不同的松弛程度:
min ⁡ w , b , ξ i   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) s ⁡ . t .    − ξ ^ i − ϵ ≤ f ( x i ) − y i ≤ ξ i + ϵ ξ i ≥ 0 , ξ ^ i ≥ 0 , i = 1 , 2 , . . . , m \begin{align*} &\min_{w,b,\xi_i}\space \frac12||w||^2+C\sum^m_{i=1}(\xi_i+\hat\xi_i) \\ &\operatorname s.t. \space \space-\hat\xi_i-\epsilon\leq f(x_i)-y_i\leq\xi_i+\epsilon\\ &\hspace{8mm} \xi_i \geq0 ,\hat\xi_i \geq0 , i=1,2,...,m \end{align*} w,b,ξimin 21∣∣w2+Ci=1mξi+ξ^is.t.  ξ^iϵf(xi)yiξi+ϵξi0,ξ^i0,i=1,2,...,m

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

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

相关文章

PropertySourcesPropertyResolver

SpringBoot应用中涉及配置相关的东西&#xff0c;例如配置文件、环境变量、系统变量等都是基于类ApplicationServletEnvironment的构造器开启的&#xff0c;如下其抽象父类AbstractEnvironment构造器&#xff1a; public abstract class AbstractEnvironment{private final Mu…

TypeError: load() got an unexpected keyword argument ‘loader‘

定义函数 get_yaml_data用来读取 login_data.yml 文件并打印其内容。 import yamldef get_yaml_data(path):with open(path,moder,encodingutf-8)as f:data yaml.load(f,loader yaml.FullLoader)return dataif __name____main__:pathr..\config\desired_caps.ymlprint(get_y…

7 月12日学习打卡--栈和队列的相互转换

hello大家好呀&#xff0c;本博客目的在于记录暑假学习打卡&#xff0c;后续会整理成一个专栏&#xff0c;主要打算在暑假学习完数据结构&#xff0c;因此会发一些相关的数据结构实现的博客和一些刷的题&#xff0c;个人学习使用&#xff0c;也希望大家多多支持&#xff0c;有不…

如何写一个好标题,让你的论文接受率提升300%?(附公式模版)

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 一篇论文的标题虽然只有短短2-3行&#xff0c;一般不超过15个单词&#xff0c;但是不可否认&#xff0c;标题的阅读量是最大的&#xff0c;因为你只有先通过标题激发了审稿人和…

大模型备案,这样操作就对了!全程指导助你成功备案

在人工智能技术日新月异的今天&#xff0c;大型语言模型&#xff08;简称“大模型”&#xff09;作为AI领域的璀璨明珠&#xff0c;正逐步渗透到我们生活的方方面面&#xff0c;从智能客服到内容创作&#xff0c;从个性化推荐到医疗健康&#xff0c;其影响力不可小觑。 然而&am…

一个极简的 Vue 示例

https://andi.cn/page/621516.html

Linux 04:进程概念

1. 操作系统(Operator System) 概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。笼统的理解&#xff0c;操作系统包括&#xff1a; 内核&#xff08;进程管理&#xff0c;内存管理&#xff0c;文件管理&#xff0c;驱动管理&#xff09;。其他程序…

虚幻引擎 快速的色度抠图 Chroma Key 算法

快就完了 ColorTolerance_PxRange为容差&#xff0c;这里是0-255的输入&#xff0c;也就是px单位&#xff0c;直接用0-1可以更快 Key为目标颜色

安全防御-用户认证综合实验

一、拓扑图 二、实验要求 1、DMZ区的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9:00-18:00&#xff09;可以访问&#xff0c;生产区设备全天都是可以访问的 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3、办公区设备10.0.2.20不允许访…

0601STM32TIM

TOC 分为四部分&#xff0c;八小节 一部分&#xff1a;主要讲定时器基本定时的功能&#xff0c;也就是定一个事件&#xff0c;让定时器每隔这个时间产生一个中断&#xff0c;来实现每隔一个固定时间来执行一段程序的目的&#xff0c;比如做一个时钟、秒表&#xff0c;或者使用一…

求问DAMASK求解中关于yaml文件,报错显示:type dismatch in yaml date node

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

【eNSP模拟实验】单臂路由实现VLAN间通讯(复杂案例)

实验需求 如下图所示&#xff0c;PC1和PC2在vlan10下&#xff0c;PC3和PC4在vlan20下&#xff0c;Server1在vlan30下&#xff0c;需要实现这5台设备之间互相通讯。 实验操作 配置各个终端的ip地址 PC1~PC4都按照下图进行配置&#xff08;注意ip地址和网关有不同的地方&#…

Ubuntu 修改~/.bashrc终端选择是否使用annconda环境

首先需要明白的是anaconda虽然自带了python&#xff0c;但安装anaconda后并不会覆盖掉你原来的python&#xff08;pip也是一样的&#xff09;&#xff0c;但安装anaconda后它会把自己的bin目录&#xff08;里面有python、pip、conda等命令&#xff09;加到PATH上&#xff0c;而…

小程序指南--小程序运行时

第一节 运行环境 小程序可以运行在不同环境中&#xff0c;如下&#xff1a; 1、ios/iPad os 微信客户端 2、Android 微信客户端 3、Windows Pc 微信客户端 4、Mac 微信客户端 5、小程序硬件框架 6、微信开发者工具 那么小程序逻辑层的脚本执行和组件渲染环境不同&…

【MySQL基础篇】事务

事务简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 典型事例&#xff1a;银行转账操作 假设张三向李四进行转账…

MySQL 9.0 新功能概览

官方文档 https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html 时隔 6 年多&#xff0c;上周 Oracle 发布了 MySQL 最新的大版本 9.0。我们一起来看看新版本有哪些东西。 用 JavaScript 写存储过程 半年前已经单独介绍过 「虽迟但到&#xff01;MySQL 可以用 Java…

信息打点web篇--详解cdn识别与绕过

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文着重整理渗透过程中 cdn的相关知识点 cdn简要说明 我们一台服务器如果让外界访问&#xff0c;距离我们服务器近的地区访问的速度快&#xff0c;而远的地区访问速度则会大大减低。为了保证远区域用户的体验&a…

VR头显如何低延迟播放8K的RTSP|RTMP流

技术背景 我们在做Unity平台RTSP、RTMP播放器的时候&#xff0c;有公司提出来这样的技术需求&#xff0c;希望在头显播放全景的8K RTSP|RTMP直播流&#xff0c;8K的数据&#xff0c;对头显和播放器&#xff0c;都提出了新的要求&#xff0c;我们从几个方面&#xff0c;探讨下V…

Lingo学习(一)——基本界面、解方程、变量

一、Lingo基本界面 【步骤】 1.双击打开Lingo 2.弹出一个对话框,点击Cancel左边的Never Register即可,其余内容用不到。 3:界面自动弹出名为“Lingo Model – Lingo 1”的窗口,用于书写代码。 4:以解方程的题目:x12为例,写完代码后,点击“红色的靶心”运行程序。 5:首先Lin…

昇思学习打卡-13-LLM原理与实践/解码原理--以MindNLP为例

文章目录 搜索方法集束搜索(beam search)贪心搜索(greedy search) 采样池处理结果 一个文本序列的概率分布可以分解为每个词基于其上文的条件概率的乘积 搜索方法 集束搜索(beam search) Beam search通过在每个时间步保留最可能的 num_beams 个词&#xff0c;并从中最终选择出…