核方法(kernel Method)

Kernel


前言

参考书籍:
[1]Kernel Methods for Pattern Analysis
[2]learning with Kernels:Support Vector Machines, Regularization, Optimization and Beyond

一、General introduction to kernel methods

1.The Basic Idea

①mapping
在这里插入图片描述

φ将二维空间映射到三维空间,这里面有一个映射特点: z 1 z_{1} z1 z 3 z_{3} z3恒为正, z 2 z_{2} z2要根据 x 1 x_{1} x1 x 2 x_{2} x2乘积的值而定,因此可以看到feature space Η坐标全在右上象限上。
在original space x上,想要分开两个类,就需要使用椭圆: x 1 2 a 2 + x 2 2 b 2 = 1 \frac{x_{1}^{2}}{a^{2}}+\frac{x_{2}^{ 2}}{b^{2}}=1 a2x12+b2x22=1,但是在feature space H中只要使用平面就可以分离两个类。
在这里插入图片描述
(注: z 3 z_{3} z3下的分母应该是 b 2 b^{2} b2
通过上面式子转换,椭圆式就变成了一个平面方程,本来在原始空间中要用一个非线性的椭圆,但是在映射空间中只要使用一个线性的平面就可以实现类别分离。

②kernel function
在这里插入图片描述
利用kernel function将原始空间上的点投影到映射空间,这里面的映射函数 φ ( x 1 , x 2 ) = ( x 1 2 , 2 x 1 x 2 , x 2 2 ) = ( z 1 , z 2 , z 3 ) φ(x_{1},x_{2})=(x_{1}^{2},\sqrt{2}x_{1}x_{2},x_{2}^{2})=(z_{1},z_{2},z_{3}) φ(x1,x2)=(x12,2 x1x2,x22)=(z1,z2,z3)
然后对投影后的点进行内积 < φ ( x 1 , x 2 ) , φ ( x 1 ′ , x 2 ′ ) > = ( < x , x ′ > ) 2 = k ( x , x ′ ) <φ(x_{1},x_{2}),φ(x_{1}^{'},x_{2}^{'})>=(<x,x^{'}>)^{2}=k(x,x^{'}) <φ(x1,x2),φ(x1,x2)>=(<x,x>)2=k(x,x)(注:具体过程如上图所示),等式后面两项就是我们将要定义的kernel function。
在算映射空间的内积时,只要知道kernel function,φ函数有没有都不影响求映射空间的内积。
③process
♦Kernel Methods work by
☞embedding data in a vector space(with more high dimensionality):将我们的数据送入一个新的向量空间上面,一般希望这个空间具有比较高的纬度。
☞looking for(linear)relations in such space:要想办法在这个空间上找到一个线性关系,将它们分开。
♦If map is chosen suitably,complex relations can be simplified,and easily detected:如果选择到一个比较适当的空间,复杂的关系就会变得比较简单,而且容易被发现。
♦Much of the geometry of the data in the embedding space(relative position)is contained in all pairwise inner products
♦In many cases,inner product in the embedding space is very cheap to compute
内积可以帮我们决定高维空间的几何性质。几何性质:距离和角度。
③Distance in the Feature Space
在映射空间中两点的距离平方可以如下图中表示的那样
在这里插入图片描述
这样的话,两点之间的距离就转化成内积:
< φ ( x ) , φ ( x ) > − 2 < φ ( x ) , φ ( x ′ ) > + < φ ( x ′ ) , φ ( x ′ ) > = k ( x , x ) − 2 k ( x , x ′ ) + k ( x ′ , x ′ ) <φ(x),φ(x)>-2<φ(x),φ(x^{'})>+<φ(x^{'}),φ(x^{'})>=k(x,x)-2k(x,x^{'})+k(x^{'},x^{'}) <φ(x),φ(x)>2<φ(x),φ(x)>+<φ(x),φ(x)>=k(x,x)2k(x,x)+k(x,x)
只要知道Kernel Function,我们就能得到两个点之间的距离,而并不需要去关心 φ ( x ) φ(x) φ(x)长什么样子。
④Angle in the Feature Space
在映射空间中两点的角度可以如下图中表示的那样
在这里插入图片描述
因此只要知道Kernel Function,就能知道两点在空间中的角度。
⑤总结
映射空间中的距离和角度都可以用内积表示, φ ( x ) φ(x) φ(x)到底长什么样子其实就变得对我们来说不重要了。
在这里插入图片描述

2.Inner Product Matrix(Gram Matrix/Kernel Matrix)

根据第一节的思想,n个点之间的内积就可以有一个内积矩阵:
在这里插入图片描述
①A Simple Recognition Algorithm
y i y_{i} yi是标签,只有两个类别+1和-1,然后利用 φ φ φ将x映射到更高维空间 φ ( x ) φ(x) φ(x),下面就是投影之后的空间
在这里插入图片描述
然后算中心点,也就是当前类别之后求平均得到 c + c_{+} c+以及 c − c_{-} c
在这里插入图片描述
现在我们主要的想法就是找一条线将两个类分开,先找出两个中心点向量: w = c + − c − w=c_{+}-c_{-} w=c+c
在这里插入图片描述
然后从中心点出发,找出垂直平分w的点 c = 1 2 ( c + + c − ) c=\frac{1}{2}(c_{+}+c_{-}) c=21(c++c),也就是下方蓝色线和红色线的交点
在这里插入图片描述
现在当测试点进入的时候,先进行的就是feature mapping,之后就是算角度,判断标签y是+1还是-1
在这里插入图片描述
两个向量之间的内积要小于零,这样就能保证角度是在0-180°之间,当角度小于90°的时候,就表明表示是+1,90°-180°表明y是-1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用sgn将上面的关系转换成关系式(sgn取内积的正负号)
在这里插入图片描述
接下来就是计算上面的式子: y = s g n ( < φ ( x ) − c , w > ) y=sgn(<φ(x)-c,w>) y=sgn(<φ(x)c,w>)
第一个方法:已知φ
直接将所有的sample送到高维空间中去,直接计算。在这里插入图片描述
第二种方法:不知道φ,知道kernel function
将表达是化成内积形式,这样就不需要feature mapping。如下所示:
在这里插入图片描述
②kernel function and feature mapping
因此就形成下面几个问题:
在这里插入图片描述
●只要知道kernel function,φ就不是必须的
●只要知道kernel function就可以达到计算需求
●有限半正定的kernel matrix可以使用
●k和φ是一一对应的
●知道kernel function 可以构建feature space
在这里插入图片描述
One definition:
Finitely positive semi-definite functions
在这里插入图片描述
在这里插入图片描述

One theorem:
Characterization of kernels
在这里插入图片描述
③一些常用的核函数
在这里插入图片描述


二、Dual Representation

Dual Representation主要求一个线性函数表达式: f ( x ) = w T φ ( x ) + b f(x)=w^{T}φ(x)+b f(x)=wTφ(x)+b
在这里插入图片描述
因此需要求解 w T w^{T} wT b b b,在我们上一个例子中,对w的求解就是相当于求 φ ( x i ) φ(x_{i}) φ(xi)的线性组合,系数 α i α_{i} αi的数量和样本数量有关,假设w是100维的,α的值是有可能大于这个值的也有可能小于这个值。在这里插入图片描述
上面的概念可以总结成下面的两个式子
在这里插入图片描述
最后也可以化成内积的表达形式,有利于减少计算复杂度
在这里插入图片描述
注意w和α维度的区别
在这里插入图片描述
一般投影流程
在这里插入图片描述


三、PCA and KPCA

具有降噪功能,除去一些对数据结构影响很小的特征

1.Principal Component Analysis (PCA)

在这里插入图片描述
对下面的数据进行投影,投影到蓝色的线的variance是最大的
在这里插入图片描述
这里需要用到投影的知识:
在这里插入图片描述
在这里插入图片描述
寻找投影坐标的过程,先找到一个投影最大的轴
在这里插入图片描述
在这里插入图片描述
前提条件:均值为零
在这里插入图片描述
现在就是优化找出v,使用拉格朗日乘法
在这里插入图片描述
这里可以看出v和λ一个是特征值一个是特征向量
在这里插入图片描述在这里插入图片描述
因此λ最大就可以得到 a r g m a x v T C v argmax v^{T}Cv argmaxvTCv就是最大
在这里插入图片描述
由于直接是特征向量和特征值,因此它们相互正交,很好的满足了轴之间的对称垂直性。

2.Kernel Principal Component Analysis (KPCA)

先进行维度投影然后在使用PCA,直接投影计算是没有办法进行的,因为我们是不知道φ(feature mapping)
在这里插入图片描述
接下来就需要将C变成与kernel function有关的式子
在这里插入图片描述
先观察kernel matrix
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、LDA and GDA

这里面还是需要用到投影的知识
在这里插入图片描述

1.Linear Discriminant Analysis(LDA)

了解LDA,要先知道LDA和PCA的区别,假设有两个群
①PCA:找到两个群投影的最大variance,也就是投影之后散的最开的,但是如果作分类就会发现始终有个地方是重叠的,无法区分类别。
②LDA:LDA可以解决PCA遗留的缺陷,也就是投影之后两个群之间的mean分隔最大。而且每个群自身的variance越集中越好。(这里面可以理解成类别,类别之间尽量保持不交叉)
在这里插入图片描述
LDA具备的属性
在这里插入图片描述
符号定义
在这里插入图片描述
将所有的样本投射到方向v,每一个类有不一样的投影mean,也就是说要分别计算
在这里插入图片描述
●Linear Discriminant Analysis-Between-class scatter matrix
每个类别之间的mean相减平方和
在这里插入图片描述
这里面的转换过程和KPCA相似
在这里插入图片描述
上面的式子中已经计算了 m i − m j m_{i}-m_{j} mimj,后面就不会计算了,但是在一些资料里面会重复计算,具体如下面所示,但是两个是一样的。
在这里插入图片描述
在这里插入图片描述
由上式化简之后就只要计算下面的那个式子
在这里插入图片描述
本来需要考虑下面三个mean之间的距离尽可能大
在这里插入图片描述
经过转换之后可以化成下面的关系
在这里插入图片描述
这就是组间分散矩阵
●Linear Discriminant Analysis-Within-class scatter matrix
这里就是希望组内mean越小越好,说明类内是比较集中的,对象就变成了样本实例,而不是上面样本空间
在这里插入图片描述
在这里插入图片描述
●优化目标:最大化组间距离之和,最小化组内距离之和
这里面用了一个思想,固定分母,优化分子,最后化成求广义逆
在这里插入图片描述
v的计算式如下是为了保证 v T S w L D A V = 1 v^{T}S_{w}^{LDA}V=1 vTSwLDAV=1
在这里插入图片描述

2.Generalized Discriminant Analysis(GDA)

符号定义
在这里插入图片描述
为了方便,前提假设样本的均值是零,类间距离和LDA相同,但是类内距离计算不同,含义投影之后的点越往中心集中越好,相当于每个点都减去了 m 0 m_{0} m0,这样所有点都要往中心靠齐。
在这里插入图片描述
在这里插入图片描述
计算过程:
1化成B,只留外面一个 1 N \frac{1}{N} N1便于后面化简消去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、Hard-margin and Soft-margin SVMs

SVM中的一个比较重要的思想,将优化问题转成拉格朗日问题
在这里插入图片描述
除此之外还有一个比较重要的理论:KKT
这里面有一个优化方向target,三个优化条件constrain
在这里插入图片描述
现在假设的条件是在 x ∗ x^{*} x上取得 m i n f ( x ) minf(x) minf(x),因此 g 1 g_{1} g1 g 2 g_{2} g2取值是零,而 g 3 g_{3} g3无法取到零,只能取小于零的数,因此只有 g 1 g_{1} g1 g 2 g_{2} g2是有效的(active), g 3 g_{3} g3无效,由下图可以看出 f ( x ) f(x) f(x)的导数可以由 g 1 g_{1} g1 g 2 g_{2} g2的导数表示,因此就有如下表达式: ▽ f ( x ) = α 1 ( − ▽ g 1 ) + α 2 ▽ g 2 ▽f(x)=α_{1}(-▽g_{1})+α_{2}▽g_{2} f(x)=α1(g1)+α2g2
根据方向 α 1 、 α 2 α_{1}、α_{2} α1α2需要大于零, α 3 α_{3} α3等于零
在这里插入图片描述
可以观察到只有不等式才有限制,而且不等式要化成小于等于零的情况,等式系数是没有限制的
在这里插入图片描述
在这里插入图片描述

1.Hard-margin SVMs

首先考虑二分类问题
在这里插入图片描述
样本散点图如下所示,因此需要找一条线分开两类,这条线的选择十分多,因此需要选择最中间的那条,也就是两个类之间最大的那个距离
在这里插入图片描述
w T x + b = − 1 / + 1 w^{T}x+b=-1/+1 wTx+b=1/+1其中这个-1/+1是可以任意取值的,如果取-2/+2的话,两边同时除2之后是等价的,我们希望上面的值带入之后都是大于+1的数,下方的值带入是小于-1的数
在这里插入图片描述
计算边缘距离
在这里插入图片描述

在这里插入图片描述
可以将上面的式子化成拉格朗日乘子
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这一步将 W ( α ) W(α) W(α)矩阵化
在这里插入图片描述
之后优化目标就变成下式

从下图中可以观察到,在虚线上的α是大于零的,其余的都是等于零的,因此在训练的过程中,只有边缘点是起作用的,其他点都没有作用
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
计算b的过程,其实就是当α大于零的时候
在这里插入图片描述
在这里插入图片描述

2.Soft-margin SVMs

problem one:当类无法用直线或者平面分开的时候,可以容忍在分割的时候存在一些误差,如下面所示的两个类,它们是无法完全分开的。
在这里插入图片描述
problem two:过拟合问题
在这里插入图片描述
由于上面两个问题,因此需要对边间条件进行放松,允许存在误差分类。
在这里插入图片描述
在这里插入图片描述
C增加,就会导致ξ相对会减小,这样的话边界就相当于减小了,因为容许误差的范围变小了。
在这里插入图片描述
上面的式子化成拉格朗日乘式,加入了两个系数α和β,分别对w、b、ξ求导,可以得到下面的式子。可以发现C的值和α、β是有关系的。
在这里插入图片描述
如果进行了空间映射,就可以表示成下面的式子:
在这里插入图片描述
得到w的L2-norm以及 x i x_{i} xi的投影坐标
在这里插入图片描述
将上面求出的值,代入优化目标函数中
在这里插入图片描述
化简之后就得到下面的式子
在这里插入图片描述
有了优化目标,就可以得到一个最优解,之后就是将新的sample代入进去判断是来自那个类的以及具体在哪个区域,这里主要就是根据KKT条件进行分析。
在这里插入图片描述
根据上面可以得到两个式子,然后由这两个式子进行分析(注意这里面是建立在α、β、C≥0的条件):
①当α=0时,这时候β就是等于C,因此ξ就是等于0,计算表达式不为零,因此只能在界限两端;
②当0<α<C时,这样β就不为零,ξ就必须等于零,而且计算表达式要等于零,因此点是在界限上面的;
③当a=C时,β就是为零,因此ξ可取任意值,而表达式必须为零,所有点是在界限之间。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多分类SVM


总结


  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值