支持向量机1
支持向量机是机器学习中的一种经典的算法,是一种监督学习模型,主要用于分类和回归分析。其主要思想是通过最优决策边界分类不同的样本,在二维空间中表现为一条直线,在高维空间中则表现为超平面,通过该最优决策边界能够将各类别之间的间隔最大化。
文章目录
线性可分与线性不可分
通过数据样本是否线性可分,可以将支持向量机分为线性可分和线性不可分。通俗来点讲,就是是否存在一条直线或超平面将数据样本直接分开,达到分类的目的,如果存在,则是线性可分,否则为线性不可分。
问题描述
很多人都会疑问,为什么这个算法要叫支持向量机?什么是支持向量?这个算法到底做了什么?解决了什么?接下来将从线性可分方面来解答这些问题。
对于简单的二分类线性可分为问题来说,可能存在着不止一条能够将样本直接线性分开的直线,如下图所示:
那么应该如何选择最佳的直线呢?绝大多数人的直觉会驱使他们选择2这条直线,事实确实如此,在不对训练样本先验分布进行假设时,2这条直线便是最佳的直线,其性能最好,鲁棒性最强。不对训练样本先验分布进行假设时,样本分布很可能会越过1、3两条直线造成错误,倘若训练样本存在于2这条直线上,那么1、3直线便会发生错误。因此2这条直线便是最佳的线性可分直线。
那么从数学角度上严格来说,2这条直线是怎么确定的?这其实是一个最优化的问题。支持向量机的提出者认为,将直线平移到接触到训练样本,两条平移线之间的距离便是间隔,能让这个间隔达到最大的直线就是我们要寻找到的最优直线。而在这个过程中直线所接触到的训练样本便是支持向量。由于在数学角度上来说,这些样本都是以向量形式表现出来的,所以将这写样本称为支持向量,而支持向量机便是用来解决支持向量的分类和回归问题等问题的。需要注意的是,在支持向量机中,支持向量并不绝对是正好落在分类间隔边界上的训练样本,还可以是那些离分类边界最近的样本。
很显然,2便是能够将间隔最大化的那条直线,也是我们需要寻找的那条直线。
而2这条直线有着无数条,为了使这条直线唯一,便规定这条最优化直线位于平移直线的中间,由此,2这条直线便得以确定了。