美文网首页
支持向量机(四)——核方法

支持向量机(四)——核方法

作者: Herbert002 | 来源:发表于2020-06-06 10:45 被阅读0次

〇、说明

支持向量机(Support Vector Machine,SVM)是监督学习中非常经典的算法。笔者主要参考学习的是李航老师《统计学习方法(第二版)》[1]和周志华老师的西瓜书《机器学习》[2]。

如有错误疏漏,烦请指正。如要转载,请联系笔者,hpfhepf@gmail.com。

一、问题引出

对于线性分类问题,前面所述的线性可分支持向量机和软间隔支持向量机是非常有效的方法。现实任务中,往往更多的是非线性的分类问题,线性模型就无能为力了。例如异或问题,如下图

图1[2]

这样的问题,可以考虑将样本从原始的特征空间映射到一个更高维的特征空间,使得样本在新的特征空间线性可分。在图1中,若将原始的二维空间映射到一个合适的三维空间,就能找到一个合适的分类超平面。如果原始的特征空间是有限维,那么一定存在一个高维特征空间使样本线性可分。[2]

利用核方法,可以将线性支持向量机扩展到非线性支持向量机。

二、核函数简介

李航老师在其《统计学习方法(第二版)》中对核函数有较为详细的介绍。这里简单介绍一下核函数的定义和常用核函数。

核函数定义[1]:

\mathcal X是输入空间(欧式空间\mathbb{R}^n的子集或离散集合),又设\mathcal H为特征空间(希尔伯特空间),如果存在一个从\mathcal X\mathcal H的映射

\phi (x):\mathcal X \rightarrow \mathcal H \tag{1}

使得对所有x,z\in \mathcal X,函数K(x,z)满足条件

K(x,z)=\phi(x) \cdot \phi(z) \tag{2}

则称K(x,z)为核函数,\phi(x)为映射函数。

正定核函数定义[1]:

\mathcal X\subset \mathbb{R}^nK(x,z)是定义在\mathcal X \times \mathcal X上的对称函数,如果对任意x_{i}\in \mathcal X, i=1,2,\dots,mK(x,z)对应的Gram矩阵

\textbf{K}=[K(x_{i},x_{j})]_{m\times m} \tag{3}

是半正定矩阵,则称K(x,z)是正定核函数。

用定义验证核函数并不容易,实际应用中往往使用已有的核函数。在使用中,通常只定义核函数,不用显式定义映射函数。

常用核函数:

1.线性核函数

K(x,z)=x\cdot z \tag{4}

就是内积。

2.多项式核函数[3]

K(x,z)=(x\cdot z+c)^d \tag{5}

c=0,d=1时,退化为线性核函数。

3.高斯核函数

K(x,z)=exp(-\frac{||x-z||^2}{2\sigma^2}) \tag{6}

也叫径向基核函数。

三、非线性支持向量机

在线性支持向量机[4]对偶问题的目标函数中,将样本内积x_{i} \cdot x_{j}替换成核函数K(x_{i},x_{j}),非线性支持向量机如下

\begin{split}&\mathop{min}\limits_{\alpha} \ &\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_{i} \alpha_{j} y_{i} y_{j}K(x_{i} ,x_{j}) - \sum_{i=1}^N \alpha_{i} \\& s.t. & \sum_{i=1}^N \alpha_{i} y_{i}=0 \\&& 0\leq \alpha_{i} \leq C \ \ i=1,2,\dots,N\end{split} \tag{7}

求得最优非线性分类模型参数为

\begin{align}& w^*=\sum_{i=1}^N \alpha^*_{i}y_{i}x_{i} \\& b* =y^*_{j}-\sum_{i=1}^N \alpha^*_{i}y_{i}K(x_{i},x_{j}) , \ 0<\alpha^*_{j} <C \end{align}\tag{8}

决策函数为

f(x)=sign(\sum_{i=1}^N \alpha^*_{i} y_{i} K(x,x_{i}) +b^*) \tag{9}

四、附录

A、参考

[1]、《统计学习方法(第二版)》,李航著,清华大学出版社

[2]、《机器学习》,周志华著,清华大学出版社

[3]、Polynomial kernel

[4]、《支持向量机(三)——线性支持向量机》

B、相关目录

[a]、支持向量机(一)——线性可分支持向量机导出

[b]、支持向量机(二)——线性可分支持向量机求解

[c]、支持向量机(三)——线性支持向量机

[d]、支持向量机(四)——核方法

[e]、支持向量机(五)——SMO算法

相关文章

  • 支持向量机(四)——核方法

    〇、说明 支持向量机(Support Vector Machine,SVM)是监督学习中非常经典的算法。笔者主要参...

  • 关于希尔伯特空间

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

  • 支持向量机

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

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

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

  • 核支持向量机

    核支持向量机(通常简称为SVM)是可以推广到更复杂模型的扩展,这些模型无法被输入空间的超平面定义。向量机可以同时用...

  • SVM支持向量机(三)

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

  • 支持向量机的核函数

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

  • [Stay Sharp]核函数种类

    常见核函数 多项式核函数 对应的支持向量机是一个次多项式分类器,对应的分类决策函数是: 高斯核函数 对应的支持向量...

  • “核函数”的理解

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

  • 【机器学习】核支持向量机SVM

    线性支持向量机用于分类任务,而核支持向量机(SVM)是可以推广到更复杂模型的,但无法被输入空间的超平面定义。 虽然...

网友评论

      本文标题:支持向量机(四)——核方法

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