神经网络与机器学习 笔记—支持向量机(SVM)(上)
支持向量机(SVM)的主要思想:
给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。
线性可分模式的最优超平面
训练样本{(xi,di)}^N i=1 ,其中xi是输入模式的第i个样例,di是对应的期望相应(目标输出)。首先假设由子集di=+1代表的模式(类)和di=-1代表的模式是“线性可分的”。用于分离的产平面形式的决策曲面方程是:
W^T X + b = 0
其中X是输入向量,W是可调的权值向量,b是偏置。因此可以写成:
W^T X + b >= 0 当di=+1
W^T X + b < 0 当di=-1
在这里做了模式线性可分的假设,以便在相当简单的环境里解释支持向量机背后的基本思想;对于一个给定的权值向量W和偏置b,由式W^T X + b = 0定义的超平面和最近的数据点之间的间隔被称为分离边缘,用ρ表示。支持向量机的目标是找到一个特殊的超平面,这个超平面的分离边缘ρ最大。在这种条件下,决策曲面称为最优超平面。
下面是二维空间中最优超平面的集合结构。

然后是进行处理和转化一下:

二维情况下点到最优超平面的袋鼠距离的几何解释:

满足

第一行或者第二行等号情况的特殊数据点(xi,di)称为支持向量,“支持向量机”因此得名。其他的训练样本完全不重要。由于支持向量的特点,这些向量在这类机器学习运行中起着主导作用。支持向量是最靠近决策面的数据点,这样的数据点是最难分类的。因此,他们和决策面的最优位置直接相关。同时各种推导之后会得到这么一个公式:

说明最大化两个类之间的分离边缘等价于最小化权值向量w的欧几里得范数。
最优超平面是唯一的,意味着最优权值向量w0提供正反例之间最大可能的分离。这个优化条件是通过最小化权值向量w的欧几里得范数获得的。
然后是基本上分四步类求这个超平面:
- 寻找最优超平面问题,以这样一个陈述为开始:即在原始权重空间的带约束的优化问题。
- 对于上述问题建立拉格朗日函数。[拉格朗日函数可以用来求目标函数约束条件下的极值]
- 推到出极值最优化条件。
- 问题的最后阶段是在对偶空间解决带拉格朗日乘子的优化问题。
神经网络与机器学习 笔记—支持向量机(SVM)(上)的更多相关文章
- Python机器学习笔记:SVM(1)——SVM概述
前言 整理SVM(support vector machine)的笔记是一个非常麻烦的事情,一方面这个东西本来就不好理解,要深入学习需要花费大量的时间和精力,另一方面我本身也是个初学者,整理起来难免思 ...
- 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火
神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...
- 机器学习算法 - 支持向量机SVM
在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...
- 机器学习之支持向量机—SVM原理代码实现
支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...
- python机器学习之支持向量机SVM
支持向量机SVM(Support Vector Machine) 关注公众号"轻松学编程"了解更多. [关键词]支持向量,最大几何间隔,拉格朗日乘子法 一.支持向量机的原理 Sup ...
- 【机器学习】支持向量机SVM
关于支持向量机SVM,这里也只是简单地作个要点梳理,尤其是要注意的是SVM的SMO优化算法.核函数的选择以及参数调整.在此不作过多阐述,单从应用层面来讲,重点在于如何使用libsvm,但对其原理算法要 ...
- 机器学习(十一) 支持向量机 SVM(上)
一.什么是支撑向量机SVM (Support Vector Machine) SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法.在机器学习领域,是一个有监督 ...
- 机器学习笔记——支持向量机 (SVM)
声明: 机器学习系列主要记录自己学习机器学习算法过程中的一些参考和总结,其中有部分内容是借鉴参考书籍和参考博客的. 目录: 什么支持向量机(SVM) SVM中必须知道的概念 SVM实现过程 SVM核心 ...
- 机器学习-5 支持向量机SVM
一.概念和背景 SVM:Support Vector Machine 支持向量机. 最早是由Vladimir N. Vapnik和Alexey Ya. Chervonenkis在1963年提出的. 目 ...
随机推荐
- 手把手教你集成华为机器学习服务(ML Kit)人脸检测功能
当给自己拍一张美美的自拍照时,却发现照片中自己的脸不够瘦.眼睛不够大.表情不够丰富可爱-如果此时能够一键美颜瘦脸并且添加可爱的贴纸的话,是不是很棒? 当家里的小孩观看iPad屏幕时间过长或者眼睛离屏幕 ...
- Android实现三角形气泡效果方式汇总
在开发过程中,我们可能会经常遇到这样的需求样式: 这张图是截取京东消息通知的弹出框,我们可以看到右上方有个三角形的气泡效果,这只是其中一种,三角形的方向还可以是上.下.左.右. 通过截图可以发现,气泡 ...
- FreeBSD 如何让csh像zsh那样具有命令错误修正呢
比如,,你用 emacs写c ,但你输完emacs ma按tab回车是,他会匹配所有ma开头的文件,而这个是忽略掉,也就是按tab时不会在有你忽略的东西,对编程之类的友好,不用再匹配到二进制..o之类 ...
- LNMP配置——Nginx配置 —— Nginx解析PHP
一.配置 #vi /usr/local/nginx/conf/vhost/test.com.conf 写入: server { listen 80; server_name test.com test ...
- 订单退款&重复支付需求疑问点归纳整理
更新历史记录: 更新内容 更新人 更新时间 新建 Young 2020.12.10 16:45 更新产品疑问解答 Young 2020.12.11 10:14 更新退款权益终止时间 Young 2 ...
- 2019 南京网络赛 B super_log 【递归欧拉降幂】
一.题目 super_log 二.分析 公式很好推出来,就是$$a^{a^{a^{a^{...}}}}$$一共是$b$个$a$. 对于上式,由于指数太大,需要降幂,这里需要用到扩展欧拉定理: 用这个定 ...
- SpringBoot入门学习看这一篇就够了
1.SpringBoot是什么? SpringBoot是一套基于Spring框架的微服务框架. 2.为什么需要SpringBoot 由于Spring是一个轻量级的企业开发框架,主要的功能就是用于整合和 ...
- gtk编译之makefile的写法(之一)
在学习c语言GUI编程时想必大家都会遇见这样一个问题买就是每次编译都要敲`pkg-config --cflags --libs gtk+-2.0`这个烦恼吧 这是我们可以编写一个makefile文件这 ...
- [Azure Devops] 使用 Azure Boards 管理工作
1. 什么是 Azure Boards 通过 Azure Boards 网络服务,团队可以管理其软件项目.它提供了丰富的功能,包括 Scrum 和看板的本地支持.可定制的仪表板和集成报告.这些工具可以 ...
- Java基础知识-简明阐述双亲委派机制及作用
1.双亲委派机制及作用 1.1 什么是双亲委派机制 当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类 ...