SVM支持向量机算法

本文介绍了SVM(支持向量机)算法,一种用于模式识别和分类的机器学习方法。SVM主要思想包括线性可分和线性不可分情况的处理,通过核函数将低维线性不可分空间转换为高维线性可分。文章详细探讨了线性可分和线性不可分两种情况,并简述了SVM的算法实现流程,包括使用libsvm库进行模式分类的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料:http://www.cppblog.com/sunrise/archive/2012/08/06/186474.html                       http://blog.youkuaiyun.com/sunanger_wang/article/details/7887218

我的数据挖掘算法代码:https://github.com/linyiqun/DataMiningAlgorithm

介绍

svm(support vector machine)是一种用来进行模式识别,模式分类的机器学习算法。svm的主要思想可以概括为2点:(1)、针对线性可分情况进行分析。(2)、对于线性不可分的情况,通过使用核函数,将低维线性不可分空间转化为高维线性可分的情况,然后在进行分析。目前已经有实现好的svm的算法包,在本文的后半部分会给出我实现好的基于libsvm包的svm分类代码。

SVM算法原理

svm算法的具体原理得要分成2部分,一个是线性可分的情况,一个是线性不可分的情况,下面说说线性可分的情况:

线性可分的情况

下面是一个二维空间的形式:

image

中间的那条线就是划分的分割线,我们可以用f(X)=w*x+b,  w,x在这里都是向量的形式。向这样的分割线,只要稍稍移动一下,又会有一个正确的目标线,因此我们要找的一个目标解,当然是找出分割的临界条件。

比如上面所示的情况,最佳的分类情况,应该是上面的margin的大小最大的时候,保证了分类的最准确。这里省去了一些数学的推理证明。要使用下面这个最大化:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值