美文网首页
非线性支持向量机与核函数

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

作者: shenghaishxt | 来源:发表于2019-03-05 10:08 被阅读0次

核技巧

非线性分类问题

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

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

核函数的定义

\mathcal{X}是输入空间(欧式空间R^n或离散集合),\mathcal{H}是特征空间(希尔伯特空间),如果存在一个从\mathcal{X}\mathcal{H}的映射:
\begin{align*} \\& \phi \left( x \right) : \mathcal{X} \to \mathcal{H} \end{align*}
使得对所有x,z \in \mathcal{X},函数K \left(x, z \right)满足条件:
\begin{align*} \\ & K \left(x, z \right) = \phi \left( x \right) \cdot \phi \left( z \right) \end{align*}
则称K \left(x, z \right)为核函数,\phi \left( x \right)为映射函数,式中\phi \left( x \right) \cdot \phi \left( z \right)\phi \left( x \right)\phi \left( z \right)的内积。

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

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

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

常用核函数

多项式核函数

\begin{align*} \\& K \left( x, z \right) = \left( x \cdot z + 1 \right)^{p} \end{align*}

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

高斯核函数

\begin{align} \\& K \left( x, z \right) = \exp \left( - \dfrac{\| x - z \|^{2}}{2 \sigma^{2}} \right) \end{align}

非线性支持向量机

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

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

输入:训练数据集

线性可分训练数据集 T={(x_1, y_1), (x_2, y_2),...,(x_N, y_N)},其中 x_i \in R^ny_i \in \{-1, 1\}i=1,2,...,N​

输出:分类决策函数

  1. 选取适当的核函数K(x, z)和适当的参数C,构造并求解最优化问题
    \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*}

求得最优解\alpha^{\star} = \left( \alpha_{1}^{\star}, \alpha_{1}^{\star}, \cdots, \alpha_{N}^{\star} \right)

  1. 选择\alpha^{\star}的一个分量0 < \alpha_{j}^{\star} < C​,计算
    \begin{align*} \\ & b^{*} = y_{j} - \sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K \left( x_{i}, x_{j} \right) \end{align*}

  2. 构造决策函数

\begin{align} \\& f \left( x \right) = sign \left( \sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K \left( x_{i}, x_{j} \right) + b^{*} \right) \end{align}

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

相关文章

  • 支持向量机

    支持向量机 线性可分支持向量机与硬间隔最大化 线性支持向量机与软间隔最大化 非线性支持向量机与核函数 序列最小最优...

  • SVM支持向量机(三)

    非线性支持向量机与核函数 对解线性分类问题,线性分类支持向量机是一种非常有效的方法。但是有些分类问题的非线性的。其...

  • “核函数”的理解

    01 支持向量机核函数的思想 支持向量机通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间。特征空间的维...

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

    核技巧 非线性分类问题 如果能用中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。对应下图的例子,通过...

  • 核函数与支持向量机入门

    原文传送门:核函数与支持向量机入门 理解支持向量机(Support Vector Machine, SVM)的角度...

  • 支持向量机(SVM)--3

    上次说到支持向量机处理线性可分的情况,这次让我们一起学习一下支持向量机处理非线性的情况,通过引进核函数将输入空间映...

  • 使用SVM支持向量机解决分类问题

    导入模块数据,绘制散点图 创建支持向量机 绘制决策边界 引入核函数 由2D映射至3D 高斯核函数及非线性决策边界 ...

  • 支持向量机SVM(3)核函数、非线性支持向量机

    前面已经分别介绍了基于硬间隔最大化的线性可分支持向量机、基于软间隔最大化的线性支持向量机,这次来总结下使用核函数来...

  • 关于希尔伯特空间

    阅读李航博士的《统计学习方法》,非线性支持向量机中关于核技巧的知识中说: 核技巧应用到支持向量机,其基本想法就是通...

  • 支持向量机的核函数

    什么是核函数?核函数的作用是什么?怎么样把核函数和支持向量机结合起来?怎么样使用支持向量机来解决分类问题?怎么样在...

网友评论

      本文标题:非线性支持向量机与核函数

      本文链接:https://www.haomeiwen.com/subject/inxnuqtx.html