深入浅出SVM(PART I)

SVM(支持向量机)入门 (深入浅出讲解原理) 深入浅出讲解SVM的原理和应用,有点类似于傻瓜式的教学方法,个人觉得很有帮助。 SVM入门(一)SVM的八股简介 SVM入门(二)线性分类器Part 1 SVM入门(三)线性分类器Part 2 SVM入门(四)线性分类器的求解——问题的描述Part1 SVM入门(五)线性分类器的求解——问题的描述Part2 SVM入门(六)线性分类器的求解——问题的转化,直观角度 SVM入门(七)为何需要核函数 SVM入门(八)松弛变量。 SVM入门(九)松弛变量(续)。 SVM入门(十)将SVM用于多类分类。 立即下载

点击上方“AI派”,选择“星标”公众号

第一时间获取价值内容

导读

今天是该系列第五篇文章,介绍支持向量机原理(PART I)。

    支持向量机(Support Vector Machine)是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机SVM也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。支持向量机是被公认的比较优秀的分类模型,同时,在支持向量机的发展过程中,其理论方面的研究得到了同步的发展,为支持向量机的研究提供了强有力的理论支撑。

    本文分为两部分,先介绍SVM原理第一章。

发展历程

     这部分说下SVM的发展历程,其实相当于介绍它是怎么被提出来的,由该系列第一篇文章"逻辑回归算法原理及实现"中可以看到一维特征的情况下即二维空间中的样本如果是线性可分的话可以找到一个线性的超平面来将不同类别的样本分隔开来。具体形式改写为:

    接下来如果想要实现分类的功能就需要设计一个和逻辑回归里Sigmoid类似的分类决策函数:

    此时,决策函数内的值若大于0,可认为是正类;否则小于0为负类。

    但是要把所有样本都分类正确,也就是说分隔超平面要做到正确区分所有样本,这不是一件容易的事。为了解决这个问题,1957年由Rosenblatt提出了感知机算法,在感知机算法中直接使用通误分类的样本到分隔超平面之间的距离S作为其损失函数,并利用梯度下降法求得误分类的损失函数的极小值,得到最终的分隔超平面。
    关于某一点到分隔超平面的直线最短距离,可将高中学过的二维距离公式进行拓展得到:

    其中这里的b由上式转变而来。对于分类错误的样本,标签值与样本代入超平面公式所得值异号,因此取两者乘积的负数为该样本到超平面的距离:

    不考虑分母的话,损失函数即为:

    通过求解J的最小值,即可得到最终的分隔超平面。但是感知机这样设计的算法存在一个缺陷:那就是权重参数的初始值和选择误分类样本的顺序会对超平面的确定有很大的影响。不同的影响条件下确定的超平面就不同,那么,存不存在一个分隔性能最好的超平面呢?

函数间隔和几何间隔

     一般来讲,一个样本点距离分隔超平面的远近可以表示分类预测的确信程度。为了能够表示分类预测的确信程度,我们分别定义函数间隔和几何间隔。从上一小节来看正确分类的样本代入超平面公式所得值仅仅考虑分子且去掉绝对值与标签的乘积也可等同于距离分隔超平面的远近,即为函数间隔:

     同时,定义分隔超平面关于训练数据集的函数间隔为分隔超平面关于训练数据集中所有样本点的函数间隔的最小值:

    但函数间隔的缺点是当权重参数发生一定倍数的变化,此时分隔超平面的空间位置并未因此而改变,也就是超平面位置对权重参数不敏感,更深一步地说是对优化问题和约束条件并没有影响。因此不利于在实际条件下模型的调优,为了解决这个问题,引入几何间隔。
     为了能够使得间隔是一个确定的值,可以对分隔超平面的参数W加上某些约束,比如将W进行归一化,则距离公式可变为:

    此外考虑到标签与距离是否异号,距离公式可进一步变为:

    同时,定义分隔超平面关于训练数据集的几何间隔为分隔超平面关于训练数据集中所有样本点的几何间隔的最小值:

    可以发现,几何间隔其实就是样本到分隔超平面的距离。对于几何间隔和函数间隔,有如下的关系:

支持向量机

    在介绍了函数和几何间隔后,可以更容易地讲解SVM具体原理了。与感知机算法不同,在支持向量机中,求解出的分隔超平面不仅能够正确划分训练数据集,而且几何间隔最大,即:

    同时,对于每一个样本,需要满足:

    考虑到几何间隔和函数间隔之间的关系,可将上式改为:

    在这里像上一小节一样为了解决函数间隔存在的问题,函数间隔可取为1,整个优化问题则变为:

    SVM中与分隔超平面距离最近的样本称为支持向量。其对应着约束条件为:

    为了更形象地解释什么是支持向量,可看下图。H1和H2所在的样本代入上式所得值均为0。

    超平面H1和超平面H2之间的距离成为间隔,超平面H1和超平面H2又称为间隔边界。在确定最终的分隔超平面时,只有支持向量起作用,其他的样本点并不起作用,由于支持向量在确定分割超平面中起着重要的作用,因此,这种分类模型被称为支持向量机。

非线性场景

     上面的介绍都是基于样本线性可分场景下的,而现实生活中大部分情况都是非线性场景(为近似线性可分和线性不可分),近似可分中存在一些点不满足函数间隔大于或等于1的约束条件,为了解决这个问题,可以对每一个点引进一个大于等于零的松弛变量,使得函数间隔加上松弛变量大于或等于1,约束条件变为

     还需要对每个松弛变量支付一个代价C,目标函数即为:

     因此整个优化目标为:

     到这里原理部分基本就结束了,下一部分继续讲解SVM的求解过程。

文末福利

各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。

这个是一份Python代码速查表

下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图

怎样获取呢?可以添加我们的AI派团队的程序媛姐姐

一定要备注【高清图】哦

????????????????????

➕我们的程序媛小姐姐微信要记得备注【高清图】哦

来都来了,喜欢的话就请分享、点赞、在看三连再走吧~~~

ESD 防护深度解析:模型、等级、系统设计与防护策略 本文系统阐述了静电放电(ESD)防护的核心技术体系。首先对比分析了HBM(人体模型)和CDM(充电设备模型)两种基础ESD模型的物理特性、测试标准及分级要求,指出相同电压下CDM的破坏性是HBM的15-20倍。其次详细解析了IEC61000-4-2系统级ESD标准,包括接触/空气放电测试方法及判定等级。重点提出了系统级防护的三层架构:空间隔离(≥10mm间距)、电气隔离(地平面分割)和TVS管选型(响应时间<1ns),并对比了MOV、SCR等防护器件特性。针对不同应用场景(消费电子、工业控制等)给出了差异化 阅读详情

相关推荐

中断向量表配置不当引发Default_Handler死循环问题解析

本文深入解析STM32开发中因中断向量表配置不当导致的Default_Handler死循环问题。以STM32F407VET6为例,详细阐述中断向量表的工作原理、常见触发场景及系统化排查方法,并提供使用STM32CubeMX的正确姿势和手动配置的注意事项,帮助开发者快速定位并解决这一常见难题。

grafana6viz的博客 181

支持向量机通俗导论(理解SVM的三层境界)

支持向量机通俗导论(理解SVM的三层境界) 作者:July ;致谢:pluskid、白石、JerryLead、画儿。 出处:结构之法算法之道blog。 前言     动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也

用法之妙,存乎一心。 4301

安卓光速虚拟机ADB调试实战:从密钥配置到设备连接

本文详细介绍了在安卓光速虚拟机中进行ADB调试的完整实战流程。核心在于通过密钥配置解决设备未授权问题,并启用网络调试与端口映射,最终实现电脑与虚拟机的稳定连接。文章提供了从原理理解、脚本修改到实战命令和疑难排查的全方位指南,帮助开发者和爱好者高效利用光速虚拟机作为移动测试沙盒。

CAT789的专栏 567

SVM通俗讲解

转自:http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html 作者:Jasper 出自:http://www.blogjava.net/zhenandaci/ (一)SVM的八股简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首

lyx的专栏 1421

FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)

本文目的,最终可以完整推算两种变换 Clarke 变换 首先先看我们需要用到的两种坐标系 1. 自然坐标系 abcabcabc 我们知道,通过三相逆变电路,我们可以画出一个自然坐标系 abcabcabc ,即三相电压的坐标系,通入的电流在这三轴坐标系中变化: 将三个矢量相加合并在一起就如下图所展现: 使用三个坐标轴来表示十分的麻烦与不直观,因为其是非正交的,于是乎我们想要将其转化成使用两个正交的坐标轴来表示,于是乎便有了 Clarke变换。 Clarke 变换的作用: 将基于三轴二维的定子静止坐标系的各

Wilson Huang的博客 3万+

Pytest 常见问题及其解决方案

Pytest 是一个强大且灵活的测试框架,但初学者在使用过程中难免会遇到各种问题。希望通过这篇文章,你能更好地应对常见的挑战,写出更高效、更稳定的测试代码。测试不是负担,而是保障。写好测试不仅能提高代码质量,还能让你在面对变更时更加从容自信。

qq_52137592的博客 901

SVM详细讲解

1. 目标      SVM是一个二类分类器,它的目标是找到一个超平面,使用两类数据离超平面越远越好,从而对新的数据分类更准确,即使分类器更加健壮。      支持向量(Support Vetor):就是离分隔超平面最近...

张迁的博客 8730

ArcGIS:根据DEM数据提取区域水系

利用DEM数据提取区域水系是常见的水文分析应用,为了获取区域的矢量水系数据,我们可以通过ArcGIS对高程DEM数据进行水文分析,为地表水流建立模型,进而获取到该地的水系数据,DEM数据精度越高,获取到的水系数据精度也就越高。以下介绍如何用ArcGIS提供的工具提取水系。

Oruizn的博客 9111

深入浅出SVM(支持向量机)

支持向量机是机器学习领域中经典的分类算法之一,最早由Corinna Cortes, Vladimir Vapnik于1995年提出。对原论文感兴趣的读者可下载此论文Support-Vector Network 简介 分类学习的最基本思想就是基于给定的训练集DDD,在样本空间中寻找一个划分超平面,将不同类别的样本分开。假如有一样本集D={(x1,y1),(x2,y2),…,(xm,ym)}D = ...

lost-person的博客 1万+

多视图学习 (Multi-View Learning)

多视角/多视图学习(Multi-view learning)是陶大成提出的一个研究方向。我们都知道,在机器学习中样本可以用不同的特征(如图片可以用LBP、SIFT等特征)来表示,或者从不同的角度进行观察(如从前后左右观察一个对象),甚至是采用不同的传感器来观测(如RGB摄像头,Depth摄像头),这些不同的观测手段、角度或特征在多视角学习中称为“视角”。多视角学习通过对不同的视角进行统一分析和研究,希望能够得到更好的分类或聚类等等的效果。

CarpeDiem 3万+

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件概述(ArkSIM集成开发环境 (IDE))

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件详述(ArkSIM集成开发环境 (IDE))

923

深入浅出支持向量机(SVM)

支持向量机的基本思想是通过构造一个超平面(Hyperplane)来将不同类别的数据点分开,使得类之间的间隔最大化。换句话说,SVM试图找到一个“最优”的决策边界,使得不同类别的点在该边界的两侧有最大的间隔,从而提高分类的准确性和泛化能力。SVM的目标不仅仅是找到一个可以正确划分数据的超平面,而是尽可能找到一个能够最大化类别间隔的超平面,进而提高模型的鲁棒性和泛化能力。选择最优的超平面:通过最大化类别之间的间隔,找到最佳的分类边界。使用支持向量。

hello.reader 2499

【以太网硬件六】1000base-T物理层编码究竟是怎么编的?

详述1000base-T物理层4D-PAM5的编码过程

highman110的博客 5325

深入浅出SVM(PART III)

点击上方“AI派”,选择“星标”公众号第一时间获取价值内容导读今天是该系列第九篇文章,介绍支持向量机原理(PART III)。 支持向量机(Support Vector Machi...

Oner.wv的专栏 236

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

深入浅出SVM(PART II)

点击上方“AI派”,选择“星标”公众号第一时间获取价值内容导读今天是该系列第八篇文章,介绍支持向量机原理(PART II)。 支持向量机(Support Vector Machin...

Oner.wv的专栏 160

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

svm核函数_深入浅出SVM(PART III)

点击上方“AI派”,选择“星标”公众号第一时间获取价值内容导读今天是该系列第九篇文章,介绍支持向量机原理(PART III)。 支持向量机(Support Vector Machine)是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机SVM也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。支持向量机是被公认的比较优秀的分类模型,同时,在支...

weixin_39948111的博客 151

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

svm算法原理_深入浅出SVM(PART II)

点击上方“海边的拾遗者”,选择“星标”公众号第一时间获取价值内容导读今天是该系列第八篇文章,介绍支持向量机原理(PART II)。 支持向量机(Support Vector Machine)是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机SVM也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。支持向量机是被公认的比较优秀的分类模型,同时,...

weixin_39984105的博客 244

SVM入门(三)线性分类器Part 2

上回说到对于文本分类这样的不适定问题(有一个以上解的问题称为不适定问题),需要有一个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类间隔是一个比较好的指标。在进行文本分类的时候,我们可以让计算机这样来看待我们提供给它的训练样本,每一个样本由一个向量(就是那些文本特征所组成的向量)和一个标记(标示出这个样本属于哪个类别)组成。如:Di=(xi,yi)。x...

weixin_34392843的博客 448

从Image Caption Generation理解深度学习(part III)

本系列文章面向程序员,希望通过Image Caption Generation,一个有意思的具体任务,深入浅出地介绍深度学习的知识,涉及到很多深度学习流行的模型,如CNN,RNN/LSTM,Attention等。本文为第三篇。 作者:李理,目前就职于环信,即时通讯云平台和全媒体智能客服平台,在环信从事智能客服和智能机器人相关工作,致力于用深度学习来提高智能机器人的性能。 相关...

lispython的专栏 1129

介绍我的一位计算机非科班好友以及他的干货文章

归辰是我的好朋友,他之前在C9高校获取了硕士学位,现在是一名大厂的算法工程师。他也是一名热爱生活的修行者,喜欢和朋友们聊生活心得。他的经历颇为传奇,从本科开始就参加各类科技以及创业比赛,...

weixin_40920183的博客 242

SVM理论

SVM入门(一)至(三)Refresh 按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅. (一)SVM的简介 支持向量机(Support Vector  Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持向量机方

heavendai的专栏 1万+

支持向量机SVM(Support Vector Machine)是一个有监督的学习模型

前言     动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显得不够。得益于同学白石的数学证明,我还是想尝试写一下,希望本文在兼顾通俗易懂的基础上,真真正正能足以成为一

share 3万+

机器学习中的算法(2)-支持向量机(SVM)基础

版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com。也可以加我的微博:@leftnoteasy 前言: 又有很长的一段时间没有更新博客了,距离上次更新已经有两个月的时间了。其中一个很大的原因是,不知道写什么...

weixin_33691817的博客 540

机器学习 基本算法 (3(深入浅出SVM

Hard-Margin SVMLinear SVM如果说 在平面上 0的点 和 1的点 是可分的 那就能找出无数条线 来划分这个面 那怎么找到最好的线 这就是svm做的事 就是找到最不容易发生意外的线 就像这3条线 第1条就很容易发生意外 就是说 在左边的 x 这个地方 对分类要求的精度很高 可能一不小心就分错了 x o 而 svm 就是要找到 第3条线这样的线 在svm中 越不容易出

qq_29031319的博客 346

深入浅出机器学习之支持向量机SVM(SMO算法)

第一版先把主要的框架说一下,细节再补充。对于不想看内部细节的人,还是比较好的。

王浩的专栏 4263

svm算法 最通俗易懂讲解

最近在学习svm算法,借此文章记录自己的学习过程,在学习很多处借鉴了z老师的讲义和李航的统计,若有不足的地方,请海涵;svm算法通俗的理解在二维上,就是找一分割线把两类分开,问题是如下图三条颜色都可以把点和星划开,但哪条线是最优的呢,这就是我们要考虑的问题; 首先我们先假设一条直线为 W•X+b =0 为最优的分割线,把两类分开如下图所示,那我们就要解决的是怎么获取这条最优直线呢

追赶者的博客 13万+
上一篇: Python 你可能从未听说过的5种隐藏技巧
下一篇: 轻量级CNN架构设计
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值