赞
踩
核函数可以看作一种映射变化,把低维数据映射到高维数据,利用新空间的性质,使数据可分离。
给定数据集
x
1
,
x
2
,
⋯
,
x
N
x_1,x_2,\cdots,x_N
x1,x2,⋯,xN,其中
x
i
∈
R
D
,
x_i\in R^D,
xi∈RD,映射函数
ϕ
\phi
ϕ将
R
D
R^D
RD空间中的
x
i
x_i
xi映射到新空间
Q
Q
Q。核函数定义为:
H
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
⋅
ϕ
(
x
j
)
H(x_i,x_j)=\phi(x_i)\cdot\phi(x_j)
H(xi,xj)=ϕ(xi)⋅ϕ(xj)并不需要知道
ϕ
\phi
ϕ的具体形式。
常见的核函数有:
P
o
l
y
n
o
m
i
a
l
H
(
x
i
,
x
j
)
=
(
x
i
⋅
x
j
+
1
)
d
Polynomial\qquad H(x_i,x_j)=(x_i\cdot x_j+1)^d
PolynomialH(xi,xj)=(xi⋅xj+1)d
R
a
d
i
a
l
H
(
x
i
,
x
j
)
=
e
x
p
(
−
r
∥
x
i
−
x
j
∥
2
)
Radial \qquad \quad \ \ \ \ H(x_i,x_j)=exp(-r\|x_i-x_j\|^2)
Radial H(xi,xj)=exp(−r∥xi−xj∥2)
N
e
u
r
a
l
H
(
x
i
,
x
j
)
=
t
a
n
h
(
a
x
i
⋅
x
j
+
b
)
Neural \qquad \quad \ \ H(x_i,x_j)=tanh(ax_i\cdot x_j+b)
Neural H(xi,xj)=tanh(axi⋅xj+b)
核函数的缺点:
(1)由于
ϕ
\phi
ϕ的具体形式是未知的,所以新空间的一些性质损失了,比如维度和取值范围;
(2)被给数据集的核函数形式必须通过实验才能确定;
(3)计算成本和存储空间大幅度提高。
若k-means采取欧式距离的度量措施,即样本点到簇中心点欧式距离的平方和最小,那么这有一个假设前提:数据由孤立的椭圆区域组成。如果待处理的数据集不满足这个假设,那么需要采用其他的度量措施。
k-meeans引入核函数后:
这里要注意的是:
u
i
u_i
ui的值未知的
Kernel K-means算法如下:
引入核函数,使得原本用k-means不可分割的数据变得可以分割。
核矩阵的计算和存储成本较高。当语料库
当语料库较大时,kernel k-means如何改进?正是本篇论文所讲的。
1.如何通过数据集确定核函数的形式
2.核函数中映射函数是一一对应的吧,
x
i
∈
C
k
⟺
ϕ
(
x
i
)
∈
C
k
x_i\in C_k\iff \phi(x_i)\in C_k
xi∈Ck⟺ϕ(xi)∈Ck,如果不一一对应,那么不能知道
δ
(
u
i
,
C
k
)
\delta(u_i,C_k)
δ(ui,Ck)的值。
3.找数据集亲自模拟k-means 和kernel k-means。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。