非线性支持向量机
💙

非线性支持向量机

非线性可分问题
能用一个超曲面将训练数据集的正负例正确分开,则称这个问题为非线性可分问题。
方法:通过非线性变换将非线性问题转化为线性问题。
notion image
notion image
核函数的引入
定义一个从低维特征空间到高维特征空间的映射ϕ,将所有特征映射到一个更高的维度,让数据线性可分。
目标函数中高维特征仅以内积形式出现
minα12i=1,j=1mαiαjyiyjϕ(xi)ϕ(xj)i=1mαi s.t. i=1mαiyi=00αiC\begin{gathered}\underbrace{\min }_\alpha \frac{1}{2} \sum_{i=1, j=1}^m \alpha_i \alpha_j y_i y_j \phi\left(x_i\right) \bullet \phi\left(x_j\right)-\sum_{i=1}^m \alpha_i \\\text { s.t. } \sum_{i=1}^m \alpha_i y_i=0 \\0 \leq \alpha_i \leq C\end{gathered}
💡
核函数的定义:
假设ϕ是一个从低维的输入空间χ(欧式空间的子集或者离散集合)到高维的希尔伯特空间的H映射。如果存在函数K(x,z),对于任意x,z∈χ,都有:
K(x,z)=ϕ(x)ϕ(z)K(x, z)=\phi(x) \bullet \phi(z)
则称函数K(x,z)为核函数。
核函数的意义
  • 通常H是非常高维的,甚至是无穷维的,映射ϕ的计算量非常大或无法计算;
  • 在学习和预测中,直接定义K(x,z),可以不用显式地定义ϕ.
  • 核函数虽然也是将特征进行从低维到高维的转换,但它是在低维上进行计算,将实质上的分类效果(利用了内积)表现在了高维上,这样避免了直接在高维空间中的复杂计算。
正定核
一般所说的核函数都是正定核函数。
💡
正定核函数的充分必要条件
一个函数要想成为正定核函数,必须满足他里面任何点的集合形成的Gram矩阵是半正定的。
xiχ(i=1,2,,m),对应的Gram矩阵[K(xi,xj)]m×m是半正定矩阵\forall x_i\in \chi(i=1,2,\cdots,m),对应的Gram矩阵[K(x_i,x_j)]_{m\times m}是半正定矩阵
常用核函数
  1. 线性核函数(即线性SVM)
    1. K(xz)=xzK(x\cdot z)=x\cdot z
  1. 多项式核函数
    1. K(x,z)=(γxz+r)dK(x, z)=(\gamma x \bullet z+r)^d
  1. 高斯核函数
    1. K(x,z)=exp(γxz2)K(x, z)=\exp \left(-\gamma\|x-z\|^2\right)
  1. sigmoid核函数
    1. K(x,z)=tanh(γxz+r)K(x, z)=\tanh (\gamma x \bullet z+r)