支持向量机(SVM)求解过程涉及的多个步骤和数学原理

职场   2024-12-07 23:59   浙江  

一、SVM的基本思想

SVM的基本思想是在样本的向量空间中寻找一个超平面,使得两类样本被分割在平面的两端。这样的平面理论上有无穷多个,但SVM的目标是找到一个最优的超平面,即两侧距离超平面最近的样本点到超平面的距离被最大化的超平面。这个最优的超平面所对应的判别模型即为支持向量机。距离超平面最近的样本点被称为支持向量。




机器学习专栏推荐机器学习专栏

深度学习专栏推荐计算机视觉专栏

深度学习专栏推荐深度学习

深度学习框架pytorchpytorch

人工智能之数学基础专栏:人工智能之数学基础



二、线性可分情况下的SVM求解

  1. 问题转化

    对于线性可分的情况,SVM的求解可以转化为一个凸优化问题。具体来说,就是找到一个超平面(wx+b=0),使得两类样本点分别位于该平面的两侧,并且距离该平面最近的样本点到平面的距离最大化。

  2. 函数间隔和几何间隔

  • 函数间隔:对于给定的超平面和样本点,样本点到超平面的函数间隔定义为y(wx+b)。但是,函数间隔存在一个问题,即当w和b成倍增加时,函数值也会成倍增加,而超平面并没有改变。因此,需要引入几何间隔。

  • 几何间隔:几何间隔是样本点到超平面的真正距离。它通过对w进行约束(通常假设w的模为1),然后计算样本点到超平面的垂直距离来得到。

  • 优化问题

    SVM的目标是最大化几何间隔,这可以转化为一个优化问题。具体来说,就是最小化w的模的平方(即||w||^2/2),同时满足所有样本点到超平面的函数间隔大于等于1的约束条件。这个优化问题可以表示为:

    1. 拉格朗日乘子法和对偶问题

      为了求解上述优化问题,可以使用拉格朗日乘子法将其转化为一个无约束的优化问题。具体来说,就是引入拉格朗日乘子α_i(i=1,2,...,n),然后构造拉格朗日函数:

    1. KKT条件和支持向量

      在求解对偶问题的过程中,需要满足KKT条件(Karush-Kuhn-Tucker条件)。这些条件包括:

      其中,第三个条件表明,只有当样本点位于间隔边界上(即y_i(wx_i+b)=1)时,对应的α_i才可能不为0。这些位于间隔边界上的样本点就是支持向量。

    • α_i≥0

    • y_i(wx_i+b)-1≥0

    • α_i(y_i(wx_i+b)-1)=0

  • 求解α_i

    通过对偶问题,可以求解出α_i的值。然后,利用α_i和样本点的特征向量x_i,可以求解出w和b的值(通过w的表达式和任意一个支持向量)。

  • 决策函数

    最后,可以得到SVM的决策函数:f(x)=sign(wx+b)。对于新的样本点x,将其代入决策函数,就可以得到其所属的类别。

  • 三、线性不可分情况下的SVM求解

    对于线性不可分的情况,SVM通过引入核函数将样本点映射到高维空间,使得在高维空间中样本点变得线性可分。然后,在高维空间中应用线性可分情况下的SVM求解方法。

    1. 核函数

      核函数的作用是将原始输入空间中的样本点映射到新的特征空间(通常是高维空间)。常用的核函数包括线性核、多项式核、径向基函数(RBF)核(也称为高斯核)等。选择合适的核函数对于SVM的性能至关重要。

    2. 映射后的优化问题

      在引入核函数后,原始的优化问题中的x_i和x_j(表示两个样本点的特征向量)需要被替换为φ(x_i)和φ(x_j)(表示映射后的特征向量)。然后,在新的特征空间中应用线性可分情况下的SVM求解方法。

    3. 软间隔和松弛变量

      对于线性不可分的情况,通常允许某些样本点被错误分类(即位于间隔边界以内或另一侧)。这可以通过引入软间隔和松弛变量来实现。具体来说,就是在优化问题中添加一个惩罚项(即松弛变量的平方和乘以一个正数C),以允许一定的分类错误。同时,约束条件也相应地进行调整(即允许函数间隔小于1)。

    4. 求解过程

      软间隔情况下的SVM求解过程与线性可分情况类似,但需要对拉格朗日函数、KKT条件等进行相应的调整。最终,可以求解出α_i、w和b的值,并得到决策函数。


    每天五分钟玩转人工智能
    一个人没有梦想和神经网络有什么区别?
     最新文章