文章目录
1.背景
支持向量机有三宝:间隔,对偶,核技巧;关于核方法包含如下三个方面:
- Kernel Method 核方法-从思想角度出发-高维毕低维更易线性可分
- Kernel Function 核函数-从计算角度出发
- Kernel Trick 核技巧
2.核方法 Kernel Method
核方法是一种解决分类问题的思想,主要是解决二维平面内线性不可分的情况,在Cover Theorem中指出:高维空间比低维空间更容易线性可分。我们通过举例来说明情况:
2.1异或问题
我们知道对于平面异或问题,无法单纯的通过一个线进行分类:
2.2高维解决
在二维空间中的点可以被我们记为
X
=
(
x
1
,
x
2
)
X=(x_1,x_2)
X=(x1,x2) ,我们可以把这些二维空间中的点新增一个轴,通过变换函数,使得它每一个点用三个坐标表示出来,我们令
Z
=
(
x
1
,
x
2
,
(
x
1
−
x
2
)
2
)
Z=(x_1,x_2,(x_1-x_2)^2)
Z=(x1,x2,(x1−x2)2),转换后得到如下图形:
是不是很神奇,原来在二维空间中无法得到的问题,转换到三维空间后就很直观的进行分类解决,所以,当我们遇到低维空间线性不可分的时候,可以考虑转换到高维空间中处理;
2.3非线性问题的解决思路
- 由PLA(perceptron layer analysis)引出多层感知机Multilayer-perceptron(即神经网络),再到深度学习deep-learning
- 通过线性转换,将以前线性不可分问题转换到高维空间中进行分类;
X = ( x 1 , x 2 ) → ϕ ( x ) Z = ( x 1 , x 2 , ( x 1 − x 2 ) 2 ) X=(x_1,x_2)\quad{}_{\rightarrow}^{\phi(x)\quad}Z=(x_1,x_2,(x_1-x_2)^2) X=(x1,x2)→ϕ(x)Z=(x1,x2,(x1−x2)2)
此方法十分的重要,需要将这个思想用到后续学习中,可以参考再生核希尔伯特空间相关文章;
3.核函数 Kernel Function
3.1背景
核函数的引出是为了解决在不直接求单独向量
ϕ
(
x
)
\phi(x)
ϕ(x)和
ϕ
(
x
′
)
\phi(x')
ϕ(x′)的情况下,直接用核函数的值来代替两个函数的内积;
在解决非线性问题的时候我们用的方法如下:
- 从模型角度:非线性带来高维转换
- 从优化角度:对偶带来内积
1.非线性带来高维转换:就是只为了解决线性不可分问题,我们常常需要将数据从低维转换成高维数据
2.对偶带来内积:就是指我们在解决带约束问题的问题时,常常需要将问题转换成对偶问题来解决,但对偶问题解决会带来数据内积;
举例:硬间隔分类(Hard Margin SVM);原问题和对偶问题
原问题:
m
a
x
w
,
b
1
2
w
T
w
(1)
max_{w,b}\frac{1}{2}w^Tw\tag{1}
maxw,b21wTw(1)
s
.
t
:
1
−
y
i
(
w
i
T
x
+
b
)
≤
0
(1)
s.t:\quad 1-y_i(w^T_ix+b)\leq0\tag{1}
s.t:1−yi(wiTx+b)≤0(1)
对偶问题:(原问题->原问题拉格朗日乘子->对偶问题拉格朗日乘子->偏导代入后的对偶问题->对偶问题)
m
i
n
λ
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
(
x
i
T
x
j
)
−
∑
i
=
1
N
λ
i
(2)
min_{\lambda}\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_i\lambda_jy_iy_j(x_i^Tx_j)-\sum_{i=1}^{N}\lambda_i\tag{2}
minλ21i=1∑Nj=1∑Nλiλjyiyj(xiTxj)−i=1∑Nλi(2)
s
.
t
:
λ
i
≥
0
;
∑
i
=
1
N
λ
i
y
i
=
0
(2)
s.t:\lambda_i\geq0;\sum_{i=1}^{N}\lambda_iy_i=0\tag{2}
s.t:λi≥0;i=1∑Nλiyi=0(2)
由上式对偶问题我们可以看出,为了解决上面最小值,需要求出内积
(
x
i
T
x
j
)
(x_i^Tx_j)
(xiTxj),在线性可分中,我们直接代入
x
1
,
x
2
x_1,x_2
x1,x2;但在线性不可分的情况下,我们需要将
(
x
1
,
x
2
)
(x_1,x_2)
(x1,x2)通过变换
ϕ
(
x
)
\phi(x)
ϕ(x)转换到高维空间中,那么
(
x
i
T
x
j
)
(x_i^Tx_j)
(xiTxj)转换成
[
ϕ
(
x
i
T
)
ϕ
(
x
j
)
]
[\phi(x_i^T)\phi(x_j)]
[ϕ(xiT)ϕ(xj)];我们为了偷懒,想简化上述过程,我们的想法是有没有一个函数K(x,x’),使得
K
(
x
,
x
′
)
=
[
ϕ
(
x
i
T
)
ϕ
(
x
j
)
]
K(x,x')=[\phi(x_i^T)\phi(x_j)]
K(x,x′)=[ϕ(xiT)ϕ(xj)];这样我们就不需要直接单独求解
ϕ
(
x
i
T
)
和
ϕ
(
x
j
)
;
\phi(x_i^T)和\phi(x_j);
ϕ(xiT)和ϕ(xj);
3.2核函数定义
对一个函数
K
(
x
,
x
′
)
=
ϕ
(
x
)
T
⋅
ϕ
(
x
′
)
=
<
ϕ
(
x
)
,
ϕ
(
x
′
)
>
;
即
对
于
任
意
∀
x
,
x
′
∈
X
;
存
在
∃
ϕ
,
使
得
x
到
z
的
映
射
满
足
:
K(x,x')=\phi(x)^T·\phi(x')=<\phi(x),\phi(x')>;即对于任意\forall x,x'\in X;存在\exists \phi,使得x到z的映射满足:
K(x,x′)=ϕ(x)T⋅ϕ(x′)=<ϕ(x),ϕ(x′)>;即对于任意∀x,x′∈X;存在∃ϕ,使得x到z的映射满足:
K
(
x
,
x
′
)
=
ϕ
(
x
)
T
⋅
ϕ
(
x
′
)
(3)
K(x,x')=\phi(x)^T·\phi(x')\tag{3}
K(x,x′)=ϕ(x)T⋅ϕ(x′)(3)
则称K(x,x’)为核函数。
常见的核函数为:
K
(
x
,
x
′
)
=
e
x
p
[
−
(
x
−
x
′
)
2
2
σ
2
]
(4)
K(x,x')=exp^{[-\frac{(x-x')^2}{2\sigma^2}]}\tag{4}
K(x,x′)=exp[−2σ2(x−x′)2](4)
4.核技巧 Kernel Trick
核技巧的主要思想是从计算的角度处理的,就是通过核函数来直接求两个数据的内积,而不是先求 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( x ′ ) \phi(x') ϕ(x′);而事实是我们本身并不关心单独的 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( x ′ ) \phi(x') ϕ(x′);而是通过核函数来直接求内积的结果 K ( x , x ′ ) = ϕ ( x ) T ⋅ ϕ ( x ′ ) K(x,x')=\phi(x)^T·\phi(x') K(x,x′)=ϕ(x)T⋅ϕ(x′).这样我们省去了很多的计算步骤,通过核函数可以直接将非线性的两个数据求内积
5.模型引入核函数的原因
我们在解决分类问题的时候会遇到一些问题,原来的方法无法解决非线性可分问题。所以,我们需要利用核技巧,将原来的样本数据x通过核函数映射到z上,得到更高维的空间来转换成线性可分问题,又由于单独求
ϕ
(
x
)
\phi(x)
ϕ(x)和
ϕ
(
x
′
)
\phi(x')
ϕ(x′)非常的难,所以我们想到定义一个核函数,使得其值就直接为样本数据的内积,那么我们方便了,节省了大量的计算。
6.核函数的数学定义
6.1核函数的简单定义
对于一个映射K,我们有两个输入空间 χ × χ , χ ∈ R p , \chi \times\chi,\chi\in\mathbb{R}^p, χ×χ,χ∈Rp,存在一个映射 χ × χ ⟼ R \chi \times\chi\longmapsto \mathbb{R} χ×χ⟼R,对于任意 ∀ x , z ∈ χ \forall x,z\in \chi ∀x,z∈χ都成立,则称K(x,z)为核函数;
6.2核函数的精准定义[正定核]
对于一个映射K,我们有两个输入空间 χ × χ , χ ∈ R p , \chi \times\chi,\chi\in\mathbb{R}^p, χ×χ,χ∈Rp,可以形成一个映射 χ × χ ⟼ R \chi \times\chi\longmapsto \mathbb{R} χ×χ⟼R,对于任意 ∀ x , z ∈ χ \forall x,z\in \chi ∀x,z∈χ,存在一个映射 ϕ : χ ⟼ R \phi:\chi \longmapsto \mathbb{R} ϕ:χ⟼R,使得 K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > = ϕ ( x ) T ϕ ( z ) K(x,z)=<\phi(x),\phi(z)>=\phi(x)^T\phi(z) K(x,z)=<ϕ(x),ϕ(z)>=ϕ(x)Tϕ(z)则称K(x,z)为核函数
说明:正定核有两个定义的原因是,方式1的定义是基本定义,但不容易去寻找和判断正定核,但是方式2给了一个判断函数是否是正定核的条件,所以在实际应用中是非常的方便。
6.3正定核定义(方式1)
存在一个映射K: χ × χ ⟼ R \chi \times\chi\longmapsto \mathbb{R} χ×χ⟼R,对于任意 ∀ x , z ∈ χ \forall x,z\in \chi ∀x,z∈χ,存在一个映射 ϕ : χ ⟼ R p \phi:\chi \longmapsto \mathbb{R}^p ϕ:χ⟼Rp,并且 ϕ ∈ H \phi\in H ϕ∈H,使得 K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > = ϕ ( x ) T ϕ ( z ) K(x,z)=<\phi(x),\phi(z)>=\phi(x)^T\phi(z) K(x,z)=<ϕ(x),ϕ(z)>=ϕ(x)Tϕ(z)则称K(x,z)为正定核函数;注:H:希尔伯特空间
6.3正定核定义(方式2)重要
存在一个映射K: χ × χ ⟼ R \chi \times\chi\longmapsto \mathbb{R} χ×χ⟼R,对于任意 ∀ x , z ∈ χ \forall x,z\in \chi ∀x,z∈χ,都有K(x,z).如果K(x,z)满足如下条件:
-
对称性 ⇒ \Rightarrow ⇒K(x,z)=K(z,x)
-
正定性 K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > ⟺ G r a m − m a t r i x 是 半 正 定 矩 阵 K(x,z)=<\phi(x),\phi(z)>\Longleftrightarrow Gram-matrix是半正定矩阵 K(x,z)=<ϕ(x),ϕ(z)>⟺Gram−matrix是半正定矩阵
[即:取任意N个元素, x 1 , x 2 , . . . , x N ∈ χ x_1,x_2,...,x_N \in \chi x1,x2,...,xN∈χ,对应的Gram-matrix是半正定矩阵,其中Gram-matrix用K来表示 K = [ K ( x i , x j ) ] K=[K(x_i,x_j)] K=[K(xi,xj)]]
那么我们称K(x,z)为正定核函数
6.4 希尔伯特空间(Hilbert Space:H)
希尔伯特空间是一个完备的,可能是无限维的,被赋予内积运算的线性空间
-
线性空间:
也就是向量空间,这个空间的元素就是向量,向量之间满足加法和乘法的封闭性,实际上也就是线性表示。空间中的任意两个向量都可以由基向量线性表示。 -
完备的:
完备性简单的认为就是对极限的操作是封闭的。若有一个序列为 {Kn},这里强调一下 Hilbert Space 是一个函数空间,空间中的元素就是函数。所以,Kn 就是一个函数。那么就会有 n → ∞ l i m K n = K ∈ H (5) {}_{n\rightarrow\infty}^{lim}K_n=K\in H\tag{5} n→∞limKn=K∈H(5) -
内积:
1)正定性: < f , f > ≥ 0 ; 当 < f , f > = 0 时 , f = 0 <f,f>\geq0;当<f,f>=0时,f=0 <f,f>≥0;当<f,f>=0时,f=0
2)对称性: < f , g > = < g , f > <f,g>=<g,f> <f,g>=<g,f>
3)线性: < r 1 f 1 + r 2 f 2 , g > = r 1 < f 1 , g > + r 2 < f 2 , g > < r_1f_1 + r_2f_2, g >= r_1 < f_1, g > + r_2 < f_2, g > <r1f1+r2f2,g>=r1<f1,g>+r2<f2,g>
7.正定核定义等价性证明:
7.1 充分性证明
已 知 : K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > ; 证 明 : G r a m − M a t r i x 是 半 正 定 的 , 且 K ( x , z ) 是 对 称 矩 阵 (6) 已知:K(x,z)=<\phi(x),\phi(z)>;证明:Gram-Matrix是半正定的,且K(x,z)是对称矩阵\tag{6} 已知:K(x,z)=<ϕ(x),ϕ(z)>;证明:Gram−Matrix是半正定的,且K(x,z)是对称矩阵(6)
7.1.1对称性证明:
∵ K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > ; 内 积 运 算 具 有 对 称 性 \because K(x,z)=<\phi(x),\phi(z)>;内积运算具有对称性 ∵K(x,z)=<ϕ(x),ϕ(z)>;内积运算具有对称性
∴ K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > = < ϕ ( z ) , ϕ ( x ) > ; \therefore K(x,z)=<\phi(x),\phi(z)>=<\phi(z),\phi(x)>; ∴K(x,z)=<ϕ(x),ϕ(z)>=<ϕ(z),ϕ(x)>;
∴ K ( x , z ) = K ( z , x ) ; \therefore K(x,z)=K(z,x); ∴K(x,z)=K(z,x);
∴ K ( x , z ) 是 对 称 矩 阵 ; \therefore K(x,z)是对称矩阵; ∴K(x,z)是对称矩阵;
7.1.2 Gram-Matrix是半正定的证明:
思路:证明一个矩阵A是不是半正定的方法是:
1)这个矩阵A的所有特征值都是大于0;
2)对于任意
∀
α
∈
R
P
,
使
得
α
T
A
α
≥
0
\forall \alpha \in \mathbb{R}^P,使得\alpha^TA\alpha\geq0
∀α∈RP,使得αTAα≥0
α
T
K
α
=
[
α
1
,
α
2
,
.
.
.
,
α
N
]
(
K
11
K
12
.
.
.
K
1
N
K
21
K
22
.
.
.
K
2
N
⋮
⋮
⋮
⋮
K
N
1
K
N
2
.
.
.
K
N
p
)
(
α
1
α
2
⋮
α
N
)
(7)
\alpha^TK\alpha=[\alpha_1,\alpha_2,...,\alpha_N]\begin{pmatrix} K_{11}&K_{12}&...&K_{1N}\\K_{21}&K_{22}&...&K_{2N}\\\vdots&\vdots&\vdots&\vdots\\K_{N1}&K_{N2}&...&K_{Np}\end{pmatrix}\begin{pmatrix} \alpha_1\\\alpha_2\\\vdots\\\alpha_N \end{pmatrix}\tag{7}
αTKα=[α1,α2,...,αN]⎝⎜⎜⎜⎛K11K21⋮KN1K12K22⋮KN2......⋮...K1NK2N⋮KNp⎠⎟⎟⎟⎞⎝⎜⎜⎜⎛α1α2⋮αN⎠⎟⎟⎟⎞(7)
α
T
K
α
=
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
K
i
j
(8)
\alpha^TK\alpha=\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jK_{ij}\tag{8}
αTKα=i=1∑Nj=1∑NαiαjKij(8)
α
T
K
α
=
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
<
ϕ
(
x
i
)
,
ϕ
(
x
j
)
>
(9)
\alpha^TK\alpha=\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_j<\phi(x_i),\phi(x_j)>\tag{9}
αTKα=i=1∑Nj=1∑Nαiαj<ϕ(xi),ϕ(xj)>(9)
α
T
K
α
=
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
ϕ
(
x
i
)
T
ϕ
(
x
j
)
(10)
\alpha^TK\alpha=\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_j\phi(x_i)^T\phi(x_j)\tag{10}
αTKα=i=1∑Nj=1∑Nαiαjϕ(xi)Tϕ(xj)(10)
α
T
K
α
=
[
∑
i
=
1
N
α
i
ϕ
(
x
i
)
T
]
[
∑
j
=
1
N
α
j
ϕ
(
x
j
)
]
(11)
\alpha^TK\alpha=[\sum_{i=1}^{N}\alpha_i\phi(x_i)^T][\sum_{j=1}^{N}\alpha_j\phi(x_j)]\tag{11}
αTKα=[i=1∑Nαiϕ(xi)T][j=1∑Nαjϕ(xj)](11)
α
T
K
α
=
[
∑
i
=
1
N
α
i
ϕ
(
x
i
)
]
T
[
∑
j
=
1
N
α
j
ϕ
(
x
j
)
]
(12)
\alpha^TK\alpha=[\sum_{i=1}^{N}\alpha_i\phi(x_i)]^T[\sum_{j=1}^{N}\alpha_j\phi(x_j)]\tag{12}
αTKα=[i=1∑Nαiϕ(xi)]T[j=1∑Nαjϕ(xj)](12)
α
T
K
α
=
<
[
∑
i
=
1
N
α
i
ϕ
(
x
i
)
]
T
,
[
∑
j
=
1
N
α
j
ϕ
(
x
j
)
]
>
(13)
\alpha^TK\alpha=<[\sum_{i=1}^{N}\alpha_i\phi(x_i)]^T,[\sum_{j=1}^{N}\alpha_j\phi(x_j)]>\tag{13}
αTKα=<[i=1∑Nαiϕ(xi)]T,[j=1∑Nαjϕ(xj)]>(13)
α
T
K
α
=
∣
∣
∑
i
=
1
N
α
i
ϕ
(
x
i
)
∣
∣
2
≥
0
(14)
\alpha^TK\alpha=||\sum_{i=1}^{N}\alpha_i\phi(x_i)||^2\geq0\tag{14}
αTKα=∣∣i=1∑Nαiϕ(xi)∣∣2≥0(14)
∴ 结 论 : K 是 半 正 定 矩 阵 ; \therefore 结论:K是半正定矩阵; ∴结论:K是半正定矩阵;
7.2 必要性证明
已
知
:
G
r
a
m
−
M
a
t
r
i
x
是
半
正
定
的
,
且
K
(
x
,
z
)
是
对
称
矩
阵
;
证
明
:
K
(
x
,
z
)
=
<
ϕ
(
x
)
,
ϕ
(
z
)
>
(15)
已知:Gram-Matrix是半正定的,且K(x,z)是对称矩阵;证明:K(x,z)=<\phi(x),\phi(z)>\tag{15}
已知:Gram−Matrix是半正定的,且K(x,z)是对称矩阵;证明:K(x,z)=<ϕ(x),ϕ(z)>(15)
不会。。。后续再补吧。