python学智能算法(三十二)|SVM-软边界理解

【1】引言

前序学习进程中,已经对SVM的KKT条件,Slater条件等进行了探究,但这些都是完美情况,数据线性可分。
实际生活中需要处理的数据往往因为各式各样的原因会不可分,所以必须学会容忍一些小错误,完美的很难永恒存在。
为描述这种小错误的存在,软边界被定义出来。

【2】软边界定义

在早期的拉格朗日函数构造中,我们很熟悉函数距离F的定义公式:F=min⁡i=1,...,myi(w⋅xi+b)F=\min_{i=1,...,m}y_{i}(w \cdot x_{i}+b)F=i=1,...,mminyi(wxi+b)
这个时候先把最小的函数间隔调整为1,就会有F≥1F\geq 1F1
此时最好换一种写法,把F改为g:g=yi(w⋅xi+b)≥1g=y_{i}(w\cdot x_{i}+b)\geq 1g=yi(wxi+b)1
但因为有一些淘气的点存在,所以给上述公式配一个变量项ξi\xi_{i}ξi,这个时候再把g改为h,有:
h=yi(w⋅xi+b)≥1−ξih=y_{i}(w\cdot x_{i}+b)\geq 1-\xi_{i}h=yi(wxi+b)1ξi
之前我们已经推算过,几何距离和最优化几何距离是不断变化数学表达式的效果。

几何距离:δ=F∣∣w∣∣\delta=\frac{F}{||w||}δ=wF
最佳几何距离:通过同比率调整w和b,使得F=1,从而有δmax=1∣∣w∣∣\delta_{max}=\frac{1}{||w||}δmax=w1
在此基础上进而转化为距离函数ffff=min⁡12∣∣w∣∣2f=\min \frac{1}{2}||w||^2f=min21w2

现在匹配带有变量项ξ\xiξ的情况,改写上述定义:
几何距离:δξ=h∣∣w∣∣\delta_{\xi}=\frac{h}{||w||}δξ=wh
最佳几何距离:通过同比率调整w和b,使得F=1,变量项这个时候就出现了,从而有δmax,ξi=1−ξi∣∣w∣∣\delta_{max,\xi_{i}}=\frac{1-\xi_{i}}{||w||}δmaxξi=w1ξi
此时的距离函数fff包括两部分,第一部分是单纯和∣∣w∣∣||w||w相关,另一部分的影响则来自在∣∣w∣∣||w||w确认时,ξi\xi_{i}ξi的存在。为了避免麻烦,定义最优化几何距离为:
f=min⁡12∣∣w∣∣2+C∑i=1nξif=\min \frac{1}{2}||w||^2+C\sum_{i=1}^{n}\xi_{i}f=min21w2+Ci=1nξi
这就是SVM的软边界公式。
此处的新增项C∑i=1nξiC\sum_{i=1}^{n}\xi_{i}Ci=1nξi是错误惩罚项。

定义一个常数C有很多好处:
首先实际上每个ξ\xiξ的大小都不一样,如果定义CiξiC_{i}\xi_{i}Ciξi会让公式变得异常复杂,所以C放在求和符号之前,可以简化公式;
然后C放在求和符号之前,实际上对变量项进行线性化处理,待求解问题的结构变得简单,在之后构造拉格朗日函数也会变得相对容易。
从更大的层面,我们也更希望从整体的角度控制模型对错误的容忍度,所以定义一个常数C可以实现快速调整,非常符合调参数的期待。

【3】总结

初步学习了支持向量机的软边界公式。

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

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

相关文章

实名认证 —— 腾讯云驾驶证识别接口

官方地址: API Explorer - 云 API - 控制台https://console.cloud.tencent.com/api/explorer?Productocr&Version2018-11-19&ActionDriverLicenseOCR前置操作与下面博客前置操作一致:实名认证 —— 腾讯云身份证认证接口-CSDN博客 首先编写Con…

科技云报到:Agent应用爆发,谁成为向上托举的力量?

科技云报道原创。经过两年多的发展后,AI开始加速进入Agent时代。当AI从“被动响应”迈向“主动决策”,AI Agent正成为连接数字世界与物理世界的核心枢纽。从自动处理客户服务工单的企业Agent,到协调多步骤科研实验的学术Agent,再到…

Python字典高阶操作:高效提取子集的技术与工程实践

引言:字典子集提取在现代数据处理中的关键作用在Python数据工程领域,字典结构作为核心数据载体占比高达68%(2025年Python生态调查报告)。字典子集提取作为高频操作,在以下场景中至关重要:​​API响应处理​…

Java学习进阶--集合体系结构

Java 集合框架 (java.util 包) 是 Java 中用于存储和操作数据集合的核心组件,其设计精良、功能强大且高度灵活。理解其体系结构是 Java 进阶的关键一步。一.集合的核心思想接口与实现分离集合框架的核心在于接口定义了行为规范,而具体实现类提供了不同的…

【Unity】Unity中的StreamingAssets文件夹

目录前言核心特性1. 文件保留原始格式2. 只读访问3. 平台兼容性不同平台下的路径一、使用1、读写2、使用UnityWebRequest读取二、AB读取的特例三、注意事项前言 StreamingAssets 文件夹是Unity项目中的一个特殊目录,用于存放需要在运行时访问的资源文件。这个文件夹…

[windows]torchsig 1.1.0 gr-spectrumdetect模块安装

问题 按照提供的readme git clone https://github.com/TorchDSP/torchsig.git cd torchsig pip install . cd gr-spectrumdetect mkdir build cd build cmake ../ make install cd ../examples/ bash trained_model_download.sh gnuradio-companion example.grc &安装总是出…

网络安全要了解的知识

基于2025年网络安全态势整理的十大高危漏洞类型,结合攻击影响范围、技术严重性及实际案例分析综合排序:---1. 访问控制失效- 核心问题:权限校验缺失导致越权操作(如修改URL参数获取他人数据)。 - 案例:202…

xml 格式化

运行效果:免费在线XML格式化工具 - XML代码美化/压缩/验证 代码实现: using Microsoft.AspNetCore.Mvc; using System.Xml; using System.Xml.Linq;namespace SaaS.OfficialWebSite.Web.Controllers {public class XmlController : Controller{public I…

Pygame音频播放的最简框架代码示例

一、示例代码:import pygame pygame.init() pygame.mixer.init() pygame.mixer.music.load(/home/lijiang/Music/Lynyrd Skynyrd - Sweet Home Alabama.mp3) pygame.mixer.music.play()while pygame.mixer.music.get_busy():pygame.time.Clock().tick(10)二、代码详…

在Ubuntu环境中安装Docker和Minikube的完整指南

目录 前言 准备工作 第一部分:安装Docker 步骤1:卸载旧版本(如果有) 步骤2:安装依赖包 步骤3:添加Docker官方GPG密钥 步骤4:设置Docker仓库 步骤5:安装Docker引擎 步骤6&am…

几个概率分布在机器学习应用示例

一、说明 在这份快速指南中,我们将介绍最重要的分布——从始终公平的均匀分布,到钟形的正态分布,计数点击的泊松分布,以及二元选择的二项分布。 没有复杂的数学,只有清晰的概念、真实的例子,以及为什么它们…

2025年测绘程序设计模拟赛一--地形图图幅编号及图廓点经纬度计算

想要在2026年参加这个比赛的,可以加入小编和其它大佬所建的群242845175一起来备赛,为2026年的比赛打基础,也可以私信小编,为你答疑解惑一、读取文件 这里有两种文件需要读取,所以要额外处理 internal class Read {publ…

【C++基础】名字空间与 inline 命名空间:面试高频考点与真题解析

想象一下,你正在开发一个大型项目,团队中有10名程序员同时工作。当你们分别定义了calculate()函数时,编译器会陷入混乱:它不知道应该调用哪个版本的calculate。这就是C++引入名字空间(Namespace)的根本原因! 一、名字空间(Namespace)基础概念 1.1 为什么需要名字空间…

Pytest项目_day08(setup、teardown前置后置操作)

setup模块级setup_module:运行于模块开始之前,生效一次 一个py文件(测试文件)就是一个模块函数级setup_function:对于每条(不在类中的)函数用例生效,如果函数在类中,那么…

trae开发c#

安装插件C# Dev Kit,使用的版本是1.41.11 .NET Install Tool一般会自动安装,安装C# dev kit的时候,版本2.3.7 C# 插件,版本2.87.31 https://marketplace.visualstudio.com/items?itemNamems-dotnettools.vscode-dotnet-runtim…

Modstart 请求出现 Access to XMLHttpRequest at ‘xx‘

在 uniapp 前端页面请求时出现类似如下错误Access to XMLHttpRequest at https://example.com/api/mtiku/config from origin http://localhost:20000 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control…

计算机视觉CS231n学习(5)

循环神经网络 RNN recurrent neural networksRNN序列处理能力(RNN核心作用) RNN处理序列数据,相比“Vanilla”神经网络(仅支持一对一映射),RNN支持多种序列映射模式: 一对一:传统分类…

Spring Boot Redis 缓存完全指南

Spring Boot Redis 缓存完全指南 1. 项目依赖配置 1.1 Maven依赖 <dependencies><!-- Spring Boot Redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><…

八股——WebSocket

文章目录1、 什么是 WebSocket&#xff1f;与 Http 协议的区别是什么&#xff1f;2、 Http 是如何升级为 WebSocket 的&#xff1f;3、 为什么 WebSocket 可以进行全双工模式的消息传输&#xff0c;而 Http 不可以&#xff1f;4、 什么是 TCP 的沾包和拆包&#xff1f;5、 WebS…

Mysql 如何使用 binlog 日志回滚操作失误的数据

文章目录一、背景二、准备测试数据1. 创建测试表2. 创建测试数据三、模拟误操作四、数据回滚&#xff08;一&#xff09;方案一&#xff1a;云数据库恢复&#xff08;二&#xff09;方案二&#xff1a;手动恢复1. 查询 binlog 日志2. 找到删除语句&#xff0c;手动还原为插入语…