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

python学智能算法(二十二)|SVM-点与超平面的距离

引言

前序学习进程中,了解了向量、向量点积运算、超平面、感知机等知识点。
SVM算法最核心的目标是通过规划租号的分割超平面,来使得超平面附近的点到超平面的距离和达到最大值。
那点和超平面的距离如何计算,就是今天学习的重点。

点与超平面的距离

前述学习进程中,已知超平面的常规表达为:w⋅x+b=0w\cdot x+b=0wx+b=0

对于任何一个点(x,y),实际上可以直接带入上式,定义:β=w⋅x+b\beta=w\cdot x+bβ=wx+b
当点(x,y)位于平面上时,显然会有β=0,其余情况β≠0。
当超平面确定,对于数据集中的每个点,都要计算β,并且取最小的β为点到超平面的距离,也就是取最近的点
对于多个超平面,会获得多个β,取最大β对应的超平面为最佳分割超平面。
**但当β<0时,绝对值越大的β实际上距离越远,但在数学的对比中反而越小,这就导致最近的点实际上取成了最远的点,也就是取到错误的点。
为此,一个新的最近点判断依据出现: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)
当F>0,表明点的位置分类正确;
当F<0,表明点的位置分类错误。
这里可以对上述判别进行说明:
当超平面是一条线的时候,对于一个在超平面上的点(x0,y0),一定满足超平面的常规表达式:β=w⋅x=w1x0+w2y0+b=0=w1x0−y0+b=0\beta=w\cdot x=w_{1}x_{0}+w_{2}y_{0}+b=0=w_{1}x_{0}-y_{0}+b=0β=wx=w1x0+w2y0+b=0=w1x0y0+b=0
当一个点不在超平面上,取d>0:
有点(x0,y1),且满足y1=y0+d,点在分割线的上方,此时代入超平面的常规表达式会有:
β=w⋅x=w1x0+w2y1+b=0=w1x0−y1+b=−d<0\beta=w\cdot x=w_{1}x_{0}+w_{2}y_{1}+b=0=w_{1}x_{0}-y_{1}+b=-d<0β=wx=w1x0+w2y1+b=0=w1x0y1+b=d<0
如果y0>0,则F<0,与β<0一致,容易把最近的点取成最远的点,出现分类错误;
如果y0<0,且y1>0,则F<0,与β<0一致,容易把最近的点取成最远的点,出现分类错误;
如果y0<0,且y1<0,则F>0,与β<0相反,且F=-d(y0+d),F越大,偏离超平面的距离也就越远,所以此时不会犯分类错误;
当一个点不在超平面上,取d>0:
有点(x0,y1),且满足y1=y0-d,点在分割线的下方,此时代入超平面的常规表达式会有:
β=w⋅x=w1x0+w2y1+b=0=w1x0−y1+b=d>0\beta=w\cdot x=w_{1}x_{0}+w_{2}y_{1}+b=0=w_{1}x_{0}-y_{1}+b=d>0β=wx=w1x0+w2y1+b=0=w1x0y1+b=d>0
如果y0>0,且y1>0,则F>0,与β>0一致,且F=d(y0-d),F越大,偏离超平面的距离也就越远,所以此时不会犯分类错误;
如果y0>0,且y1<0,则F<0,与β>0相反,容易把最近的点取成最远的点,出现分类错误;
如果y0<0,则F<0,与β>0相反,容易把最近的点取成最远的点,出现分类错误。

总结

学习了点与超平面的距离的计算。

http://www.lryc.cn/news/591656.html

相关文章:

  • Adam优化器
  • 深入理解 KVM 子系统:从虚拟化核心到内核实现的全景解析
  • js对象简介、内置对象
  • 【中等】题解力扣21:合并两个有序链表
  • mysql——搭建MGR集群
  • Python清屏方法大全 - 终端清屏的几种实现方式
  • 【Android】EditText使用和监听
  • ELN:生物医药科研的数字化引擎——衍因科技引领高效创新
  • H7-TOOL脱机下载后,自动重连RTT,CAN和串口助手三合一模式方法,方便项目测试(2025-07-16)
  • Cocos游戏中UI跟随模型移动,例如人物头上的血条、昵称条等
  • 对话弋途科技:当AI重构汽车大脑,一场车载操作系统的“觉醒年代“开始了
  • 数据呈现:让图表说话,从数字到洞察的可视化艺术
  • springmvc跨域解决方案
  • 移动安全工具-spd_dump
  • FOC算法中SIMULINK一些常用模块(2)-Permanent Magnet Synchronous Machine模块
  • 五分钟学会大数定律【笔记】
  • mysql 字符集不一致导致索引失效问题
  • 以Streamable HTTP方式访问mcp server的过程
  • 【机器学习实战【七】】机器学习特征选定与评估
  • C 语言基础第 08 天:数组与冒泡排序
  • c#笔记之方法的形参列表以及方法重载
  • ubuntu22 npm install electron --save-dev 失败
  • 设计模式是什么呢?
  • JAVA后端开发——success(data) vs toAjax(rows): 何时用
  • .NET Core EFCore零基础快速入门简单使用
  • MyUI1.0全新现代化 Vue.js 组件库框架上线
  • Bell不等式赋能机器学习:微算法科技MLGO一种基于量子纠缠的监督量子分类器训练算法技术
  • mongodb-org-server_8.0.11_amd64.deb 这个文件怎么安装
  • MySQL配置性能优化
  • 3D材质总监的“光影魔法”:用Substance Sampler AI,“擦除”照片中的光影