
支持向量机
|
157
5.4.5 内核化 SVM
假设你想要将一个二阶多项式转换为一个二维训练集(例如卫星训练集),然后在转换训
练集上训练线性 SVM 分类器。这个二阶多项式的映射函数
φ
如公式 5-8 所示。
公式 5-8:二阶多项式映射
φφ
() 2x = =
x
x
1
2
x
x
xx
1
2
2
2
12
注意转换后的向量是三维的而不是二维的。现在我们来看看,如果应用这个二阶多项式
映射,两个二维向量
a
和
b
会发生什么变化,然后计算转换后两个向量的点积
注 7
(参见
公式 5-9)。
1
公式 5-9:二阶多项式映射的核技巧
φφ
() () 2 2 2ab
T 22 22
= =++
=+= =
( ) ()ab ab
11 2 2
ab
ab
aa bb ab abab ab
11
22
22
22
12 12 11 1122 22
T
2 T2
ab
ab
11
22
T
2
ab
怎么样?转换后向量的点积等于原始向量的点积的平方:
φφ
() () ( )a b ab
T T2
=
。
关键点:如果将转换映射
φ
应用于所有训练实例,那么对偶问题(见公式 5-6)将包含
点积
φφ
( )( )xx
() T ( )ij
的计算。如果
φ
是公式 5-8 所定义的二阶多项式转换,那么可以直接
用
()xx
( )T ( ) 2ij
来替代这个转换向量的点积。所以你根本不需要转换训练实例,只需将公
式 5-6 里的点积换成点积的平方即可。如果你不嫌麻烦 ...