SVM原理及推导过程

article/2025/9/13 5:30:03

SVM简介

SVM核心是最优化方法(带约束条件,拉格朗日乘子法),思想是max(min),即最大化最小间隔(找到最小间隔的点,即支持向量),目标就是求解参数alpha、w、b,确定超平面,然后就能正常的二分类(和逻辑回归类似);其中最著名的实现方法是SMO或Platt SMO;确定目标函数,严格推导发现,最终只和所有点的向量内积有关;和kNN对比,只需保留少量样本,占用内存小;

(经典MIT课程 https://www.youtube.com/watch?v=_PwhiWxHK8o )核函数是对于无法直接二分类进行的函数转换,使得可以二分类(用曲线或曲面代替直线或超平面);可以把核函数看成包装器或接口,在高维空间解决线性问题,等价于在低维空间解决非线性问题;把‘内积’替换成‘核函数’叫做核技巧;径向基核函数(高斯版本)以及多项式核函数是常见的核函数;
(吴恩达SVM使用了对偶方法求解,即max(min)变为min(max),也提到kkt,最后求出w和b的公式,也是内积的线性和)
(任何线性分类器,若能写成内积的形式,都能用核函数替换它,如逻辑回归等)
(核函数其实是一种求相似度的函数,把两个向量变为一个标量,即相似度。所以从侧面说明,内积也是一种相似度)
(核函数的选择要求满足Mercer定理(Mercer’s theorem),即核函数在样本空间内的任意格拉姆矩阵(核矩阵)为半正定矩阵)
(soft margin解决非线性可分问题;坐标下降法,是一种非梯度优化算法,每次只更新一个参数)
(SMO每次同时更新两个alpha,迭代以满足kkt条件;注意:根据公式,只要所有alpha求出来了,w也就确定了,进而b也确定了)

https://www.youtube.com/watch?v=FCUBwP-JTsA (吴恩达SVM Lecture 12.1-12.6)
https://www.youtube.com/watch?v=qyyJKd-zXRE&list=PLEBC422EC5973B4D8&index=6 (CS229第6、7、8课)
https://www.cnblogs.com/jerrylead/archive/2011/03/13/1982684.html

背景知识

什么是kkt条件与拉格朗日乘子法?
对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件求取;
对于不等式约束,只要满足一定的条件,依然可以使用拉格朗日乘子法解决,这里的条件便是KKT条件;
可以把KKT条件视为是拉格朗日乘子法的泛化;而拉格朗日乘数法正是KKT条件在等式约束优化问题的简化版;
https://www.cnblogs.com/ooon/p/5721119.html
https://blog.csdn.net/xianlingmao/article/details/7919597
https://baijiahao.baidu.com/s?id=1618344063706450694&wfr=spider&for=pc
https://www.cnblogs.com/liaohuiqiang/p/7805954.html
https://blog.csdn.net/loadstar_kun/article/details/25369017
https://blog.csdn.net/johnnyconstantine/article/details/46335763

什么是拉格朗日对偶?
https://www.cnblogs.com/ooon/p/5723725.html
http://www.hankcs.com/ml/lagrange-duality.html
https://blog.csdn.net/timingspace/article/details/50966105

什么是坐标下降法?
https://blog.csdn.net/qq_32742009/article/details/81735274
https://www.cnblogs.com/makefile/p/coord-descent.html

SVM核心思想及公式推导
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
为什么需要核函数
考虑下图左一,很明显数据无法线性划分,如果你用一条直线强行划分,可能会得到下图中间的结果,而引入核函数,划分结果如下图右一,是不是很机智呢:)
在这里插入图片描述在这里插入图片描述在这里插入图片描述
举一个更直观的例子,下图左边的数据看起来无法线性划分,假如告诉你这些点其实是三维空间在二维平面的投影,它们在三维空间的位置如右边所示,那么很明显这几个点是可以用一个超平面线性划分的。
在这里插入图片描述

核函数选择
核函数一般采用径向基核函数(高斯版本)
在这里插入图片描述
也可以采用别的如多项式核函数,只需满足Mercer定理
在这里插入图片描述

SVM vs 逻辑回归
使用SVM or 逻辑回归,你需要知道数据的特征数和训练样本数的相对大小
在这里插入图片描述

SVM vs 神经网络
SVM是凸函数,不会陷入局部极小值,这与神经网络形成对比

多分类SVM
把训练多分类SVM转化为训练多个二分类SVM
在这里插入图片描述


http://chatgpt.dhexx.cn/article/QHkpL7Qe.shtml

相关文章

SVM的详细推导

SVM推导: 参考 http://wenku.baidu.com/view/dd807d2fcfc789eb172dc883.html http://wenku.baidu.com/link?urlIJ1D1XtdoQM7qD3JdOE3eBPmN0rJqGDIEmZCG_bWQR8q34ZtT7YqsFtbwHV1RVxCjpt2KgZlqzD-LeOSVNZmO9MQN4YbMZ3eMTHpprQQal7

SVM推导过程注解(一)

前言 支持向量机(Support Vector Machine)的原理其实比较简单,它是基于结构风险最小化理论之上在特征空间中建构最优分割超平面。在二维中就是线,在三维中就是面,但我们统称为超平面。 就我所看到的相关书本、论文以及网上博文情况来看&…

AI面试之SVM推导

SVM现在主流的有两个方法。一个是传统的推导,计算支持向量求解的方法,一个是近几年兴起的梯度下降的方法。 梯度下降方法的核心是使用了hinge loss作为损失函数,所以最近也有人提出的深度SVM其实就是使用hinge loss的神经网络。 本文的目的是…

CS229 SVM 推导和使用心得

这两天要用到SVR的几何解释,特地又翻了CS229 lecture3的笔记。特此记录一下我理解的思路。 从logistic regression引入,说明我们应该更关注于离separating hyperplane近的点,进而引入了margin的概念。 我们想让margin尽量的大,但最直接的functional margin可以通过缩放ω和…

SVM推导过程

推导目标函数 则 w,b等比例缩放,则t*y的值同样缩放,从而: 最大间隔分离超平面: 目标函数: 表示最近点到直线距离尽可能大 函数间隔和几何间隔 分割平面(函数间隔) 。总可以通过等比例缩放w的方法,使…

SVM 推导

参考 http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html http://blog.csdn.net/sinat_22594309/article/details/61615946 http://blog.csdn.net/v_july_v/article/details/7624837 理解SVM 函数间隔->几何间隔->拉格朗日算子->KTT条件 函数间隔 …

SVM 原理详细推导

SVM 原理详细推导 1 硬间隔最大化1.1 函数间隔与几何间隔1.2 间隔最大化1.3 凸二次规划问题求解1.4 一个求解例子 2 软间隔最大化3 线性不可分问题参考 SVM 是一个分类模型,如果训练数据可以完全用一个超平面分开,则称数据集为完全线性可分的&#xff0c…

机器学习笔记:线性SVM推导

什么是SVM 支持向量机简称SVM是最大化分类间隔的线性分类器,如果使用核函数,可以解决非线性问题。支持向量机的目标是寻找一个分类超平面,它不仅能正确的分类每一个样本,并且要使得每一类样本中距离超平面最近的样本到超平面的距…

SVM推导过程浅析

转载请注明出处,原文地址 前言 SVM - support vector machine, 俗称支持向量机,为一种supervised learning算法,属于classification的范畴。本篇文章将会讲述SVM的原理并介绍推导过程。 SVM推导过程 如图,我们有些红色与蓝色点…

svm推导

自己推一遍才印象深刻,CSDN对公式的支持很不好,所以在本地用latex写,并转换成了图片上传

【超详细】支持向量机(SVM)数学推导

目录 一、硬间隔SVM(Hard Margin SVM) 二、对偶问题(Dual Problem) 1.将有约束问题转变为无约束问题 2.强对偶关系 3.计算拉格朗日函数的最小值 4.得到对偶形式 三、对偶形式的求解 1.KKT条件的引入 2.计算w*和b* 四、软间隔SVM(Soft M…

svm原理详细推导

笔者在查阅了大量资料和阅读大佬的讲解之后,终于对svm有了比较深一点的认识,先将理解的推导过程分享如下: 本文主要从如下五个方面进行介绍:基本推导,松弛因子,核函数,SMO算法,小结…

支持向量机SVM推导及求解过程

支持向量机是属于原创性、非组合的具有明显直观几何意义的分类算法,具有较高的准确率。 使用SVM算法的思路:(1)简单情况,线性可分情况,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化&am…

SVM 公式推导

1、SVM思想 (1)SVM算法的依据就是分类器B的分类间隔比分类器C的分类间隔大。这里涉及到第一个SVM独有的概念”分类间隔”。在保证决策面方向不变且不会出现错分样本的情况下移动决策面,会在原来的决策面两侧找到两个极限位置(越过…

机器学习笔记之十二——SVM原理及推导

svm(support vector machine)是一种二分类算法,它的目标在于寻找一个能将两种点分离的直线或平面或超平面。 如图(来自wiki): 图中的红线将两边数据点分开,这条线就是分割直线,同样…

DFS与DP算法

名词解释: DFS(Dynamic Plan):动态规划 DFS(Depth First Search):深度优先搜索 DFS与DP的关系 很多情况下,dfs和dp两种解题方法的思路都是很相似的,这两种算法在一定程度上是可以互相转化的。 想到dfs也就常常会想到dp…

​Python—数据结构与算法​---动态规划—DP算法(Dynamic Programing)

我们一路奋战, 不是为了改变世界, 而是为了不让世界改变我们。 目录 我们一路奋战, 不是为了改变世界, 而是为了不让世界改变我们。 动态规划——DP算法(Dynamic Programing) 一、🏔斐波那契…

XDOJ(智慧平台)--分配宝藏(用动态规划dp算法解决)(C语言)

------------------------------------------------------------ 作为西电渣渣,这是我第一次接触需要一些很明确的算法的题目。 第一次博客写废话较多hhh,可以直接到下面看分析 我在昨天晚上和舍友一起肝这道题,肝了一个晚上都没有解决&…

dp算法篇Day1

"多希望有人来陪我,度过末日啊~" 讲讲我为什么突然想更新这篇栏目。 想想自己也算 "系统" 接触计算机这个学科也有差不多一年了,回想起当初下定决心要全身心投入到这个专业或者说行业中来,现在到了这样的地步&#xff0c…

第十四周DP算法总结

这周自己主要再看DP算法的博客,感觉DP这一部分内容确实比之前的都要麻烦一些,最后攻克这一部分难题还是挺好的。 这周自己总结了一些题型,以及一些方法思路,最后再把动态规划和之前的分治和贪心做一下比较。下面是详细的总结。 动…