上回讲到的矩阵 Q Q 中的每一个分量是
而 zTnzm=ϕ(xn)Tϕ(xm) z n T z m = ϕ ( x n ) T ϕ ( x m ) ,首先要对 xi x i 进行变换然后求内积,能不能将这两步骤合起来呢?(中心思想)
下面来一个栗子:
首先这里的 ϕ2(x) ϕ 2 ( x ) 变换,首先如果直接按照先变换后内积的思路的话就要 O(d2) O ( d 2 ) 的计算量,然后做内积也是需要 O(d2) O ( d 2 ) 的计算量,但是如果按照上图中所示,如果先求出 xTx′ x T x ′ ,然后再计算剩余的一个乘法和两个加法的话,计算量仅仅需要 O(d) O ( d ) !
我们记这样的操作
1+xTx′+(xTx′)2
1
+
x
T
x
′
+
(
x
T
x
′
)
2
用
Kϕ2(x,x′)
K
ϕ
2
(
x
,
x
′
)
来表示,每一种变换对应一种核函数,对应地我们可以修改一下
b
b
,还有最终的分类函数的表达式,如下图所示:
多项式核函数,配方(不是严格的配方)之后,我们可以得到
然后还有一种常用的核函数,我们称为高斯核,或者RBF(径向基函数)
它与多现实函数一个显著区别就是其中的实际上是一个无限维的多项式,它拥有更强的复杂处理能力。形式如下
实际上对于一堆给定的数据
xn
x
n
我们根本不知道他们的
ϕ
ϕ
是什么,即不知道应该用什么核函数去处理,只能试一试。
常用的三种核函数,线性(不变换),多项式,RBF的优缺点分别为:
最后提一句关于核函数
实际上核函数反映的是一种距离,内积本来就是一种距离(想象一下余弦定理),这很正常,内积诱导出范数,范数诱导出距离。那么问题来了是不是什么“距离”都能作为核函数呢,并不是的,考虑上图中的矩阵
K
K
,实际上,说明
K
K
一定是一个半正定的矩阵,特别地,可以证明(困难的)这个不仅仅是一个必要条件,同时也是一个充分条件,即如果这样的矩阵(形式上和格兰姆矩阵类似)是半正定矩阵既可以用过来作为核函数。