svm以及各种版本的实现

本文详细介绍了支持向量机(SVM)的概念,强调其作为Large Margin分类器的优势,并探讨了线性分类器和超平面。接着,文章对比了OpenCV与Libsvm两个库在Python和C++版本中的SVM实现,包括训练、预测和参数调整,指出OpenCV SVM在某些场景下可能具有更高的准确率。同时,提到了Libsvm的安装和使用,以及如何获取预测置信度。

一、简述

以二维平面上的分类为例,下面给出了不同的分类可能,哪个才是最优的分类呢?


可以看出第一种分类方法是最好的,为什么呢?因为它的分类平面到两类边界的距离(Margin)最大。

所以SVM也叫Large Margin分类器。


各种资料对它评价甚高,说“ 它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中”。

 

SVM之线性分类器


如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。

什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,以此类推。

如果不关注空间的维数,这种线性函数就是前言中所说的那个统一的名称——超平面(Hyper Plane)!

在样本空间中,划分超平面可通过如下线性方程来描述:

如图:

在这两个超平面上的样本点也就是理论上离分隔超平面最近的点,是它们的存在决定了H1和H2的位置,支撑起了分界线,它们就是所谓的支持向量,这就是支持向量机的由来

有了这两个超平面就可以顺理成章的定义上面提到的间隔(margin)了

二维情况下 ax+by=c1和ax+by=c两条平行线的距离公式为:


而且这是一个凸二次规划问题,一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值