SVM核函数形式
SVM核函数形式:
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
k
(
x
i
,
x
j
)
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
…
,
m
\max_\alpha{\sum_{i=1}^m{\alpha_i}-\frac{1}{2}\sum^m_{i=1}{\sum_{j=1}^m{\alpha_i\alpha_jy_iy_jk(x_i,x_j)}}}\\ s.t.\quad \sum_{i=1}^m{\alpha_iy_i=0,}\\ \alpha_i\ge0,\quad i=1,2,\dots,m
αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjk(xi,xj)s.t.i=1∑mαiyi=0,αi≥0,i=1,2,…,m
求解后得到:
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
ϕ
(
x
i
)
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
k
(
x
,
x
i
)
+
b
\begin{aligned} f(x) & = w^T\phi(x)+b \\ & =\sum_{i=1}^m{\alpha_iy_i\phi(x_i)^T\phi(x)+b} \\ & =\sum_{i=1}^m{\alpha_iy_ik(x,x_i)+b} \end{aligned}
f(x)=wTϕ(x)+b=i=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyik(x,xi)+b
其中
k
(
.
,
.
)
k(.,.)
k(.,.)是核函数。上式显示出模型最优解可通过训练样本的核函数展开,这一展式亦称“支持向量展式”。
Histogram intersection(SVM直方图交叉核)
假设图片的特征可以构成直方图,根据直方图的间距不同可以得到多种类型的直方图:
Ψ
(
x
)
=
[
H
−
1
(
x
)
,
H
0
(
x
)
,
…
,
H
L
(
x
)
]
\Psi(x)=[H_{-1}(x), H_{0}(x),\dots,H_{L}(x)]
Ψ(x)=[H−1(x),H0(x),…,HL(x)]
上面是直方图的集合,假设H0(x)里每个直方图宽度为a,H1(x)为2a,以此类推。假设某计算机学院男生身高都在160cm~200cm之间,最高和最低身高之间想差40cm,H0(x)宽度可以设置为2cm,那么H0(x)里面会有20个直方图,那么类推H1(x)宽度则为4cm,H1(x)就会有10个直方图。
不同男生的身高分布在不同的直方图中,其中每个直方图的高度就是统计的是在这个范围内的男生的个数。这样的直方图表示的就是计算机学院男生身高的分布情况。可以在之前设定的计算机学院身高上下限的基础上生成会计院的男生身高直方图,两者相比较就可以看出两个不同学院男生的身高差别(仅仅是举例~,有师兄在面试时考到如何用c写直方图的题目)。这样的概念引申一下,就会得到梯度直方图(HOG),特征直方图(SIFT,HOG)等。
两个数据集(计算机学院男生身高and会计系男生身高)之间的相似度可以用以下的公式来匹配:
K
Δ
(
Ψ
(
y
)
,
Ψ
(
z
)
)
=
∑
i
=
0
L
w
i
N
i
K_{\Delta}(\Psi(y),\Psi(z))=\sum^L_{i=0}{w_iN_i}
KΔ(Ψ(y),Ψ(z))=i=0∑LwiNi
y和z分别代表不同的数据集,其中w代表权重,论文里将wi设置为1/(2^i),N代表每两层之间新匹配的数目,计算公式如下:
N
i
=
L
(
H
i
(
y
)
,
H
i
(
z
)
)
−
L
(
H
i
−
1
(
y
)
,
H
i
−
1
(
z
)
)
N_i=L(H_i(y),H_i(z))-L(H_{i-1}(y),H_{i-1}(z))
Ni=L(Hi(y),Hi(z))−L(Hi−1(y),Hi−1(z))
上式里面的L可以通过下式计算:
L
(
A
,
B
)
=
∑
j
=
1
r
min
(
A
(
j
)
,
B
(
j
)
)
L(A,B)=\sum_{j=1}^r{\min{(A^{(j)},B^{(j)})}}
L(A,B)=j=1∑rmin(A(j),B(j))
(a)里的y和z代表两种数据的分布,三幅图代表三层金字塔(如图像金字塔,这里可以理解为直方图间距为2cm,4cm,6cm)。
每一层里有间距相等的虚线,红蓝点的位置是固定的,但是根据直方图的宽度不同可以划分到不同的区域里面,如图(b)所示。
(c)就是L的计算结果,是通过(b)里两种直方图取交集得来的(直方图的高度忽略不计,只计算交际后的数目),比如x0=2,x1=4,x2=3
(这是参考博客的解释,个人觉得明显(c)直方图的高度是取的两者交叉的最小!只不过第一行的红蓝色的高度一致吧了~,在selective search里是考虑这个高度的。)
L得到了,N也就是通过Ni=Li-Li-1得到,N*W在求和得到K,K越大越相似。(看公式是能取负数的,比如上图里的N0=2,N1=2,N2=-1)。
K
~
Δ
(
Ψ
(
y
)
,
Ψ
(
z
)
)
=
∑
i
=
0
L
1
2
i
(
L
(
H
i
(
y
)
,
H
i
(
z
)
)
−
L
(
H
i
−
1
(
y
)
,
H
i
−
1
(
z
)
)
)
\tilde{K}_\Delta(\Psi(y),\Psi(z))=\sum_{i=0}^L{\frac{1}{2^i}(L(H_i(y),H_i(z))-L(H_{i-1}(y),H_{i-1}(z)))}
K~Δ(Ψ(y),Ψ(z))=i=0∑L2i1(L(Hi(y),Hi(z))−L(Hi−1(y),Hi−1(z)))
参考链接:
[1] SVM、核方法、SVR基本原理介绍, crishawy,
[2] Histogram intersection(直方图交叉核), Dachao_Xu,