SVM

来源:互联网 发布:java web开发需求 编辑:程序博客网 时间:2024/06/16 13:14

1.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).

2.SVM的一些概念

(1)线性SVM:指的是数据集线性可分。
(2)非线性SVM:指的是数据集非线性可分。
(3)硬间隔:要求所有的样本点都要正确划分,并且在这个基础上找到间隔最大的。数据集是线性可分。
(4)软间隔:可以理解为我们牺牲了在某些点上必须正确划分的限制,来换取更大的分隔间隔。数据集是近似线性可分。
(5)核函数:将数据从某个很难处理的形式转换为另一种较容易处理的形式。通常都是将数据从低维度映射到高维度,即升维。

3.SVM的应用

SVM可用于解决各种现实世界的问题:
1.支持向量机有助于文本和超文本分类,因为它们的应用程序可以显著减少对标准感应和转换设置中标记的训练实例的需求。
2.图像的分类也可以使用SVM进行。实验结果表明,只有三到四轮的相关性反馈,支持向量机的搜索精度要比传统的查询优化方案高得多。图像分割系统也是如此,包括使用Vapnik建议的使用特权方法的修改版SVM的系统。
3.使用SVM可以识别手写字符。
4.SVM算法已广泛应用于生物科学和其他科学领域。它们已被用于对高达90%正确分类的化合物进行蛋白质分类。已经提出基于SVM权重的置换测试作为解释SVM模型的机制。支持向量机权重也被用于解释过去的SVM模型。Posthoc解释支持向量机模型为了识别模型使用的特征进行预测是一个比较新的研究领域,在生物科学中具有特殊的意义。

原创粉丝点击