svm原理之svm分类超平面

2019-07-27  本文已影响0人  何大仁_71c1

线性分类器(一定意义上,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念。用一个二维空间里仅有两类样本的分类问题来举个小例子。

如图所示:


和是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数,它可以将两类样本完全分开。一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。

什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,可以如此想象下去,如果不关注空间的维数,这种线性函数还有一个统一的名称——超平面(Hyper Plane)!

实际上,一个线性函数是一个实值函数(即函数的值是连续的实数),而分类问题(例如这里的二元分类问题——回答一个样本属于还是不属于一个类别的问题)需要离散的输出值,例如用1表示某个样本属于类别C_1,而用0表示不属于(不属于C_1也就意味着属于C_2),这时候只需要简单的在实值函数的基础上附加一个阈值即可,通过分类函数执行时得到的值大于还是小于这个阈值来确定类别归属。例如有一个线性函数:
g(x) = wx + b
可以取阈值为0,这样当有一个样本x_i需要判别的时候,我们就看g(x_i)的值。若g(x_i)>0,就判别为类别C_1,若g(x_i)<0,则判别为类别C_2(等于的时候就拒绝判断)。此时也等价于给函数g(x)附加一个符号函数sgn(),即
f(x)=sgn [g(x)]
是真正的判别函数。

关于g(x)=wx+b这个表达式要注意三点:

实际上很容易看出来,中间那条分界线并不是唯一的,我们把它稍微旋转一下,只要不把两类数据分错,仍然可以达到上面说的效果,稍微平移一下,也可以。此时就牵涉到一个问题,对同一个问题存在多个分类函数的时候,哪一个函数更好呢?显然必须要先找一个指标来量化“好”的程度,通常使用的都是叫做“分类间隔”的指标。

下期介绍分类间隔,以及与它相关的数学知识。

上一篇下一篇

猜你喜欢

热点阅读