支持向量机

机器学习的一种算法
支持向量机(Support Vector Machine,SVM)是一类有监督学习方式,是对数据进行二元分类的广义线性分类器,[1]其决策边界是对学习样本求解的最大边距超平面。SVM也可以应用于多元分类问题和回归问题。[1][7]
SVM的工作原理是将数据映射到高维特征空间,在特征空间里利用算法求出一个超平面实现数据的分类,这样即使数据不是线性可分,也可以对该数据点进行分类。[6]数学模型包含最优决策边界[7]、支持向量和超平面等。[1]其中,最优决策边界是指能够最大化分类间隔的边界[7],而支持向量则是决定这个边界的关键样本点。超平面则是作为SVM分类的决策边界,将数据分为不同的类别。[1]SVM的起源可追溯到1936年,Ronald Fisher(罗纳德·费希尔)首次提出的线性判别分析模式识别奠定了基石。[8]随着对最大边距决策边界的理论研究的深入,以及基于松弛变量的规划问题求解技术的出现和VC维[a]概念的提出,SVM的理论基础逐渐得以确立。[8]这一理论基础主要是在1960年代到1970年代由弗拉基米尔·瓦普尼克(Vladimir Vapnik)和阿列克谢·切尔沃涅基(Alexey·Chervonenkis)等人提出的。[9]
SVM包含多种类型,其中基本算法主要分为线性SVM和非线性SVM。[10]此外,SVM的训练算法也多种多样,包括块算法、分解算法和增量算法等。[11]在模型选择和验证方面,可以使用单一验证估计、留一法、k遍交叉验证法以及基于样本相似度的方法来进行评估。[2]由于其出色的分类和回归性能,SVM在多个领域都有广泛的应用,包括化工生产[4]数据挖掘[5]模式识别人工智能等。[3]

历史沿革

萌芽