SVM(Support Vector Machine)读书笔记一(最佳分割超平面)

基于支持向量机的数据分类以及绘制决策边界(超平面) 基于支持向量机的数据分类以及绘制决策边界(超平面) 为了方便结果可视化,本文主要利用二维数据点进行讨论 目录: 1、导入数据并观察数据: 2、对训练函数 3、绘制决策边界(超平面)观察分类效果 4、利用这四组参数对测试集进行测试并绘制图像 首先开始就列出利用的库 # coding:utf-8 import numpy as np import matplotlib.pyplot as plt fr... 阅读详情

背景

分类问题中,在一个线性不可分的样本上,通常需要用到一些Non-linear的特征,把低维度空间上的样本投影到高维度上,从而使得这些样本在高维度线性可分。但是这个投影的过程通常也会有以下两个问题:

  1. 如果在原样本中加了太多的高次多项式的特征,首先会导致过拟合,模型的泛化能力会很差;
  2. 多项式组合会有指数级别的组合方式,这使得在投影后的样本空间中维度非常高,这也会消耗太多的计算资源和空间资源

为了解决上面两个问题,于是诞生了SVM,SVM有如下两个优势:

  1. 首先SVM是基于结构风险最小化原理,即它的VC维很小(相比于它的维度),不容易导致过拟合;(VC维是衡量模型复杂度的一个指标,VC维越大说明hypothesis空间越大,越不容易得到一个理想的模型,它和train error一起决定了泛化误差的上限)。
  2. 其次,利用SVM的优化过程,可以利用kernel trick,把在高纬度空间中的计算放到低纬度空间来进行,因此可以把SVM的特征投影到高纬度甚至无穷维,并且消耗很小的计算和存储资源。

接下来来介绍SVM是怎么工作的,以及它为什么有上面两个优势。本节主要介绍最佳分割平面及其求解过程以及为什么它是最佳的。

最佳分割超平面

现在假设有两类线性可分的样本,一类圈圈,一类叉叉。分类问题就是要找一个超平面,将这两类分开,但是能分割开这两类的超平面有很多,如下面的图所示。感知机算法就是随机的找到一个能够分开的超平面,它并不关心这个超平面如何。下面三个图中,直觉上感觉,第三个超平面是最理想的。
不同分割面
那么为什么第三个超平面是最理想的呢?原因是测试集上的样本是我们观测得到的数据,而观测到的数据和它真实分布是有一定的误差的,下面三个图中灰色的圆圈表示了每个平面能够容忍误差的大小,当误差超过这个圆圈的范围,分割面就要犯错误了,所以第三个图的容忍误差的能力是最强的。这是从直观上的一个解释,下面推导SVM的过程中会解释为什么这个是最佳的分割面。

这里写图片描述
这样,能容忍误差的能力最大的那个超平面是我们要的,定义margin为,由分割平面开始往两边推,到碰到样本点时候的距离。如下面的图所示,黄色部分即为margin。
这里写图片描述

最佳分割平面求解

符号定义如下,其中x和 w 是属于d维空间中的点, b 是超平面的偏差,h是目标求解的hypothesis。

x=⎡⎣⎢⎢⎢⎢x1x2...xd⎤⎦⎥⎥⎥⎥;w=⎡⎣⎢⎢⎢⎢w1w2...xd⎤⎦⎥⎥⎥⎥;b=bias;h(x)=sign(wTx+b)

这里写图片描述
如果一个超平面可以完全把正负类样本分开,那么分布在超平面两侧的样本点表示成下图中的形式,那么所有样本可以用公式归纳成

yn(wTxn+b)>0,n=1,2...N
.
假设 ρ=minn=0,1...Nyn(wTxn+b) , 如果能够完全分开,则 ρ>0 。然而在 wTx+b=0 这个超平面上,对 w 做一下scaling,即乘以或除以一个大于零的数,这个平面是不会变的。那么如果上式中对 w 做一个除以 ρ 的scaling,得到如下:
ρ/ρ=minn=1...Nyn(wTxn+b)/ρ=1

因此, yn(wTxn+b)>0,n=1,2...N 和 minn=0,1...Nyn(wTx
SVM算法(Support Vector Machine) 支持向量机(support vector machines,SVM)是一种二分类模型,它将实例的特征向量映射为空间中的一些点,SVM 的目的就是想要画出一条线,以 “最好地” 区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。SVM 适合中小型数据样本、非线性、高维的分类问题。 阅读详情

相关推荐

支持向量机 Support Vector Machine (SVM)初步理解

文章目的:对支持向量机的内容有一个初步的了解。为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面。 简介 支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。 SVM可分为三种模型:线性可...

count_on_me的博客 1754

4.3.1有监督学习(五) - 支持向量机(SVM - Support Vector Machine)

简介 支持向量机(Support Vector Machine,SVM)是一种有监督学习中的分类器。它适合小样本、非线性以及高维度的分割。SVM通过选择不同的核函数来构造不同的模型,并构建不同的分割器。例如,核函数为线性函数时,SVM等同于线性回归;核函数为Sigmoid时,SVM等价于神经网络。 一句话解释版本: SVM通过非线性转换升维数据,实现线性可分;通过最大化边界,寻找最优分割器。...

Orange_Spotty_Cat的博客 3508

支持向量机(Support Vector Machine)

支持向量机 linear regression , perceptron learning algorithm , logistics regression都是分类器,我们可以使用这些分类器做线性和非线性的分类,比如下面的一个问题: GV0SHYC3S{P{Q4QVB66UN6T.png 这里的每一条线都是可以把这个平面分开的,支持向量机要做...

绿箭侠 1238

SVM 支持向量机算法(Support Vector Machine )【Python机器学习系列(十四)(1)

在深度学习出现之前,支持向量机 被称为表现最好的算法。支持向量机算法适用于一些复杂数据的分类。现在更多用的是深度学习,深度学习的效果大于SVM。但是SVM作为经典算法,还是十分重要,是学习机器学习过程的必修内容。SVM具有两个特点:1.适合小样本。2.数学逻辑优美。支持向量机算法分为线性可分的支持向量机和非线性可分的支持向量机。线性可分样本集:只要我们可以用一条直线可以把样本集的两类完全分开,就可以将其称为线性可分样本集。反之,称为非线性可分样本集。

2401_84185224的博客 800

每天五分钟机器学习算法:拉格朗日乘数法求解等式约束下函数极值

在数学优化领域,拉格朗日乘数法(Lagrange Multipliers)堪称处理约束优化问题的瑞士军刀。当目标函数与等式约束条件交织时,该方法通过构建拉格朗日函数,将约束问题巧妙转化为无约束问题,为极值求解开辟了全新路径。

huanfeng_AI的博客 906

SVM算法:寻找最优分类超平面

SVM算法:寻找最优分类超平面 作者:禅与计算机程序设计艺术 1. 背景介绍 支持向量机(Support Vector Machine, SVM)是一种广泛应用于分类和回归领域的机器学习算法。它的核心思想是通过构建一个最优分类超平面,将不同类别的样本点尽可能分开,并且使得到分类超

AI天才研究院 2355

机器学习算法之——支持向量机(Support Vector Machine, SVM)

支持向量机(Support Vector Machine, SVM)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。 关键字:软间隔、KKT条件、对偶问题、拉格朗日乘子

迈微AI研习社 · 号主 3808

基于UWB技术的自动跟随避障系统设计研究

基于UWB技术的自动跟随避障系统设计研究 摘要:目前我国针对自动跟随避障系统方面的研究较少,同时国内自动跟随避障系统仍然处在未成熟阶段,多数仍停留在应用蓝牙控制或摄像头捕捉这类跟随方式,但这类方式在实际应用过程中往往会出现易受干扰,精度差,易受环境干扰等问题,这不仅会降低自动跟随避障系统的性能,同时也会对用户造成诸多困扰。因此,就需要结合目前较为有效的UWB技术,对自动跟随避障系统进行设计。基于此,本文首先将会针对UWB技术展开概述,而后对基于UWB技术的自动跟随避障系统组成展开分析,进而对基于UWB技术的

qq_43543515的博客 7992

安卓端目标检测模型部署血泪史:从NCNN/TFLite/MNN全军覆没到Torchscipts终见光明

公司需在Android设备部署目标检测模型,要求: ✅ 实时检测速度≥15FPS ✅ 模型精度损失<5% ✅ 兼容中低端安卓设备👉 GitHub项目地址:pytorch/android-demo-app/ObjectDetection我已上传这份源码到csdn下载准备模型(必须走这步才能跑通安卓端源码)如果您没有设置PyTorch环境来运行该脚本,可以下载模型文件此处转到“android演示app/ObjectDetection/app/src/main/assets”文件夹,然后跳过此步骤的其余部分,直

机器学习、深度学习、强化学习、迁移学习 1567

codevs 1620 轮船问题 DP 解题报告

某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。

Hawo11的博客 817

04目标检测-Two-stage的目标检测算法

前面我们对进行了对比分析,同时上一篇我们介绍了传统算法在目标检测的原理和效果,此篇我们记录了我学习目标检测算法的深度,深入讲述一下深度学习算法在目标检测的原理和效果。原文链接:https://blog.youkuaiyun.com/qq_41946216/article/details/132800752。版权声明:本文为优快云博主「爱吃面的猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。One-stage(YOLO和SSD系列):直接回归目标位置。

qq_41946216的博客 3650

如何免费快速的部署一个自用免VIP的自动追剧工具!NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能(支持Windows,群晖nas,飞牛nas,软路由,服务器等Docker快速部署)

追剧党狂喜!豆瓣追剧神器,自动添加云盘,自动下载,微信通知,一键搞定!

XiaoqiangClub的博客 4582

DW3000芯片驱动API介绍

详细介绍DW3000驱动程序API的调用流程说明和中断处理程序流程说明

DT程序员的博客 1522

围绕国产化操作系统以及人大金仓地理空间库的GIS的解决方案,含超详细部署步骤以及与QGIS,GeoServer,PostGlS Shapefile lmport/Export Manager的连接步骤

人大金仓软件 2.1软件的下载以及授权的相关文件插件 2.2上传至虚拟机 2.3KingbaseES V8R6数据库部署过程 2.3.1创建安装用户 2.3.2赋权 2.3.3.创建安装目录且赋权 2.3.4 准备挂载 2.4kingbase安装方法 2.7postgis安装 3 人大金仓数据库与QGIS的连接 4 人大金仓数据库与PostGlS Shapefile lmport/Export Manager的连接 5 人大金仓数据库与geoserver的连接

挣钱花388的博客 2590

Eplan设计师必会—伺服安全回路的设计方法

本文介绍了在EPLAN中设计伺服STO安全回路的方法。首先需查阅伺服驱动器说明书确定STO接线端子,重点关注双通道配置。设计步骤包括:使用黑盒子功能绘制驱动器外形,正确标注STO接线点,并连接安全继电器或PLC的安全输出。关键注意事项有:必须采用双通道独立布线,确保同步动作,遵循故障安全原则,使用常闭触点串联回路。文中以西门子V90和汇川伺服为例说明具体接线要求,并附有项目实例参考。

Qinmingyue13的博客 436

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 设计模式之-策略模式
下一篇: SVM(Support Vector Machine)读书笔记二(支持向量和Kernel方法)
Jackie_Zhu
博客等级 码龄18年 343粉丝 32原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值