才子佳人博客

我的故事我讲述

支持向量机SVM简要笔记
 
来源:xjh  编辑:xjh  2016-05-24

支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类、以及回归分析。SVM可以有效地解决小样本、非线性及高维模式识别问题。SVM本质上用于解决二分类问题。

SVM的主要思想:

⑴它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。

⑵它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化。

支持向量机的基本思路:

首先通过引入核函数,将输入空间的数据通过非线性映射,映射到高维特征空间(Hilbert空间)中,以便在特征空间中进行线性处理。其次,用最优化理论方法寻求最优超平面将两类分开。

当 SVM 用作分类时,它的主要想法是通过构建一个超平面使得两个不同类别的数据尽可能远离这个超平面。由于 SVM 相比其他分类器具有许多独有的优势,比如在解决小样本问题、非线性及高维问题等等,使其成为模式识别领域研究的热点。

SVM原理:

SVM方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题。简单地说,就是升维和线性化。升维,就是把样本向高维空间做映射,一般情况下这会增加计算的复杂性,甚至会引起“维数灾难”,因而人们很少问津。但是作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间中却可以通过一个线性超平面实现线性划分(或回归)。一般的升维都会带来计算的复杂化,SVM方法巧妙地解决了这个难题:应用核函数的展开定理,就不需要知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。这一切要归功于核函数的展开和计算理论。

可见,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)

来源:

史忠植,《高级人工智能第三版》,科学出版社,P236-242

丁世飞,《人工智能》,清华大学出版社,p170-184


分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: