ML(4)-核函数与再生核希尔伯特空间
核函数1.支持向量积-核函数2.一个函数为核函数的条件3.核函数与希尔伯特空间1.支持向量积-核函数核(kernel)的概念由Aizenman et al.于1964年引入模式识别领域,原文介绍的是势函数的方法。在那之后,核函数在模式识别领域沉积了很久。1992年Boser 等人的在解决支持向量机算法时,重新将核的概念引入机器学习领域;从此引发了核函数研究应用的热潮。一个最简单的应用就是:利用..
核函数与再生核希尔伯特空间
1.支持向量积-核函数
核(kernel)的概念由Aizenman et al.于1964年引入模式识别领域,原文介绍的是势函数的方法。在那之后,核函数在模式识别领域沉积了很久。1992年Boser 等人的在解决支持向量机算法时,重新将核的概念引入机器学习领域;从此引发了核函数研究应用的热潮。一个最简单的应用就是:利用核方法扩展经典算法,将算法中的内积替换成核函数。
在支持向量机中,核函数是 将 原线性不可分的特征空间中的特征向量
x
x
x,映射到 线性可分的高维特征空间的特征向量
ϕ
(
x
)
\phi(x)
ϕ(x),然后,特征向量
ϕ
(
x
)
\phi(x)
ϕ(x)之间求内积的一个表达式。(核函数就是一个表达式)
k
(
x
n
,
x
m
)
=
ϕ
(
x
n
)
T
ϕ
(
x
m
)
k(x_n,x_m)=\phi(x_n)^T\phi(x_m)
k(xn,xm)=ϕ(xn)Tϕ(xm)
核函数的巧妙之处:高维空间中特征向量的内积表达式,可以直接用低维特征向量的各个维度的坐标表示。所以,只需将低维度特征 x , x ′ x,x' x,x′带入核函数 k ( x , x ′ ) k(x,x') k(x,x′)求函数值,就等价于 x − > ϕ ( x ) , x ′ − > ϕ ( x ′ ) = > 求内积 < ϕ ( x ) , ϕ ( x ′ ) > x->\phi(x) ,x'->\phi(x')=>求内积<\phi(x),\phi(x')> x−>ϕ(x),x′−>ϕ(x′)=>求内积<ϕ(x),ϕ(x′)>的过程,当高维空间维很高时,内积求解十分缓慢,所以核函数是一个十分便利的工具。
基本概念: 核函数
k
(
x
,
x
′
)
k(x,x')
k(x,x′),样本(特征向量)
{
x
i
n
}
\{x_i^n\}
{xin},gram矩阵
K
=
{
K
i
,
j
}
K=\{ K_{i,j} \}
K={Ki,j},
K
i
,
j
=
k
(
x
i
,
x
j
)
K_{i,j}=k(x_i,x_j)
Ki,j=k(xi,xj)
[
k
(
x
1
,
x
1
)
k
(
x
1
,
x
2
)
.
.
.
k
(
x
1
,
x
n
)
k
(
x
2
,
x
1
)
k
(
x
2
,
x
2
)
.
.
.
k
(
x
2
,
x
n
)
.
.
.
.
.
.
.
.
.
.
.
.
k
(
x
n
,
x
1
)
k
(
x
n
,
x
2
)
.
.
.
k
(
x
n
,
x
n
)
]
\left[ \begin{matrix} k(x_1,x_1) & k(x_1,x_2) & ... & k(x_1,x_n)\\ k(x_2,x_1) & k(x_2,x_2) & ... & k(x_2,x_n)\\ ... & ...& ... & ... & \\ k(x_n,x_1) & k(x_n,x_2) & ... & k(x_n,x_n) \end{matrix} \right]
k(x1,x1)k(x2,x1)...k(xn,x1)k(x1,x2)k(x2,x2)...k(xn,x2)............k(x1,xn)k(x2,xn)...k(xn,xn)
详细SVM与核函数参见(对偶问题的求解巴拉巴拉):https://cuijiahua.com/blog/2017/11/ml_9_svm_2.html
2.一个函数为核函数的条件
可以通过多种方式构造核函数,(1)原始的映射构造法、(2)核函数性质+简单核函数构造法[RBF核函数就可以从此构造出来]、(3)概率生成式模型开始构造。
高维特征向量的内积 实际是 低维特征向量 各个分量的函数=》高维内积 是一个函数。但是,并非每一个函数都对应着一个高维内积。只有当一个函数满足mercer定理时,它才能作为一个核函数。所以可以通过mercer定义判断一个函数是否可以作为一个核函数。
Mercer定理: 对称且半正定的函数可以作为一个核函数。
(离散化)简单理解:“半正定”三个字常见于矩阵分析中。此处,可通过判定对称函数Gram 矩阵的半正定性,进而判断源函数的半正定性质。一个n × n的实对称矩阵A是正定的当且仅当对于所有的非零实系数向量z,都有 z T A z > 0 z^TAz > 0 zTAz>0。
具体做法:将样本 { x i = 1 i = n } \{x_{i=1}^{i=n}\} {xi=1i=n}带入函数 k ( x , x ′ ) k(x,x') k(x,x′),计算gram矩阵 K = { K i , j } K=\{ K_{i,j} \} K={Ki,j}, K i , j = k ( x i , x j ) K_{i,j}=k(x_i,x_j) Ki,j=k(xi,xj),判定gram矩阵的半正定性。
(连续化)定义:一个对称函数
k
(
x
,
x
′
)
k(x,x')
k(x,x′)是半正定的,当且仅当对于任意的函数g下式成立:
∫
X
g
(
x
)
k
(
x
,
x
′
)
g
(
x
′
)
d
x
d
x
′
≥
0
\int_\mathcal{X}g(x)k(x,x')g(x')dxdx'\ge0
∫Xg(x)k(x,x′)g(x′)dxdx′≥0
通过Gram矩阵特征值分解(谱分解),可以将
k
(
x
i
,
x
j
)
k(x_i,x_j)
k(xi,xj)表示成gram矩阵特征值与特征向量分量组合的形式:
Q
T
K
Q
=
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
=
Λ
Q^TKQ=diag(\lambda_1,\lambda_2,...,\lambda_n)=\Lambda
QTKQ=diag(λ1,λ2,...,λn)=Λ
K = Q Λ Q T K=Q\Lambda Q^T K=QΛQT
Q
Q
Q为特征向量矩阵,
v
i
v_i
vi为n维向量,其第二个下标表示该向量分量:
Q
=
[
v
1
,
v
2
,
.
.
.
,
v
n
]
Q=[v_1,v_2,...,v_n]
Q=[v1,v2,...,vn]
K
=
Q
Λ
Q
T
=
[
λ
1
v
1
,
λ
2
v
2
,
.
.
.
,
λ
n
v
n
]
[
v
1
,
v
2
,
.
.
.
,
v
n
]
T
K=Q\Lambda Q^T=[\lambda_1v_1,\lambda_2v_2,...,\lambda_nv_n][v_1,v_2,...,v_n]^T
K=QΛQT=[λ1v1,λ2v2,...,λnvn][v1,v2,...,vn]T
=
[
λ
1
v
11
λ
2
v
21
.
.
.
λ
n
v
n
1
λ
1
v
12
λ
2
v
22
.
.
.
λ
n
v
n
2
.
.
.
.
.
.
.
.
.
.
.
.
λ
1
v
1
n
λ
2
v
2
n
.
.
.
λ
n
v
n
n
]
[
v
11
v
12
.
.
.
v
1
n
v
21
v
22
.
.
.
v
2
n
.
.
.
.
.
.
.
.
.
.
.
.
v
n
1
v
n
2
.
.
.
v
n
n
]
=\left[ \begin{matrix} \lambda_1v_{11}&\lambda_2v_{21}&...&\lambda_nv_{n1}\\ \lambda_1v_{12}&\lambda_2v_{22}&...&\lambda_nv_{n2}\\ ... & ...& ... & ... & \\ \lambda_1v_{1n}&\lambda_2v_{2n}&...&\lambda_nv_{nn} \end{matrix} \right] \left[ \begin{matrix} v_{11}&v_{12}&...&v_{1n}\\ v_{21}&v_{22}&...&v_{2n}\\ ... & ...& ... & ... & \\ v_{n1}&v_{n2}&...&v_{nn} \end{matrix} \right]
=
λ1v11λ1v12...λ1v1nλ2v21λ2v22...λ2v2n............λnvn1λnvn2...λnvnn
v11v21...vn1v12v22...vn2............v1nv2n...vnn
k ( x i , x j ) = ∑ k = 1 n λ k v k i v k j k(x_i,x_j)=\sum_{k=1}^n\lambda_kv_{ki}v_{kj} k(xi,xj)=k=1∑nλkvkivkj
注意:
v
k
i
v_{ki}
vki第一个下标表示:这是第
k
k
k个特征向量,第二个下标表示:这是第
k
k
k个特征向量的第
i
i
i个分量。
当特征
n
→
∞
n\rightarrow \infty
n→∞时,离散-》连续。
v
k
i
v_{ki}
vki可以看做第k个特征函数的第i个函数值,即
ψ
k
(
x
i
)
\psi_k(x_i)
ψk(xi)。此时,核函数可以写为:
k
(
x
,
x
′
)
=
∑
j
λ
j
ψ
j
(
x
)
ψ
j
(
x
′
)
k(x,x')=\sum_{j}\lambda_j\psi _j(x)\psi _j(x')
k(x,x′)=j∑λjψj(x)ψj(x′)
用到的工具:
Mercer定理的一点证明: https://blog.csdn.net/sinat_22510827/article/details/79116612
矩阵特征值分解:https://blog.csdn.net/weixin_42018112/article/details/80250206:
矩阵A的特征向量特征值:
A
x
=
λ
x
Ax=\lambda x
Ax=λx,矩阵A作用于(每一矩阵都对应一个变换)特征向量
x
x
x,其效果等价与对向量
x
x
x做尺度变换。(所以
x
x
x真是一个很神奇的方向呢!!)
每一个矩阵A都相似于一个上三角矩阵:通初等变换可以将一个矩阵转换成一个上三角阵,将这些初等变换乘在一起,就构成了一个变换矩阵。
每次的初等变换选择 特征值变换,且,矩阵A是一个对称矩阵,那矩阵A可以进行特征值分解:
Q
T
A
Q
=
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
Q^TAQ=diag(\lambda_1,\lambda_2,...,\lambda_n)
QTAQ=diag(λ1,λ2,...,λn)
Q Q Q的列向量组成 A A A的一个完备标准正交向量系。
3.核函数与希尔伯特空间
原来线性映射 ϕ ( x ) \phi(x) ϕ(x) ,它将原始特征空间中的数据点映射到另一个高维空间中。其实这个高维空间在这里有一个华丽的名字——“再生核希尔伯特空间 (Reproducing Kernel Hilbert Space, RKHS)”[1]
所以:每一个核函数都对应着自己的一个再生核希尔伯特空间。
下面先介绍希尔波特空间,再介绍再生核希尔伯特空间。
3.1希尔伯特空间-Hilbert空间
从 泛函 说 希尔伯特空间[2]
希尔伯特空间 是 希尔伯特 在解决 无穷维线性方程组 时提出的概念,原来的线性代数理论都是基于有限维欧几里得空间的,无法适用,这迫使希尔伯特去思考无穷维欧几里得空间,也就是无穷序列空间的性质。
l 2 l^2 l2空间:所有2范数 ∑ x n 2 \sum x_n^2 ∑xn2(n为向量的下标)为有限的 无穷维向量 x x x 组成的空间。这是最早的Hilbert space。
L
2
L^2
L2空间:单位闭区间上所有平方可积的实函数(就是说 f(x)的平方在[0,1]上的积分存在且有限)按照函数的加法和数乘成为一个线性空间。
∫
f
2
(
x
)
d
x
\int f^2(x)dx
∫f2(x)dx
L
2
L^2
L2希尔伯特空间是一个函数空间,其中定义内积如下:
<
f
,
g
>
=
∫
∣
f
∗
g
∣
d
x
<f,g>= \int|f*g|dx
<f,g>=∫∣f∗g∣dx
范数:
‖
f
‖
=
<
f
,
f
>
=
∫
f
2
(
x
)
d
x
‖f‖=\sqrt{<f,f>}=\sqrt{\int f ^2(x)dx}
‖f‖=<f,f>=∫f2(x)dx
泛函:就是自变量为函数,因变量为实数的映射。一个简单的例子,某一个泛函的定义域在 L 2 L^2 L2Hilbert space上。
从 定义 说 希尔伯特空间
向量空间:空间中的点具有加法和数乘的操作
内积空间:向量空间上定义一个内积操作
赋范空间:根据内积可以定义一个范数
度量空间:范数可以用于定义一个度量
Hilbert Space:如果一个空间在其定义的度量下是完备的,那么这个空间叫做 Hilbert Space。[1]
完备性:一个空间上的任意柯西序列必收敛于空间中的某一点——相当于闭集的定义
对于常见的 R n \mathbb{R}^n Rn,满足内积运算,能够推导出 l 2 l_2 l2范数,且是完备的,所以是希尔伯特空间。欧几里德空间 是 希尔伯特空间的一个重要特例,一个抽象的希尔伯特空间中的元素往往被称为向量。在实际应用中,它可能代表了一列复数或是一个函数。
核函数的再生性
对于任意的
f
∈
H
f\in \mathcal{H}
f∈H,都有:
f
(
x
)
=
<
f
(
.
)
,
k
(
.
,
x
)
>
f(x)=<f(.),k(.,x)>
f(x)=<f(.),k(.,x)>
k(.,.)被称为希尔伯特空间
H
\mathcal{H}
H的再生核。
由核的再生性还可以推到出:
k
(
x
,
x
′
)
=
<
k
(
x
,
.
)
,
k
(
.
,
x
′
)
>
k(x,x')=<k(x,.),k(.,x')>
k(x,x′)=<k(x,.),k(.,x′)>
再生核希尔伯特空间: 由具有再生性的核 张成的希尔伯特空间
定义:对于一个紧致的
X
∈
R
d
\mathcal{X}\in \mathbb{R}^d
X∈Rd;和希尔伯特空间
H
\mathcal{H}
H,其中元素为
f
:
X
→
R
f:\mathcal{X}\rightarrow \mathbb{R}
f:X→R,如果存在
k
:
X
→
R
k:\mathcal{X}\rightarrow \mathbb{R}
k:X→R,满足如下条件,就叫
H
\mathcal{H}
H为再生核希尔伯特空间。
1.
k
k
k有再生性:
f
(
x
)
=
<
f
(
.
)
,
k
(
.
,
x
)
>
f(x)=<f(.),k(.,x)>
f(x)=<f(.),k(.,x)>
2.
k
k
k张成
H
\mathcal{H}
H:
H
=
s
p
a
n
{
k
(
.
,
x
)
:
x
∈
X
}
‾
\mathcal{H}=\overline{span\{k(.,x):x\in \mathcal{X}\}}
H=span{k(.,x):x∈X}
所以说具有再生性的核都可以张成自己的一个再生核希尔伯特空间。
参考资料:
[1]https://blog.csdn.net/hggjgff/article/details/83828394
[2]再生核希尔伯特空间:https://wenku.baidu.com/view/09df5b7a11a6f524ccbff121dd36a32d7375c7c6.html
[3]希尔伯特空间,数学空间的神秘之地 :http://www.sohu.com/a/315344647_348129介绍了一个大概,从定义出发去验证希尔伯特空间
更多推荐
所有评论(0)