码迷,mamicode.com
首页 > 编程语言 > 详细

python实现支持向量机之理论基础(一)

时间:2020-05-01 20:13:46      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:分类器   font   优化   最大化   ati   特征   baidu   将不   com   

SVM是什么?

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

SVM算法原理?

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, 技术图片 即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

技术图片

定义训练集:

技术图片其中,

 技术图片 , 技术图片 ,

技术图片 为第 技术图片 个特征向量, 技术图片 为类标记,当它等于+1时为正例;为-1时为负例。再假设训练数据集是线性可分的。 

在超平面wx+b=0确定的情况下,|wx+b|能够相对地表示x距超平面的远近。而wx+b的符号与类标记y的符号是否一致能够表示分类是否正确,所以可以用y(wx+b)来表示分类的正确性以及置信度,这就是函数间隔

技术图片

假设我们成比例的改变w和b,比如变为2w和2b,超平面没有变,但是函数间隔却会变为原来的两倍,因此,可以对法向量w施加某些约束,如规范化||w||=1,使得间隔是确定的,这时函数间隔就变为几何间隔

技术图片

我们可以这么理解,点(x1,y1,z1)到平面Ax+ By+Cz=0的距离为:

技术图片

我们将平面替换为w1x1+w2x2+w3x3+..+wnxn+b=0,用w表示所有系数的向量,x表示所有特征的向量,则有:

技术图片

再乘以样本的标签就得到了带符号距离。

我们要找到几何间隔最大的超平面,不仅要将不同类样本区分开,并且对于很难区分开的实例(距离超平面最近的点)也要有足够大的置信度将他们分开,

如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面,可以转化为以下约束最优化问题:

技术图片

考虑到函数间隔和几何间隔的关系,可以转换为:

技术图片

技术图片

技术图片

也就是说,现在支持向量机转换为以下问题了:

技术图片

 

 

参考:

https://baike.baidu.com/item/%E7%82%B9%E5%88%B0%E5%B9%B3%E9%9D%A2%E8%B7%9D%E7%A6%BB/10690055?fr=aladdin

https://blog.csdn.net/wangyuanshun/article/details/88529773

https://zhuanlan.zhihu.com/p/31886934

统计学习方法 

 

python实现支持向量机之理论基础(一)

标签:分类器   font   优化   最大化   ati   特征   baidu   将不   com   

原文地址:https://www.cnblogs.com/xiximayou/p/12814525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!