机器学习-支持向量机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Forlogen/article/details/82724629
  1. 前言

在前面的分类问题中,学到了线性回归算法、Logistic回归算法,以及决策树中回归算法,我们在数据集中通过训练数据得到一个很好的拟合数据的模型,在图中表现为可以找到一条直线来将正反例数据很好的分割开来,例如下图所示:
这里写图片描述

在图中的数据集中我们可以找到无数条分割的线,那么那一条是最好的呢?支持向量机算法就提供了一个很好的模型。

2.支持向量机初识

支持向量机(support vector machines ,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,价格最大使它有别于感知机;此外还包括核技巧,来解决非线性可分问题。

支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次优化问题,也等价于正则化的合页损失函数的最小化问题。

支持向量机一般分为如下几类(不同的书上叫法可能有所不同):

这里写图片描述

那么什么是分割超平面呢,我们从下图来看一下:

这里写图片描述

这里写图片描述
我们的目标就是找到最大间隔的超平面。

3.线性可分的支持向量机

标题

这里写图片描述

如上图所示,蓝色的五角星代表反例,红色的圆圈表示正例,我们可以找到一条线将其完全的分割开来,这样的数据集就是线性可分的。

那么在数学上如何来说明呢》我们给定如下的假设:
这里写图片描述

类似于logistic回归中我们使用0和1来表示正反例,这里我们使用-1 和 +1来表示。当y=-1时表示反例,y=+1时表示正例(是为了数学推导方便)。
我们便可以得到如下所示的y(x)的表达式:
这里写图片描述

通过处理
这里写图片描述
为了方便计算我们计算目标函数的对偶问题,相应的约束条件如下
这里写图片描述

得到的新的目标函数很约束条件是一个凸二次的优化问题,我们可以使用拉格朗日乘子法来解决,建立如下的解析式,然后计算其对偶问题:
这里写图片描述

对拉格朗日函数求偏导,得到两个等式
这里写图片描述

然后将其回代到拉格朗日函数中等到关于α的解,具体的推导过程如下
这里写图片描述

然后继续求minL(w,b,α)的极大
这里写图片描述

整理目标函数,计算其对偶问题:
这里写图片描述

最后求得最优解α*,我们将其带入到关于w和b 的表达式,便可以求出分离超平面的方程,进而得到分类决策函数f(x)。
这里写图片描述

这样我们便得到了一个线性可分的支持向量机模型,其中位于最大分隔面上的点就是所谓的支持向量。

未完待续!有时间再写

猜你喜欢

转载自blog.csdn.net/Forlogen/article/details/82724629
今日推荐