首页 百问百答 帖子详情
简述支持向量机算法原理
收藏
快速回复
百问百答 问答学习资料 312 0
简述支持向量机算法原理
收藏
快速回复
百问百答 问答学习资料 312 0

一、什么是支持向量机
支持向量机(support vector machine,简称SVM)是一种基于统计学习理论的新型学习机,是由前苏联教授Vapnik最早提出的。与传统的学习方法不同,支持向量机是结构风险最小化方法的近似实现。这个归纳原理是基于这样的事实,学习机器在测试数据上的误差率(即泛化误差率)以训练误差率和一个依赖于Vc维数(Vapnik-Chervonenkis dimension)的项的和为界;在可分模式情况下,支持向量机对于前一项的值为零,并且使第二项最小化。因此,尽管支持向量机不利用问题的领域知识,在模式分类问题上,仍能提供好的泛化性能,这个属性是支持向量机特有的。其实现的是如下的思想:通过某种事先选择的非线性映射将输入向量x映射到一个高维特征空间z,在这个空间中构造最优分类超平面,从而使正例和反例样本之间的分离界限达到最大。从概念上说,支持向量是那些离决策平面最近的数据点,它们决定了最优分类超平面的位置。

二、支持向量机的原理
超平面和最近的数据点之间的间隔被称为分离边缘,用P表示。支持向量机的目标是找到一个特殊的超平面,对于这个超平面分离边缘P最大。在这个条件下,决策曲面称为最优超平面。下图是二维输入空间中最优超平面的几何结构。

基本上,支持向量机的思想建立在两个数学运算上,概述如下

输入向量到高维特征空间的非线性映射,特征空间对输入和输出都是隐藏的
构造一个最优超平面用于分离在上一步中发现的特征。
三、支持向量机的算法
比较经典的如

1)Vapnik提出的Chunking方法;其出发点是删除矩阵中对应Lagrange乘数为零的行和列将不会影响最终结果,然而,在训练集的支持向量数很大的时候,Chunking算法仍然无法将矩阵放入内存中。

2)Qsuna提出的Qsuna算法;该算法存在效率问题,因为在每一步中,进行一次QP问题的最优化只能使一个样本符合Kuhn-Tucker条件。

3)Plat提出的序贯最小优化方法(sequential minimal optimization,简称SMO);将一个大型的QP问题分解为一系列最小规模的QP子问题,即仅具有两个Lagrange乘数的QP问题,从而使得原问题可以通过分析的方法加以解决,避免了在内循环中使用数值算法进行QP最优化。该算法在训练线性SVM时,可以获得非常好的性能。

四、支持向量机的几种内积核函数

1)多项式学习机

2)径向基函数网络

3)两层感知器

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户