SVM(support vector machine)简单的说是一个分类器,并且是二类分类器。
Vector:通俗说就是点,或是数据。
Machine:也就是classifier,也就是分类器。
给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例的隔离边界最大化。
我们需要这个曲面仍然满足跟所有任意红球和蓝球的间距的最大化。需要找到的这个曲面,就是我们后面详细了解的最优超平面。
线性可分-linearly separable, 在二维空间可以理解为可以用一条直线(一个函数)把两类型的样本隔开,被隔离开来的两类样本即为线性可分样本。同理在高维空间,可以理解为可以被一个曲面(高维函数)隔开的两类样本。
线性不可分,则可以理解为自变量和因变量之间的关系不是线性的。
现实中大多数问题都是 线性不可分的
解决线性不可分问题的基本思路——向高维空间转化,使其变得线性可分。
转化最关键的部分就在于找到x到y的映射方法。
y为n维度变量,则f(y)为n+1维空间里的函数。
使用核函数使得线性不可分的问题可分。
核函数的基本作用就是接受两个低维空间里的向量,能够计算出经过某个变换后在高维空间里的向量内积值。
遥感中使用的SVM 基于径向的核心函数最合。
将SVM用于多类分类,采用一对一的多类分类方法最优。
这样在分类时,我们就可以先问分类器“1对5”(意思是它能够回答“是第1类还是第5类”),如果它回答5,我们就往左走,再问“2对5”这个分类器,如果它还说是“5”,我们就继续往左走,这样一直问下去,就可以得到分类结果。好处在哪?我们其实只调用了4个分类器(如果类别数是k,则只调用k-1个),分类速度飞快,且没有分类重叠和不可分类现象!缺点在哪?假如最一开始的分类器回答错误(明明是类别1的文章,它说成了5),那么后面的分类器是无论如何也无法纠正它的错误的(因为后面的分类器压根没有出现“1”这个类别标签),其实对下面每一层的分类器都存在这种错误向下累积的现象。。