SVM原理及推导过程

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核心思想及公式推导
SVM原理及推导过程_第1张图片

SVM原理及推导过程_第2张图片

SVM原理及推导过程_第3张图片

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

核函数选择
核函数一般采用径向基核函数(高斯版本)
SVM原理及推导过程_第9张图片
也可以采用别的如多项式核函数,只需满足Mercer定理
SVM原理及推导过程_第10张图片

SVM vs 逻辑回归
使用SVM or 逻辑回归,你需要知道数据的特征数和训练样本数的相对大小
SVM原理及推导过程_第11张图片

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

多分类SVM
把训练多分类SVM转化为训练多个二分类SVM
SVM原理及推导过程_第12张图片

你可能感兴趣的:(SVM原理及推导过程)