核技巧Kernel trick
背景及含义:
对于 原始样本空间内或许不存在能正确划分两类样本的超平面 问题,考虑 将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
令
ϕ
(
x
)
\phi(x)
ϕ(x)表示将x映射后的特征向量,则在求解特征空间中划分的超平面时,将原优化问题(支持向量机基本型)转化为求解对偶问题,将涉及到计算
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\phi(x_i)^T\phi(x_j)
ϕ(xi)Tϕ(xj),即样本
x
j
x_j
xj与
x
i
x_i
xi映射到特征空间之后的内积,由于特征空间维数可能很多,直接计算该内机会很困难,因此设想函数:(即用
κ
(
.
,
.
)
\kappa(.,.)
κ(.,.)直接表示内积结果)
κ
(
x
i
,
x
j
)
=
<
ϕ
(
x
i
)
,
ϕ
(
x
j
)
>
=
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\kappa(x_i,x_j)=<\phi(x_i),\phi(x_j)>=\phi(x_i)^T\phi(x_j)
κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
则在特征空间中划分超平面对应的模型可表示为
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
f(x) = w^T \phi(x)+ b
f(x)=wTϕ(x)+b
什么函数可作为核函数:
由上可知,若已知映射
ϕ
(
)
\phi()
ϕ(),可给出核函数,但现实任务中常不知道
ϕ
(
)
\phi()
ϕ()的形式,而是直接使用核函数将原样本空间向高维映射,下面定理给出可作为核函数的条件:
令 χ \chi χ为输入空间, κ ( . , . ) \kappa(.,.) κ(.,.)是定义在 χ × χ \chi\times\chi χ×χ上的对称函数,则 κ \kappa κ是核函数当且仅当对于任意数据 D = { x 1 , x 2 , . . . , x m } D=\{x_1,x_2,...,x_m\} D={x1,x2,...,xm},核矩阵 K K K总是半正定的:
K = [ κ ( x i , x j ) ] ( n × n ) K= [\kappa(x_i,x_j)]_{(n\times n)} K=[κ(xi,xj)](n×n)
只要一个对称函数对应的核矩阵半正定,它就能作为核函数使用,都能隐式的定义一个称“再生希尔伯特空间”的特征空间。
常用核函数及组合原则
常用核函数:
组合(
κ
1
\kappa_1
κ1和
κ
2
\kappa_2
κ2都为核函数):
- γ 1 κ 1 + γ 2 κ 2 \gamma_1\kappa_1+\gamma_2\kappa_2 γ1κ1+γ2κ2仍为核函数
- κ 1 ⨂ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) \kappa_1\bigotimes\kappa_2(x,z) = \kappa_1(x,z)\kappa_2(x,z) κ1⨂κ2(x,z)=κ1(x,z)κ2(x,z)核函数的直积也是核函数
- κ ( x , z ) = g ( x ) κ 1 ( x , z ) g ( z ) \kappa(x,z)=g(x)\kappa_1(x,z)g(z) κ(x,z)=g(x)κ1(x,z)g(z)也为核函数,任意函数g(x).
举例理解
根据阅读的知乎文章进一步理解:link
- 核函数是在高维特征空间中的内积(可理解为相似度)
对核函数 k ( x , y ) = < x , y > 2 , x = ( x 1 , x 2 ) , y = ( y 1 , y 2 ) k(x,y) = <x,y>^2,x=(x_1,x_2),y=(y_1,y_2) k(x,y)=<x,y>2,x=(x1,x2),y=(y1,y2),该核函数对应的映射为 P ( x , y ) = ( x 2 , 2 x y , y 2 ) P(x,y) = (x^2,\sqrt2xy,y^2) P(x,y)=(x2,2xy,y2),即满足:
< P ( x ) , P ( y ) > = k ( x , y ) <P(x),P(y)> = k(x,y) <P(x),P(y)>=k(x,y)
从这个例子中也可以看出用核技巧计算实际上是在原始的分类依据 x , y x,y x,y上增添了 x y xy xy的部分,相当于在分类中加入了综合考虑两个样本的部分. - 核矩阵中的元素定义了各样本点在高维空间中的相似度.
Mercer条件及其证明
核函数在应用过程中要注意的
1 函数的选择
比如: nngt的,忘了要举哪儿的例子了,果然啥事儿不能拖,想起来再补orz
2 目前并没有研究说明对某种问题需要用某个核函数
(之前看到过一个椭圆形分界线,利用椭圆函数直接把核函数找出来的,感觉就很神奇,但是文献找不到了orz)
回去查找更多的文献qaq
1 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.