支持向量机

前言 支持向量机(support Vector Machine)是一种更加强大的算法,广泛应用于学术界和工业界,与之前的学习过的机器学习算法相比较,支持向量机(以下简称SVM)为处理非线性问题提供了一种更加强大的方法。
优化目标 在之前的学习中,我们已经详细了解了逻辑回归的相关知识,其损失函数的数学公式可以用以下公式表示:

其中,
当以为分界点,其图像可以用以下方式近似表示:

支持向量机
文章图片

SVM的假设函数可以用如下公式表示:

支持向量机
文章图片
其中 ,
大间隔分类器的数学原理

  • 【支持向量机】大间隔分类器
    大间隔分类器就是以最大间隔划分正样本和负样本,使得样本距离分割线具有最大的距离。通过分析图像,可以得到以下结果:
    时,, 时,,即也就是使的有很大区间。
  • 数学原理
    • 向量内积
      为了了解大间隔分类器的数学原理,有必要了解向量内积的计算方式,如下所示,有如下两个向量:

      支持向量机
      文章图片
期内积可以表示为,其模值可以表示为,用几何法可以如下表示:

支持向量机
文章图片

其含义表示向量在上的投影乘以的模值,即.
  • SVM决策边界
    对于而言,假设,
    则有,
    对于SVM假设函数有
    ,
    ,, 可以有以下表示:


    通过以上方式,将问题简化为向量内积即也就是向量投影的形式,寻找合适的决策边界。示意图如下图所示:
    支持向量机
    文章图片
核函数
  • 高斯核函数的引入
    在之前的学习中,我们已经知道,对于非线性分类器,可以采用多项式的形式假设函数,另一种方法是采用核函数的方式,具体介绍如下:
    对于给定的变量,有如下图所示的三个标记,,

    支持向量机
    文章图片

    用表示变量与标记的相似度,其计算方式如下所示;



    以上公式中函数称之为核函数,本次使用的函数也称之为高斯核函数,通常用表示。
    对于以上给出的高斯核函数,假设,可以计算出,相反,如果(与之间的距离非常远)则有.
    通过以上方法,对于给定的变量,可以得到新的特征,其假设函数可以写成以下形式:

    显然,通过上述表达式,可以将复杂的非线性分类问题加以简化处理。
  • 核函数的使用
    以上,介绍了核函数的相关原理,选择合适的标记点非常重要,在实际的应用中,通常选择训练样本点作为标记,则对于每一个训练样本都可以通过高斯核函数得到一组特征向量,对于每一个训练样本都有如下的特征向量:

其中,,且
通过核函数的方法,对于SVM的假设函数可以写成如下形式

  • 高斯核函数的参数选择
    对于SVM训练函数,参数较大时:低偏差,高方差
    而较小时会导致,高偏差,低方差。
    对于核函数的参数较大时,如下图像所示,会使得特征的变化更加平滑,会导致高偏差和低方差。
    支持向量机
    文章图片

    而参数较小时,曲线变化更加陡峭,造成高方差和低的偏差。
    支持向量机
    文章图片
选择合适的分类算法 对于分类算法,我们已经学习了逻辑回归算法和SVM算法,对于一个具体的分类问题,用表示其特征数量,表示训练样本的数目,其算法选择可以遵循以下原则:
:采用逻辑回归算法或者线性核函数的SVM算法(或者没有核函数的SVM算法)。
较小,而大小适中时,采用高斯核函数的SVM算法。
:手动的创建更多的特征,采用逻辑回归算法或者不带核函数的SVM算法。
注意:神经网络适用以上任何一种形式,但是其花费的训练时间更长。

    推荐阅读