SVM算法

在机器学习领域, 支持向量机 SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类、以及回归分析。

主要的算法思想:(个人理解)当我们遇到线性可分的当然很easy,但是现实中往往是线性不可分的,那么我们又需要把他们分开,来达到我们研究的目的,那怎么办呢?
我们就需要一种方法,这种方法在低维的空间内是不可分,但是把它升到高维,升到高维后,在使用线性分类器就很容易的把这些类别能够很好的分离出来,高维就容易可分了,然而,在我们现实操作中,升维这件事也不是省油的灯,我们很难找到这个升维函数,使得能够准确的升维到正确的空间中,能达到很好的分类效果,但是如果有一种方法,能够在低维的空间内计算,然后来表达升维后的结果,那是多好的愿景啊,就是这么神奇,真的有一些大牛,搞出 了一些方法,这个方法就是核函数了。

SVM算法 - 妹妹妹妹妹妹妹儿的~ - 这孩子谁懂的博客(线性可分的情况)
SVM的主要思想可以概括为两点:⑴它是针对线性可分情 况进行分 ,对于线性不可分的情况,通过使用非线性 映射 算法将低维输入空间线性不可分的样本转化为 高维 特征空间使其线性可分,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;
SVM方法是通过一个非线性 映射 p,把 样本空间 映射到一个 高维 乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题.简单地说,就是升维和线性化.升维,就是把样本向高维空间做映射,一般情况下这会增加计算的复杂性,甚至会引起“ 维数灾难 ”,因而人们很少问津.但是作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间中却可以通过一个线性超平面实现线性划分(或回归).一般的升维都会带来计算的复杂化,SVM方法巧妙地解决了这个难题:应用 核函数 的展开定理,就不需要知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与 线性模型 相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”.这一切要归功于核函数的展开和计算理论:
选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种:
⑴线性核函数K(x,y)=x·y;
⑵多项式 核函数K(x,y)=[(x·y)+1]^d;
径向基函数K(x,y)=exp(-|x-y|^2/d^2)
⑷二层 神经网络核函数K(x,y)=tanh(a(x·y)+b).

 

 

 
 然后我们就能计算出w和b,那么就能找到最大间隔的两条直线,就能确定支持向量(在这两条直线上的向量),α是拉格朗日乘数因子,如下图所示:

 

 

 

 
 


 


 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值