支持向量机的近邻理解:图像二分类为例(3)
前言:
假设空间
在图像识别领域,灰度图像被称为传说中的2维张量,任意图像为由所有二类图像构成的这个二维张量空间内的一个点。由人类专家完成图像属性归纳,把二维张量空间图像的特征显式的归结为一维张量空间的n维向量上,被称为特征提取。一般提取的特征并不一定能在n维向量空间中线性可分,这就需要再由模型进行一次映射,把向量样本转换到新的空间实现线性可分。
在样本线性可分时,可以证明出支持向量机最终等价于压缩近邻法,最终可以使用边界样本用于最终的分类。
非线性可分的向量机模型使用近邻法
我们假设训练样是线性可分的,即存在一个划分超平面能将训练样本正确分类,然而在现实任务中,原始样本空间中也许并不存在一个能正确划分两类样本的超平面,例如在下图中的非线性问题或者异或问题。
绕开样本的真实属性,根据VC维的原则,总能找到一个变换后的空间,可以使有限维数的有限样本集合线性可分。一般原则是将原始样本从原始空间映射到一个更高维度的空间,使得样本在新的特征空间内线性可分。
令<f> (x) 表示将z映射后的特征向量,于是在特征空间中划分超平面所对应的模型可表示为:
其对偶问题为:
求解式(6.21)涉及到计算Φ(xi),Φ(xj),这是样本Xi与Xj映射到特征空间之后的内积。根据映射函数Φ(xi)的不同,特征的维数可能会很高,甚至可能是无穷维。因此直接计算通常是困难的,因此为了避开这个障碍,可以设想这样一个函数:
Ker( xi, xj ) = <Φ(xi),Φ(xj)> = Φ(xi)TΦ(xj) 公式13
把内积运算转换为核函数运算Ker( xi, xj ),仅仅是形式上的转换,即计算模型时通过对核函数进行操纵而不是直接对高维特征进行转换。
因此寻找特征映射函数Φ(xi)转变为寻找核函数Ker( ) 。
神经网络、核函数与相似性度量
支持向量机的基本思想可以概括为,首先通过非线性变换将输入空间变换到另外一个空间,然后在这个新空间内求最优分类面及最大间隔分类面,而这种非线性变换通过定义适当的内积核函数实现。
数量积/内积(dot product; scalar product,也称为点积)是接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。向量的内积表示向量的相似性,即近邻特性。
支持向量机求得的分类函数,形式上类似于一个神经网络,其输出是若干中间层节点的线性组合,而每一个中间层的中间节点对应于输入样本与一个支持向量的内积,形成一个支持向量网络。
网络中的训练结果为:K(xi,x)为相同的核函数,但对每一个向量有一个特定的系数。训练过程为支持向量系数的调整。
三层网络:
输出(决策规则 ): 权值:wi=aiyi 顶层
基于s个支持向量的X1,X2....Xd的非线性变换(内积核函数K( ) ) 中间层
输入向量:x = [ x1,x2,......, xd ] 底层
决策过程:
SVM的决策过程也可以看做相似性比较的过程。第一:将输入样本一系列模板进行相似性比较,模板样本就是训练过程中决定的支持向量,采用的相似性度量是核函数;第二:样本经过核函数之后,与各支持向量样本进行比较后的得分进行加权求和,权值就是训练时得到的个支持向量的系数a与类
别标号y的乘积;最后:根据加权求和值的大小进行决策。
采用不同的核函数,可以看做使用不同的相似性度量,线性SVM是直接使用欧式空间中的内积作为相似性度量。
核函数的选择条件
使用核函数替换非线性特征变换的可行性,可由泛函空间的有关理论得到。条件是需要找到能够构成某一变换空间内积变换里面的核函数,这个核函数必须符合Mercer定理:
常见的核函数形式
采用非零的u和c,采用Sigmod核的支持向量机直接等价于包含一个Sigmod函数隐层的神经网络。