支持向量机 SVM | 线性可分:软间隔模型

目录

  • 一. 软间隔模型
    • 1. 松弛因子的解释
      • 小节
    • 2. SVM软间隔模型总结

线性可分SVM中,若想找到分类的超平面,数据必须是线性可分的;但在实际情况中,线性数据集存在少量的异常点,导致SVM无法对数据集线性划分

也就是说:正常数据本身是线性可分的,但是由于存在异常点数据,导致数据集不能够线性可分
在这里插入图片描述

一. 软间隔模型

为了解决上述问题,我们引入软间隔的概念:

1. 松弛因子的解释

  • 硬间隔: 线性划分SVM中的硬间隔是距离度量;在线性划分SVM中,要求函数距离一定是大于等于1的,最大化硬间隔条件为: { m i n 1 2 ∥ w → ∥ 2 s . t : y ( i ) ( ω T ⋅ x ( i ) + b ) ≥ 1 , i = 1 , 2 , . . . , m \left\{\begin{matrix}min\frac{1}{2}\left \| \overrightarrow{w} \right \| ^{2} \\s.t: y^{(i)} (\omega ^{T}\cdot x^{(i)} +b)\ge1,i=1,2,...,m \end{matrix}\right. {min21 w 2s.ty(i)(ωTx(i)+b)1i=1,2,...,m
  • 软间隔:SVM对于训练集中的每个样本都引入一个松弛因子(ξ),使得函数距离加上松弛因子后的值是大于等于1; y ( i ) ( ω T ⋅ x ( i ) + b ) ≥ 1 − ξ ; i = 1 , 2 , . . . , m , ξ ≥ 0 y^{(i)} (\omega ^{T}\cdot x^{(i)} +b)\ge1-\xi ;i=1,2,...,m,\xi\ge 0 y(i)(ωTx(i)+b)1ξi=1,2,...,mξ0

松弛因子(ξ)表示:相对于硬间隔,对样本到超平面距离的要求放松了

ξ = 0 ξ=0 ξ=0 , 相当于硬间隔
0 < ξ < 1 0<ξ<1 0<ξ<1 , 相当于样本点位于“街”内
ξ > 1 ξ>1 ξ>1 , 相当于样本点位于“街”对面
ξ > 2 ξ>2 ξ>2 , 相当于样本点位于“街”对面外侧

注意: ξ ξ ξ只能对少量的样本起作用

ξ ξ ξ越大,表示样本点离超平面越近,
ξ > 1 ξ>1 ξ>1,那么表示允许该样本点分错

因此:加入松弛因子是有成本的,过大的松弛因子可能会导致模型分类错误

所以,我们对存有异常点的数据集划分时,目标函数就变成了:
{ m i n 1 2 ∥ w → ∥ 2 + C ∑ i = 1 n ξ ( i ) y ( i ) ( ω T ⋅ x ( i ) + b ) ≥ 1 − ξ ( i ) , i = 1 , 2 , . . . , m \left\{\begin{matrix}min\frac{1}{2}\left \| \overrightarrow{w} \right \| ^{2}+C\sum_{i=1}^{n} \xi _{(i)} \\ \\y^{(i)} (\omega ^{T}\cdot x^{(i)} +b)\ge1-\xi ^{(i)} ,i=1,2,...,m \end{matrix}\right. min21 w 2+Ci=1nξ(i)y(i)(ωTx(i)+b)1ξ(i)i=1,2,...,m
ξ i ≥ 0 , i = 1 , 2 , . . . , m \xi{i}\ge 0,i=1,2,...,m ξi0i=1,2,...,m

公式 C ∑ i = 1 n ξ ( i ) C\sum_{i=1}^{n} \xi _{(i)} Ci=1nξ(i)表式:

    每个样本惩罚项的总和不能大,函数中的C>0是惩罚参数,需要调参

C越大,表示对错误分类的惩罚越大,也就越不允许存在分错的样本;

C越小表示对误分类的惩罚越小,也就是表示允许更多的分错样本存在

也就是说:
对于完全线性可分的数据来说,C的值可以给大一点
对于线性可分但存在异常的数据来说,C的值需要调小

小节

对于线性可分的m个样本(x1,y1),(x2,y2)… :

	x为n维的特征向量y为二元输出,即+1,-1

SVM的输出为w,b,分类决策函数

选择一个惩罚系数C>0,构造约束优化问题

{ min ⁡ β ≥ 0 1 2 ∑ i = 1 m ∑ j = 1 m β i β j y ( i ) y ( j ) x ( j ) T x ( i ) − ∑ i = 1 m β i s . t : ∑ i = 1 m β i y ( i ) = 0 , 0 ≤ β i ≤ C , i = 1 , 2 , . . . , m \left\{\begin{matrix}\min_{\beta \ge 0}\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m} \beta _{i}\beta _{j} y^{(i)}y^{(j)}x^{(j)^{T}} x^{(i)}-\sum_{i=1}^{m} \beta _{i} \\s.t:\sum_{i=1}^{m} \beta _{i} y^{(i)}=0,0\le \beta _{i}\le C,i=1,2,...,m \end{matrix}\right. {minβ021i=1mj=1mβiβjy(i)y(j)x(j)Tx(i)i=1mβis.t:i=1mβiy(i)=00βiCi=1,2,...,m
使用SMO算法求出上述最优解 β \beta β
找到所有支持向量集合:
S = ( x ( i ) , y ( i ) ) ( 0 < β i < C , i = 1 , 2 , . . . , m ) S = (x^{(i)}, y^{(i)}) (0<\beta_{i} < C,i=1,2,...,m) S=(x(i),y(i))(0<βi<C,i=1,2,...,m)
从而更新w,b

w = ∑ i = 1 m β i x ( i ) y ( i ) w=\sum_{i=1}^{m} \beta _{i} x^{(i)}y^{(i)} w=i=1mβix(i)y(i)

b = 1 S ∑ i = 1 S ( y s − ∑ i = 1 m β i x ( i ) T y ( i ) x s ) b=\frac{1}{S} \sum_{i=1}^{S}(y^{s}- \sum_{i=1}^{m} \beta _{i} x^{(i)^{T}}y^{(i)}x^{s} ) b=S1i=1S(ysi=1mβix(i)Ty(i)xs)

构造最终的分类器,为:
f ( x ) = s i g n ( w ∗ x + b ) f(x)=sign(w\ast x+b) f(x)=sign(wx+b)

	x<0时,y=-1x=0时,y=0x>0时,y=1注意:假设,不会出现0若出现,正负样本随意输出一个,即+0.00000001或-0.00000001都可以

2. SVM软间隔模型总结

	可以解决线性数据中存在异常点的分类模型构建问题通过引入松弛因子,可以增加模型的泛化能力,即鲁棒性;对于模型而言:如果给定的惩罚项系数C越小,表示在模型构建的时候,就允许存在越多的分类错误的样本,也就表示此时模型的准确率会比较低;如果惩罚项系数越大,表示在模型构建的时候,就越不允许存在分类错误的样本,也就表示此时模型的准确率会比较高。

感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!

祝愉快🌟!


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

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

相关文章

Unity3D学习之XLua实践——背包系统

文章目录 1 前言2 新建工程导入必要资源2.1 AB包设置2.2 C# 脚本2.3 VSCode 的环境搭建 3 面板拼凑3.1 主面板拼凑3.2 背包面板拼凑3.3 格子复合组件拼凑3.4 常用类别名准备3.5 数据准备3.5.1 图集准备3.5.2 json3.5.3 打AB包 4 Lua读取json表及准备玩家数据5 主面板逻辑6 背包…

查询IP地址保障电商平台安全

随着电子商务的快速发展&#xff0c;网购已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;网络交易安全一直是人们关注的焦点之一&#xff0c;尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性&#xff0c;一种有效的方法是通过查询IP地址…

ETL与抖音数据同步,让数据流动无阻

在当今数字化时代&#xff0c;数据的价值日益凸显&#xff0c;企业需要从各种渠道获取有关用户行为、市场趋势和竞争对手活动的数据。作为一家专注于数据集成和转换的领先平台&#xff0c;ETLCloud为企业提供了强大的数据同步和转换功能。而与此同时&#xff0c;抖音作为一款热…

基于React的低代码开发:探索应用构建的新模式

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-OywB1Epu30PrvOJQ {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

深入探索Transformer时代下的NLP革新

《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》主要聚焦于如何使用Python编程语言以及深度学习框架如PyTorch和TensorFlow来构建、训练和调整用于自然语言处理任务的深度神经网络架构&#xff0c;特别是以Transformer为核心模型的架构。 书中详细介绍了Transf…

Spring Boot 生成与解析Jwt

Spring Boot 生成与解析Jwt Maven依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>生成&解析 package yang;import io.jsonwebtoken.Claims…

【计算机视觉】图像轮廓与图像分割修复(凸包、图像的矩、分水岭算法、图像修补)

来源&#xff1a;《OpenCV3编程入门》&#xff0c;怀念毛星云大佬&#x1f56f;️ 说明&#xff1a;本系列重点关注各种图像轮廓与图像分割修复方法的原理、作用 图像轮廓与图像分割修复 虽然Canny之类的边缘检测算法可以根据像素之间的差异&#xff0c;检测出轮廓边界的像素…

神经网络8-注意力机制

注意力机制&#xff08;Attention Mechanism&#xff09;源于对人类视觉的研究。在认知科学中&#xff0c;由于信息处理的瓶颈&#xff0c;人类会选择性地关注所有信息的一部分&#xff0c;同时忽略其他可见的信息。这种机制被称为注意力机制。举个例子来说&#xff0c;当我们观…

VS Code引入ECharts

Charts是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;提供了丰富的图表类型和交互能力。&#xff08;摘自菜鸟教程&#xff09; 下面我们来介绍一下VS Code引入ECharts的相关操作 检查电脑是否已经安装了Java语言的软件开发工具包 ECharts…

数据开发 - 面经(已OC) - 北京中海通

投递流程&#xff1a; 2023.12.28 Boss 打招呼 2024.1.3 约面 2024.1.4 上午面试 &#xff08;手机端腾讯会议&#xff09; 2024.1.5 上午 通知面试通过 腾讯会议手机端无法和录影机同时运行&#xff0c;录音无效&#xff0c;之后注意使用电脑面试 面试流程&#xff1a;首…

【Tauri】(4):整合Tauri和actix-web做本地大模型应用开发,可以实现session 登陆接口,完成页面展示,进入聊天界面

1&#xff0c;视频地址 https://www.bilibili.com/video/BV1GJ4m1Y7Aj/ 【Tauri】&#xff08;4&#xff09;&#xff1a;整合Tauri和actix-web做本地大模型应用开发&#xff0c;可以实现session 登陆接口&#xff0c;完成页面展示&#xff0c;进入聊天界面 使用国内代理进行加…

基于pytest的证券清算系统功能测试工具开发

需求 1.造测试数据&#xff1a;根据测试需要&#xff0c;自动化构造各业务场景的中登清算数据与清算所需起来数据 2.测试清算系统功能&#xff1a; 自动化测试方案 工具设计 工具框架图 工具流程图 实现技术 python, pytest, allure, 多进程&#xff0c;mysql, 前端 效果 测…