支持向量机 SVM (Support Vector Machine)

不同时期的你去看红楼梦会有不一样的感触,而不同年份的我看ML也会有更深入的理解(*/ω\*)

svm是 一种判别方法 有监督的学习模型 通常用来进行模式识别、分类以及回归分析,主要解决二分类问题。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去。

所以,我们先从最简单的线性支持向量机说起。

去年翻ML时,仍不解svm为什么叫支持向量机.或许 同时翻翻线性回归和线性支持向量机就能豁然开朗。

如果一个线性函数能够将样本分开,称这些数据样本是线性可分的。那么什么是线性函数呢?其实很简单,在二维空间中就 是一条直线,在三维空间中就是一个平面,以此类推,如果不考虑空间维数,这样的线性函数统称为超平面。我们看一个简单的二维空间的例子,

样本是线性可分的,但是很显然不只有这一条直线可以将样本分开,而是有无数条,我们所说的线性可分支持向量机就对应 着能将数据正确划分并且间隔最大的直线。

线性回归,通常采用最小二乘法作为损失函数,即实际值与观测值相减的平方和最小作为其选取直线的标准。

线性支持向量机,主要思想是:寻找这么一条直线,使得训练样本中属于不同类别的样本点正好位于该直线的两侧,在保证 分类精度的同时,使得直线两侧的空白区域最大化。

为什么要间隔最大呢?一般来说,一个点距离分离超平面的远近可以表示分类预测的确信度,如图中的A B两个样本点,B点 被预测为正类的确信度要大于A点,所以SVM的目标是寻找一个超平面,使得离超平面较近的异类点之间能有更大的间隔,即 不必考虑所有样本点,只需让求得的超平面使得离它近的点(“支持向量”)间隔最大(svm名称的由来?)。 故而SVM自带结构 风险最小化,LR(线性回归Linear Regress)则是经验风险最小化

图5

那么怎么计算间隔?

松弛变量

SVM另一个巧妙之处是加入了一个松弛变量来处理样本数据可能存在的噪声问题,如下图所示:

SVM允许数据点在一定程度上对超平面有所偏离,这个偏移量就是SVM算法中可以设置的outlier值,对应于上图中黑色实现的 长度。松弛变量的加入使得SVM并非仅仅是追求局部效果最优,而是从样本数据分布的全局出发,统筹考量,正所谓成大事者 不拘小节。

原文地址:https://www.cnblogs.com/Zhouwl/p/9519855.html

时间: 2024-10-11 09:24:58

支持向量机 SVM (Support Vector Machine)的相关文章

支持向量机SVM(Support Vector Machine)

支持向量机(Support Vector Machine)是一种监督式的机器学习方法(supervised machine learning),一般用于二类问题(binary classification)的模式识别应用中. 支持向量机的最大特点是既能够最小化经验损失(也叫做经验风险.或者经验误差),同时又能够最大化几何间距(分类器的置信度),因此SVM又被称为最大边缘区(间距)的分类器. 根据具体应用场景的不同,支持向量机可以分为线性可分SVM.线性SVM和带有核函数的SVM.最终的结果都是得

机器学习之支持向量机(Support Vector Machine)(更新中...)

支持向量机 支持向量机(support vector machines,SVMs)是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:支持向量机还包括核技巧,这使它成为实质上的非线性分类器.支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题. 支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机(linear support vector machine in

支持向量机(Support Vector Machine / SVM)

支持向量机(Support Vector Machines, SVM):是一种机器学习算法. 支持向量(Support Vector)就是离分隔超平面最近的那些点.机(Machine)就是表示一种算法,而不是表示机器. 基于训练集样本在空间中找到一个划分超平面,将不同类别的样本分开. SVM 工作原理 在样本空间中,划分超平面可通过如下线性方程来描述: 原文地址:https://www.cnblogs.com/wanglinjie/p/11729786.html

SVM (support vector machine)

简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucVaEHVSAjHvBCvQNZGhe_TEgWoDeVoWNBATyAa0bc5eDZQweEm 详细原理和实验1:PMTK ToolBox和实验2:LibSVM转自:http://blog.163.com/[email protected]/blog/static/1718619832011714

Spark MLlib模型(一) 支持向量机【Support Vector Machine】

目录 支持向量机原理 支持向量机代码(Spark Python) 支持向量机原理 待续... 返回目录 支持向量机代码(Spark Python) 代码里数据:https://pan.baidu.com/s/1jHWKG4I 密码:acq1 # -*-coding=utf-8 -*- from pyspark import SparkConf, SparkContext sc = SparkContext('local') from pyspark.mllib.classification im

支持向量机(Support Vector Machine):对偶

前言 学SVM看到对偶问题的时候很难受,因为看不懂,数学知识真的太重要了.后来在B站看到某up主的精彩推导,故总结如下. SVM基本型 由之前最大化间隔的计算可得SVM的基本型为: $\underset{\mathbf{w},b}{min}\   \ \ \  \frac{1}{2}\left \| \mathbf{w}\right \|^{2}$    $s.t. \ y_{i}(\mathbf{w}^{T}\mathbf{x}_{i})+b\geqslant 1,\ \ \ \ i=1,2,

支持向量机(support vector machine)

支持向量机SVM 支持向量机(support vector machine,SVM)是由Cortes和Vapnik在1995年提出的,由于其在文本分类和高维数据中强大的性能,很快就成为机器学习的主流技术,并直接掀起了"统计学习"在2000年前后的高潮,是迄今为止使用的最广的学习算法. 本篇将要简要的介绍一下SVM,如有错误请批评指正,共同学习.本文主要分为以下几个部分: SVM的优化目标(代价函数) SVM最大间隔超平面 large margin(决策边界) SVM最大间隔中的数学原理

A glimpse of Support Vector Machine

支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提供一些其他内容.(以下各节内容分别来源于不同的资料,在数学符号表述上可能有差异,望见谅.) 一.原理概述 机器学习的一大任务就是分类(Classification).如下图所示,假设一个二分类问题,给定一个数据集,里面所有的数据都事先被标记为两类,能很容易找到一个超平面(hyperplane)将其完

支持向量机(Support Vector Machines)算法初探

1. SVM简介 支持向量机(support vector machine SVM)是一种二类分类模型.它的基本模型是定义在特征空间(feature space)上的间隔最大线性分类器 因为SVM加入了间隔最大这项约束,所以SVM有别于别的感知机,即有唯一最优解(这一约束使其具备了结构化风险最小策略特性):除此之外支持向量机还包括核技巧,这使它成为实质上的非线性分类器. 支持向量机的模型是支持向量和超分类面的距离,学习策略就是间隔最大化,求解最优解的过程的算法根据待分类问题数据集的线性性决定是否