当前位置: 首页 > article >正文

机器学习(西瓜书)第 6 章 支持向量机

6.1 算法原理

在这里插入图片描述

感知机要求就随便找一个超平面,只要能把正负样本分开就行
但是支持向量机不一样,它认为你不仅得把它分开,而且这个超平面还得尽可能的离正负样本远
在这里插入图片描述

6.2 间隔与支持向量

在这里插入图片描述
其中w = (wi;w2;…;wd)为法向量,决定了超平面的方向;b为位移项,决定了超平面与原点之间的距离

二维空间中超平面就是一条直线

样本空间中任意点X到超平面(w,b)的距离可写为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意这里是线性可分,下节课是线性不可分的软间隔

这个不是阶跃函数,这个是符号函数,阶跃函数在x<0时函数值为0,不是-1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(另一种推导方法省略了)

这就是支持向量机(Support Vector Machine,简称SVM)的基本型

6.3 对偶问题

注意到主问题本身是1 个凸二次规划问题,能直接用现成的优化计算包求解,但我们可以有更高效的办法.对主问题使用拉格朗日乘子法可得到其“对偶问题”(dual problem).具体来说,对主问题的每条约束添加拉格朗日乘子阿尔法i>=0
在这里插入图片描述
在这里插入图片描述
若阿尔法i= 0,则该样本将不会在最终模型式子的求和中出现,也就不会对f(x)有任何影响;
若阿尔法i > 0,则必有y_i*f(x_i)= 1,所对应的样本点位于最大间隔边界上,是一个支持向量.这显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需
保留,最终模型仅与支持向量有关.

在这里插入图片描述

6.4 特征空间映射

在本章前面的讨论中,我们假设训练样本是线性可分的(支持向量机的前提是线性可分),即存在一个划分超平面能将训练样本正确分类.然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面.例如图6.3中的“异或”问题就不是线性可分的
在这里插入图片描述
在这里插入图片描述

6.5 核函数

在这里插入图片描述

6.6 软间隔与正则化

在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开.然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说,即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合所造成的.
缓解该问题的一个办法是允许支持向量机在一些样本上出错.为此,要引入 “软间隔”(soft margin)的概念,如图6.4所示.
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
其中L0/1是0/1损失函数
障碍:0/1损失函数非凸、非连续,不宜优化!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.7 支持向量回归

现在我们来考虑回归问题.给定训练样本,希望学得一个形如式(6.7)的回归模型,使得f(x)与g 尽可能接近,w 和b是待确定的模型参数.

对样本(x,y) ,传统回归模型通常直接基于模型输出f(x)与真实输出y 之
间的差别来计算损失,当且仅当f(x)与y 完全相同时,损失才为零.与此不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)与y 之间最多有e的偏差,即仅当f(x)与y 之间的差别绝对值大于e 时才计算损失.如图6.6所示,这相当于以f(x)为中心,构建了一个宽度为2 e的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.
在这里插入图片描述
于是,S V R 问题可形式化为

其中C 为正则化常数

在这里插入图片描述
在这里插入图片描述

6.8 正则化

在这里插入图片描述
在统计学习中,归纳偏好项通过 结构风险 相关的项确定

6.9 如何使用SVM

以回归学习为例

在这里插入图片描述
在2e间隔带外面的才记损失

e-不敏感损失函数

在这里插入图片描述

支持向量回归SVR

在这里插入图片描述
SVR(支持向量回归)和SVM(支持向量机)都是支持向量方法的变体,用于不同类型的机器学习任务。下面是它们之间的主要区别:

1.任务类型:

SVM(支持向量机):用于分类任务。SVM的目标是找到一个最佳的超平面,以将不同类别的数据分开,最大化类别之间的间隔。
SVR(支持向量回归):用于回归任务。SVR的目标是找到一个函数,该函数能够拟合训练数据,并且在尽可能小的误差范围内进行预测。

2.目标函数:

SVM:在分类问题中,SVM的目标是最小化分类错误,并且最大化分类超平面与最近样本点(支持向量)之间的间隔。
SVR:在回归问题中,SVR的目标是使预测函数与实际目标值之间的误差(在一个指定的容许范围内)最小化,同时尽可能使模型复杂度最低。

3.损失函数:

SVM:使用的是分类损失函数,如hinge loss
SVR:使用的是回归损失函数,如ε-insensitive loss(ε不敏感损失),它允许预测值和实际值之间的误差在ε范围内被忽略,从而减少了模型对小的误差的敏感性。

4.应用场景:

SVM:通常用于文本分类、图像识别等任务。
SVR:通常用于预测数值数据,如股市预测、房价预测等任务。

5.结果输出:

SVM:输出的是数据点的类别标签。
SVR:输出的是一个连续的数值预测。

尽管SVM和SVR在算法上有很多相似之处(例如,它们都使用支持向量来定义决策边界),但它们的应用场景和目标函数的不同使得它们适用于不同类型的问题。


http://www.kler.cn/news/304325.html

相关文章:

  • Jupyter notebook配置与使用(安装过程+环境配置+运行实例)
  • redis基本数据结构-string
  • 关于OceanBase 多模一体化的浅析
  • 探索螺钉设计:部分螺纹与全螺纹,哪种更适合你的项目?
  • 学习笔记 韩顺平 零基础30天学会Java(2024.9.14)
  • HashMap在并发场景下的问题
  • hku-mars雷达相机时间同步方案-硬件(MID360与海康MV-CB060-10UMUC-S)
  • Spring-cloud-gateway报错问题总结
  • 卷轴模式系统中的任务起源探索与趣味性设计策略分析
  • 【大模型专栏—进阶篇】语言模型创新大总结——“后起之秀”
  • rocketmq-client5.2手动给生产者和消费者设置access-key和secret-key值
  • Sparse4D v1
  • 从零开始学PostgreSQL (十四):高级功能
  • 【来学Vue吧】创建一个Vue项目
  • 通过adb命令打开手机usb调试
  • 青铜级与大师级删库跑路:黑色幽默的背后
  • 几何概率模型
  • GEE 教程:利用sentinel-5p数据进行长时序CO一氧化碳的监测分析并结合夜间灯光数据分析
  • 使用Vue3+TS玩转高德地图
  • 前端表单验证的常见问题与解决方案
  • helm一键化部署pod
  • 基于Linux和C++实现的RabbitMQ风格消息队列:设计与实现
  • 什么是智慧箱变动环辅控系统?箱式变电站动环监控@卓振思众
  • SpringBoot 项目 Jar 包加密,防止反编译
  • CCF推荐A类会议和期刊总结:计算机体系结构/并行与分布计算/存储系统领域
  • 【Oracle APEX开发小技巧 8 】图片回显及多图片URL在页面回显点击放大
  • 性能测试-jmeter的控制器(十六)
  • 【Linux】多线程:线程互斥、互斥锁
  • Leetcode 寻找重复数
  • 提升工作效率:寻找编程工具的秘密武器