非线性支持向量机与核函数

核技巧

非线性分类问题

如果能用中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。对应下图的例子,通过变换将左图中椭圆变换称右图中的直线,将非线性分类问题变换为线性分类问题。

核技巧的基本想法是通过一个非线性变换将输入空间(欧式空间或离散集合)对应于一个特征空间(希尔伯特空间),使得在输入空间中的超曲面模型对应于特征空间中的超平面模型(支持向量机)。

核函数的定义

设是输入空间(欧式空间或离散集合),是特征空间(希尔伯特空间),如果存在一个从到的映射:

使得对所有,函数满足条件:

则称为核函数,为映射函数,式中为和的内积。

核函数在支持向量机中的应用

在线性支持向量机的对偶问题中,无论是目标函数还是决策函数都只涉及输入实例与实例之间的内积,它们都可以用核函数来代替。这等价于经过映射函数将原来的输入空间变换到一个新的特征空间,将输入空间中的内积 变换为特征空间中的内积,在新的特征空间里从训练样本中学习线性支持向量机。

在实际应用中,往往依赖领域知识直接选择核函数,核函数选择的有效性需要通过实验验证。

常用核函数

多项式核函数

对应的支持向量机是一个p次多项式分类器

高斯核函数

非线性支持向量机

将线性支持向量机扩展到非线性支持向量机,只需将线性支持向量机对偶形式中的内积换成核函数即可。

非线性支持向量机学习算法

输入:训练数据集

线性可分训练数据集 ,其中 ,,。

输出:分类决策函数

  1. 选取适当的核函数和适当的参数,构造并求解最优化问题
    \begin{align*} \\ & \min_{\alpha} \dfrac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} K \left( x_{i}, x_{j} \right) - \sum_{i=1}^{N} \alpha_{i} \\ & s.t. \sum_{i=1}^{N} \alpha_{i} y_{i} = 0 \\ & 0 \leq \alpha_{i} \leq C , \quad i=1,2, \cdots, N \end{align*}

求得最优解。

  1. 选择的一个分量,计算

  2. 构造决策函数

当是正定核函数时,第一步中的式子是凸二次规划问题,解是存在的。

你可能感兴趣的:(非线性支持向量机与核函数)