Two view learning: SVM-2K, Theory and Practice心得(1)

Two view learning: SVM-2K, Theory and Practice心得

说来惭愧,作为研究生所看的第一篇论文,当英语阅读一样看了两个星期还是似懂非懂,好在今天跟导师开了个组会,才开始感觉迷迷糊糊的入门了,所以来总结一下关于这篇论文的心得。

1.回顾SVM

单一的SVM算法相信已经不陌生了,定义一个超平面 f ( x ) = ω T x + b f(x) = \omega^Tx + b f(x)=ωTx+b,通过一系列运算(这个等我下一篇总结一下凸二次规划的时候再说说吧)得出不等式约束优化问题:
{ m a x 2 ∥ ω ∥ s . t . y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , . . . , n ( 1.1 ) \left\{\begin{aligned} & max \quad \frac {2} {\lVert \omega \rVert} \\ & s.t. \quad y_{i}(\omega ^Tx_{i} + b) \geq 1, \quad i=1,2,...,n \\ \end{aligned} \quad(1.1) \right. maxω2s.t.yi(ωTxi+b)1,i=1,2,...,n(1.1)

为了方便求偏导(1.1)可简化为:(偷懒直接加松弛变量上去了)
{ m i n 1 2 ∥ ω ∥ 2 + C ∑ i = 1 n ξ i s . t . y i ( ω T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , n ( 1.2 ) \left\{\begin{aligned} & min \quad \frac {1}{2} {\lVert \omega \rVert} ^2 + C \sum\limits_{i=1}^{n}\xi_{i} \\ & s.t. \quad y_{i}(\omega ^Tx_{i} + b) \geq 1-\xi_{i}, \quad i=1,2,...,n \\ \end{aligned} \quad(1.2) \right. min21ω2+Ci=1nξis.t.yi(ωTxi+b)1ξi,i=1,2,...,n(1.2)
之后就是通过拉格朗日乘子求对偶问题这里就先不赘述了。

2.SVM-2k前言

This paper therefore looks at the possibility of combining the two distinct stages of KCCA and SVM into a single optimisation that will be termed SVM-2K.

KCCA—核典型相关分析,听起来很玄幻,其实就是通过一个非线性的核函数,将一个低维的特征空间映射到高维。可以举个很简单的例子:
这里就是描述吗
我们假设桌子上的不同食物就是不同的特征点,那他现在是被打乱的,我们怎么将他分类呢?显然线性方法已经是不可能完成这个任务的了。

嗯,那我们就学唐牛,气运丹田:
在这里插入图片描述

可以看到,这些食物从二维平面(桌子)一下震(映射)到了三维空间,这样我们就可以以通过一个二维平面去区分他了,这就是KCCA。

3.SVM-2K基本概念

An SVM can be thought of as a 1-dimensional projection followed by thresholding, so
SVM-2K combines the two steps by introducing the constraint of similarity between two
1-dimensional projections identifying two distinct SVMs one in each of the two feature
spaces.
支持向量机可以被认为是一个一维投影,因此SVM- 2k通过引入两个一维投影之间的相似性约束,将这两个步骤结合起来,识别出两个特征空间中的两个不同的支持向量机。

由论文所述,SVM-2k可以视为是两个单一的支持向量机结合在一起。举个例子,我面前有一堆火,我用中文说就叫火,英文说叫fire,两个的读音和文字(特征空间是不一样的,但是他们表达的都是一个意思,就是我面前的物体。
而这论文所做的实验是分类图像,用的是两个不同的特征点提取方式,一个是SIFT特征点提取方式,一个仿射不变矩兴趣点检测器(from affine invariant interest point detectors)(话说这是什么。。。)
然后我们就可以通过对不同的特征点提取方式分别做一个支持向量机分类。假设一个是 f A ( x ) = ω A T x + b A f_{A}(x) = \omega_{A}^Tx+b_{A} fA(x)=ωATx+bA,一个是 f B ( x ) = ω B T x + b B f_{B}(x) = \omega_{B}^Tx+b_{B} fB(x)=ωBTx+bB,这样分别做运算就有两个不等式约束优化问题:
{ m i n 1 2 ∥ ω A ∥ 2 + C A ∑ i = 1 n ξ i A s . t . y i ( ω A T x i + b A ) ≥ 1 − ξ i A , i = 1 , 2 , . . . , n ( 3.1 ) \left\{\begin{aligned} & min \quad \frac {1}{2} {\lVert \omega_{A} \rVert} ^2 + C^A \sum\limits_{i=1}^{n}\xi_{i}^A \\ & s.t. \quad y_{i}(\omega_{A} ^Tx_{i} + b_{A}) \geq 1-\xi_{i}^A, \quad i=1,2,...,n \\ \end{aligned} \quad(3.1) \right. min21ωA2+CAi=1nξiAs.t.yi(ωATxi+bA)1ξiA,i=1,2,...,n(3.1)

{ m i n 1 2 ∥ ω B ∥ 2 + C B ∑ i = 1 n ξ i B s . t . y i ( ω B T x i + b B ) ≥ 1 − ξ i B , i = 1 , 2 , . . . , n ( 3.2 ) \left\{\begin{aligned} & min \quad \frac {1}{2} {\lVert \omega_{B} \rVert} ^2 + C^B \sum\limits_{i=1}^{n}\xi_{i}^B \\ & s.t. \quad y_{i}(\omega_{B} ^Tx_{i} + b_{B}) \geq 1-\xi_{i}^B, \quad i=1,2,...,n \\ \end{aligned} \quad(3.2) \right. min21ωB2+CBi=1nξiBs.t.yi(ωBTxi+bB)1ξiB,i=1,2,...,n(3.2)

但是这样子的话也只是做了两个独立的SVM分类,那我如何将他们联合在一起呢?
按论文上所说,我们就要引入一个相似性约束。。。额,还是有点玄幻
这么说吧,众所周知 f ( x ) = ω T x + b , f ( x ) f(x) = \omega^Tx+b,f(x) f(x)=ωTx+b,f(x)就代表点到分类的超平面的 距离,那我就将两个支持向量机相减:
∣ f A ( x ) − f B ( x ) ∣ = ∣ ω A T x i + b A − ω B T x i − b B ∣ ≤ η i + ϵ ( 3.3 ) \begin{aligned} \left | f_{A}(x)-f_{B}(x) \right | &= \left | \omega_{A}^Tx_{i} + b_{A} - \omega_{B}^Tx_{i}-b_{B} \right| \\ &\leq \eta_{i} + \epsilon \end{aligned} \quad(3.3) fA(x)fB(x)=ωATxi+bAωBTxibBηi+ϵ(3.3)
其中 η i \eta_{i} ηi正是两个支持向量机联立的松弛量。
简单来说, f ( x ) f(x) f(x)是点到超平面的距离,而两个 f ( x ) f(x) f(x)相减正是得到两个点之间的距离,而因为之前我说过,两个支持向量机表示的是一个东西,表达同一种含义,只是视角(view)不同,所以我希望他们之间的距离尽可能小,而这又可以添加到不等式约束优化问题中,最后得出:
{ m i n 1 2 ∥ ω A ∥ 2 + 1 2 ∥ ω B ∥ 2 + C A ∑ i = 1 n ξ i A + C B ∑ i = 1 n ξ i B + D ∑ i = 1 n η i s . t . ∣ ω A T x i + b A − ω B T x i − b B ∣ ≤ η i + ϵ y i ( ω A T x i + b A ) ≥ 1 − ξ i A , i = 1 , 2 , . . . , n y i ( ω B T x i + b B ) ≥ 1 − ξ i B , i = 1 , 2 , . . . , n ξ i A ≥ 0 , ξ i B ≥ 0 , η i ≥ 0 ( 3.4 ) \left\{\begin{aligned} & min \quad \frac {1}{2} {\lVert \omega_{A} \rVert} ^2 + \frac {1}{2} {\lVert \omega_{B} \rVert} ^2 + C^A \sum\limits_{i=1}^{n}\xi_{i}^A + C^B \sum\limits_{i=1}^{n}\xi_{i}^B + D\sum\limits_{i=1}^{n}\eta_{i} \\ & s.t. \quad \left | \omega_{A}^Tx_{i} + b_{A} - \omega_{B}^Tx_{i}-b_{B} \right| \leq \eta_{i} + \epsilon \\ & y_{i}(\omega_{A} ^Tx_{i} + b_{A}) \geq 1-\xi_{i}^A, \quad i=1,2,...,n \\ & y_{i}(\omega_{B} ^Tx_{i} + b_{B}) \geq 1-\xi_{i}^B, \quad i=1,2,...,n \\ & \xi_{i}^A \geq 0, \quad \xi_{i}^B \geq0, \quad\eta_{i}\geq0 \end{aligned} \quad(3.4) \right. min21ωA2+21ωB2+CAi=1nξiA+CBi=1nξiB+Di=1nηis.t.ωATxi+bAωBTxibBηi+ϵyi(ωATxi+bA)1ξiA,i=1,2,...,nyi(ωBTxi+bB)1ξiB,i=1,2,...,nξiA0,ξiB0,ηi0(3.4)
至于接下来的代码以及化成对偶问题还没想,未完待续吧。。。。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值