统计学习方法——支持向量机
支持向量机(三)
在这一块我们来进一步学习非线性支持向量机与核函数。
非线性支持向量机与核函数
核技巧
- 非线性分类问题
非线性分类问题是指通过利用非线性函数才能很好地进行分类的问题。- 线性分类方法求解非线性分类问题
- 使用一个变换将原空间的数据映射到新空间
- 在新空间里用线性分类学习方法从训练数据中学习分类模型
- 线性分类方法求解非线性分类问题
- 核函数的定义
设 X \mathcal X X是输入空间(欧式空间 R n R^n Rn的子集或离散集合),设 H \mathcal H H为特征空间(希尔伯特空间),如果存在一个从 X \mathcal X X到 H \mathcal H H的映射:
ϕ ( x ) : X → H \phi \left( x \right):\mathcal X \to \mathcal H ϕ(x):X→H
使得对所以 x , z ∈ X x,z\in \mathcal X x,z∈X,函数 K ( x , z ) K\left( {x,z} \right) K(x,z)满足条件
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K\left( {x,z} \right) = \phi \left( x \right) \cdot \phi \left( z \right) K(x,z)=ϕ(x)⋅ϕ(z)
则称 K ( x , z ) K\left( {x,z} \right) K(x,z)为核函数, ϕ ( x ) \phi \left( x \right) ϕ(x)为映射函数,式中 ϕ ( x ) ⋅ ϕ ( z ) \phi \left( x \right) \cdot \phi \left( z \right) ϕ(x)⋅ϕ(z)为 ϕ ( x ) \phi \left( x \right) ϕ(x)和 ϕ ( z ) \phi \left( z \right) ϕ(z)的内积。
在学习和预测中只定义核函数 K ( x , z ) K\left( {x,z} \right) K(x,z),不显式地定义映射函数 ϕ \phi ϕ。 - 核技巧在支持向量机中的应用
在线性支持向量机的对偶问题中,无论是目标函数还是决策函数都只涉及实例与实例之间的内积,在对偶问题的目标函数中 x i ⋅ x j x_i\cdot x_j xi⋅xj可用核函数 K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K\left( {x,z} \right) = \phi \left( x \right) \cdot \phi \left( z \right) K(x,z)=ϕ(x)⋅ϕ(z)替代。对偶函数的目标函数变为:
W ( α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i W\left( \alpha \right) = \frac{1}{2}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^N { {\alpha _i}{\alpha _j}{y_i}{y_j}K\left( { {x_i} \cdot {x_j}} \right)} } - \sum\limits_{i = 1}^N { {\alpha _i}} W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi⋅xj)−i=1∑Nαi
类似地分类决策函数为:
f = s i g n ( ∑ i = 1 N s a i ∗ y i ϕ ( x i ) ⋅ ϕ ( x ) + b ∗ ) = s i g n ( ∑ i = 1 N s a i ∗ y i K ( x i , x ) + b ∗ ) f = sign\left( {\sum\limits_{i = 1}^{ {N_s}} {a_i^*{y_i}\phi \left( { {x_i}} \right) \cdot \phi \left( x \right) + {b^*}} } \right) = sign\left( {\sum\limits_{i = 1}^{ {N_s}} {a_i^*{y_i}K\left( { {x_i},x} \right) + {b^*}} } \right) f=sign(<