支持向量机SVM
非线性支持向量机与核函数
核技巧
非线性分类问题
非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题。
假设给定一个特征空间上的的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1),(x_2,y_2),...,(x_N,y_N)\} T={
(x1,y1),(x2,y2),...,(xN,yN)},如果能用 R n R^n Rn中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。采用的方法是进行一个非线性变换,将非线性问题转换成线性问题,如下图示例。
假设原空间为 X ⊂ R 2 , x = ( x ( 1 ) , x ( 2 ) ) T ∈ X \mathcal{X} \subset R^2,x=(x^{(1)},x^{(2)})^T\in \mathcal{X} X⊂R2,x=(x(1),x(2))T∈X,新空间为 Z ⊂ R 2 , z = ( z ( 1 ) , z ( 2 ) ) T ∈ Z \mathcal{Z} \subset R^2,z=(z^{(1)},z^{(2)})^T\in \mathcal{Z} Z⊂R2,z=(z(1),z(2))T∈Z,定义从原空间到新空间的变换(映射):
z = ϕ ( x ) = ( ( x ( 1 ) ) 2 , ( x ( 2 ) ) 2 ) T z=\phi(x)=((x^{(1)})^2,(x^{(2)})^2)^T z=ϕ(x)=((x(1))2,(x(2))2)T
经过变换 z = ϕ ( x ) z=\phi(x) z=ϕ(x),原空间 X ⊂ R 2 \mathcal{X} \subset R^2 X⊂R2变为新空间 Z ⊂ R 2 \mathcal{Z} \subset R^2 Z⊂R2,原空间中的椭圆
w 1 ( x ( 1 ) ) 2 + w 2 ( x ( 2 ) ) 2 + b = 0 w_1(x^{(1)})^2+w_2(x^{(2)})^2+b=0 w1(x(1))2+w2(x(2))2+b=0
变成新空间中的直线
w 1 z ( 1 ) + w 2 z ( 2 ) + b = 0 w_1z^{(1)}+w_2z^{(2)}+b=0 w1z(1)+w2z(2)+b=0
用线性分类方法求解非线性分类问题(核技巧)分为两步:
- 使用一个变换将原空间的数据映射到新空间
- 在新空间里用线性分类学习方法从训练集学习模型
核技巧应用到SVM,其基本想法就是通过一个非线性变换将输入空间对应于一个特征空间,使得在输入空间 R n R^n Rn中的超曲面模型对应于特征空间 H \mathcal{H} H中的超平面模型(SVM&#