SVM算法笔记(2)

2023-11-12

线性可分支持向量机与硬间隔最大化

1.线性可分支持向量机

一般地,训练数据线性可分,存在无穷个分离超平面可将两类数据正确分开。

感知机利用误分类最小的策略,求得分离超平面,解有无穷多个。

线性可分支持向量机利用间隔最大化求最优分离超平面,解唯一

定义1(线性可分支持向量机:给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为

以及相应的分类决策函数,称为线性可分支持向量机。

2.函数间隔和几何间隔

定义2(函数间隔):对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点的函数间隔为:

函数间隔表示分类预测的正确性及确信度。但在选择分离超平面时,只有函数间间隔还不够,因为直言成比例改变w和b,超平面并没有改变,但函数间隔却变了,因此需要对分离超平面的法向量w加约束条件,规范化||w||=1,使得间隔确定,函数间隔成为几何间隔

超平面(w,b),法向量w,点A表示某一实例,在超平面正的一侧的情形,某类标记为。点A与超平面(w,b)的距离由线段AB给出,记作。其中,||w||为w的范数。点A在超平面负的一侧,即,那么点与超平面的距离为

当样本点被超平面(w,b)正确分类时,点与超平面(w,b)的距离是

定义3(几何间隔):对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点的几何间隔为

定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T中所有样本点的几何间隔之最小值,即

函数间隔和几何间隔关系:

若||w||=1,那么函数间隔和几何间隔相等;

若超平面参数w和b成比例地改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。

3.间隔最大化

支持向量机学习的基本想法:求解能够正确划分训练数据集并且几何间隔最大的分离超平面。

间隔最大化:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。

  • 最大间隔分离超平面

凸优化问题:指约束最优化问题

其中目标函数f(w)和约束函数都是上的连续可微的凸函数,约束函数上的仿射函数。

当目标函数f(w)是二次函数且约束函数是仿射函数时,上述凸最优化问题成为凸二次规划问题。

算法1(线性可分支持向量机学习算法——最大间隔法)

输入:线性可分训练数据集T

输出:最大间隔分离超平面和分类决策函数

(1)构造并求解约束最优化问题:

求得最优解

(2)由此得到分离超平面:分类决策函数

  • 最大间隔分离超平面的存在唯一性

定理1(最大间隔分离超平面的存在唯一性):若训练数据集T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一。

  • 支持向量和间隔边界

在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量

支持向量是使约束条件式等号成立的点,即

的正例点,支持向量在超平面

的正例点,支持向量在超平面上。

之间的距离称为间隔(margin)

间隔依赖于分离超平面的法向量w,等于

称为间隔边界


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVM算法笔记(2) 的相关文章

  • Linux中的$0、$1、$@、$?、$*等特殊变量介绍

    特殊变量 是传给脚本的参数个数 0 是脚本本身的名字 1 是传递给该shell脚本的第一个参数 2 是传递给该shell脚本的第二个参数 是传给脚本的所有参数的列表 是以一个单字符串显示所有向脚本传递的参数 与位置变量不同 参数可超过9个
  • Invalid prop: type check failed for prop “data“. Expected Array, got Object[已解决]

    Vue warn Invalid prop type check failed for prop data Expected Array got Object 要处理这个bug就必须先明白这个bug到底是什么类型是怎么一回事 那字面意思就是
  • Mirai环境搭建

    20200805 引言 关于Mirai的环境搭建 我记得能搜到很多结果 不过我当时并没有想要启动mirai的所有功能 毕竟其实他的代码也有缺陷 现在想扫出来结果也有点难了 后面可能还是需要这些功能来辅助扫描结果 其他功能还是要开启 这里先记

随机推荐

  • C语言基础_文件操作-1

    目录 写在前面 学习目标 学习总结 正文 1 文件打开 关闭 2 getc putc 3 fprintf fscanf gets不安全 用fgets 4 fgets gputs 5 文件光标操作 a fseek ftell long范围内操
  • C++语言分号的使用

    C 语言中 表达式的一部分能够组成独立的语句 所以必须加分号分割 c a b 成立 c a b 也成立 if 1 1 do something 成立 if 1 1 do something 也成立 class foo bar 成立 含义为独
  • c++能不能给类的成员变量在声明的时候初始化?

    能 可能早先的版本不能 但是c 11标准下能 有人说在声明的时候初始化相当于在构造函数中初始化 其实不是的 成员变量初始化的顺序为 先进行声明时初始化 然后进行初始化列表初始化 最后进行构造函数初始化 如下代码 另外初始化列表中初始化的顺序
  • STM32启动BOOT0 BOOT1设置方法

    转载自 https www jianshu com p 38c4a90bac19 不同的下载方式对应STM32启动方式也不同 如下图是STM32三种启动方式 第一种启动方式是最常用的用户FLASH启动 正常工作就在这种模式下 STM32的F
  • webpack4 sideEffects实战轻松搞懂

    sideEffects 译作副作用 函数副作用是指函数在正常工作任务之外对外部环境所施加的影响 具体地说 函数副作用是指函数被调用 完成了函数既定的计算任务 但同时因为访问了外部数据 尤其是因为对外部数据进行了写操作 从而一定程度地改变了系
  • Vue的过渡

    目录 单元素过渡 1 css过渡 2 过渡的类名介绍 3 CSS动画 4 自定义过渡的类名 5 元素过渡使用JavaScript钩子函数 多元素过渡 1 基础用法 2 key属性 3 过渡模式 多组件过渡 列表过渡 单元素过渡 1 css过
  • Android Zebra斑马打印机 打印面单不清楚 解决方法

    刚开始的效果 字体模糊 分析原因 1 打印机的打印浓度太低 2 文本字体不对 3 bitmap的问题 因为这个面单是通过view 获取到bitmap再喂给打印机打印的 下载打印机的驱动 设置打印机打印浓度 没有效果 调整字体类型没有效果 分
  • Java 加解密技术系列之 SHA

    序 上一篇文章中介绍了基本的单向加密算法 MD5 也大致的说了说它实现的原理 这篇文章继续之前提到的单向加密 主要讲的是 SHA 同 MD5 一样 SHA 同样也是一个系列 它包括 SHA 1 SHA 224 SHA 256 SHA 384
  • 服务器怎么开虚拟用户,Linux文件服务器实战详解(虚拟用户)

    vsftpd基于系统用户访问ftp服务器 系统用户越多越不利于管理 不利于系统安全 这样就以vsftp虚拟防护的方式来解决 虚拟用户没有实际的真实系统用户 而是通过映射到其中一个真实用户以及设置相应权限来访问验证 虚拟用户不能登陆系统 1
  • android项目迁移到androidX:类映射(android.support.design*)

    支持库类 AndroidX 类 android support design animation AnimationUtils com google android material animation AnimationUtils and
  • 01. 实现登录功能的UI自动化测试脚本

    在软件开发过程中 登录功能是一个非常重要且常见的功能 为了确保登录功能的稳定性和正确性 我们可以利用UI自动化测试来自动验证登录流程 本文将介绍如何编写一个登录功能的UI自动化测试脚本 并通过使用Selenium和pytest库实现自动化测
  • rbf神经网络预测matlab_MATLAB 基于灰色神经网络的预测算法研究—订单需求预测...

    点击上方蓝字关注 公众号 MATLAB 神经网络变量筛选 基于BP的神经网络变量筛选 灰色系统理论是一种研究少数据 贫信息 不确定性问题的新方法 它以部分信息已知 部分信息未知的 小样本 贫信息 不确定系统为研究对象 通过对 部分 已知信息
  • aot类型的自定义算子能编译成功,也能被调用,但运行时报错(官网leakyrelu示例)

    环境 mindspore gpu 2 0 cuda 11 1 代码 执行到这行报错 报错 解答 根据日志我们可以看到是dlopen失败 该行日志对应的完整截图信息 需要查看日志里的error message以进一步定位原因
  • 自动刷新网页代码(可多个网页)

    前言 在我们的日常工作中 有时候会遇到这种需求 就是需要不停的刷新当前页面 看看是否有变化 但是又不想手动去刷新 当然了 在浏览器的开发者工具里面点击拓展 会发现有一些现成的工具 但是不一定好用 而且很难同时刷新多个网页 因此本篇博客利用p
  • 基于多点通信的PtoP聊天程序

    import java io InputStream import java io OutputStream import java util Hashtable import javax microedition io Connector
  • button按钮组件VM359:1 Component "pages/index/index" does not have a method "btnClick" to handle event "t

    设置按钮组件事件bindtap 仅在wxml中定义但未在js文件中写响应函数就会导致这种情况 VM359 1 Component pages index index does not have a method btnClick to ha
  • Elasticsearch实战(十四)---聚合搜索Aggs多层嵌套聚合处理

    Elasticsearch实战 聚合搜索Aggs多层分组嵌套 统计处理 文章目录 Elasticsearch实战 聚合搜索Aggs多层分组嵌套 统计处理 1 准备数据 2 分组嵌套查询及count avg操作 2 1 以部门分组 求部门av
  • 基于亚马逊云科技无服务器服务快速搭建电商平台——部署篇

    受疫情影响消费者习惯发生改变 刺激了全球电商行业的快速发展 除了依托第三方电商平台将产品销售给消费者之外 企业通过品牌官网或者自有电商平台销售商品也是近几年电商领域快速发展的商业模式 独立站电商模式可以进行多方面 全渠道的互联网市场拓展 推
  • 接口测试-第03天-Postman用例集、断言、前置脚本、关联、生成测试报告

    更多功能测试以及全套学习路线图均在专栏 戳进去领取 系列文章目录 身为开发必知必会的Linux Linux远程连接 命令的使用 Linux命令大全 唯一以案例详解文 持续更新中 Linux命令大全以及数据库 唯一以案例详解文 已完结 Web
  • SVM算法笔记(2)

    线性可分支持向量机与硬间隔最大化 1 线性可分支持向量机 一般地 训练数据线性可分 存在无穷个分离超平面可将两类数据正确分开 感知机利用误分类最小的策略 求得分离超平面 解有无穷多个 线性可分支持向量机利用间隔最大化求最优分离超平面 解唯一