登录
首页精彩阅读简单易学的机器学习算法—支持向量机
简单易学的机器学习算法—支持向量机
2017-03-20
收藏

简单易学的机器学习算法—支持向量机

支持向量机(Support Vector Machines, SVM)被公认为比较优秀的分类模型,有很多人对SVM的基本原理做了阐述,我在学习的过程中也借鉴了他们的研究成果,在我介绍基本的原理,用通俗易懂的方式把原理解释清楚,并期望通过MATLAB的代码实现这些基本的原理。由于SVM对数学理论的要求很高,并且SVM的形式也有多种,有不同的实现方式,在这个系列中我们重点关注以下几个方面:

支持向量机的一些基本概念

线性可分支持向量机的原理

线性支持向量机的原理

非线性支持向量机的原理

支持向量机的实现方法——序列最小优化算法(SMO)二、支持向量机的基本原理

在博文“简单易学的机器学习算法——Rosenblatt感知机”中介绍了Rosenblatt感知机的基本原理,Rosenblatt感知机神经网络模型和支持向量机SVM的基础,但是Rosenblatt感知机只能处理线性可分的问题,神经网络支持向量机的功能就更强大了,既能处理线性可分的问题,又能处理非线性可分的问题。
支持向量机SVM是定义在特征空间上的间隔最大的线性分类器,在Rosenblatt感知机中是通过计算分类误差求得分离超平面的,在SVM中则使用了间隔最大这样的特征
SVM可以这样定义:对于数据集(无论线性可分还是非线性可分),通过间隔最大(处理线性可分与非线性可分略有不同)这样的优化问题求得分离超平面
这样就可以得到分类决策函数

其中,为符号函数

三、支持向量机的分类

针对不同的问题有不同的支持向量机,主要会有这样几种支持向量机

线性可分支持向量机:主要求解线性可分的问题

线性支持向量机:主要处理近似线性可分问题

非线性支持向量机:主要处理线性不可分的问题四、支持向量机里的一些基本概念

支持向量机有着强大的理论基础,在分析SVM算法的过程中需要使用到一些基本的概念,在这里罗列一下,主要有以下几个方面:1、函数间隔和几何间隔

对于一个线性可分问题,如下图所示:

分隔超平面上方的为正类,下方的为负类。一个点距离分离超平面的远近可以表示为分类预测的确信程度,如上图中的A,B和C三个正类,由于A离分离超平面较远,若预测A为正类,则比较确信预测是正确的;C离超平面较近,若预测其为正类就不那么确信。数据分析师培训

对于数据集和分离超平面

函数间隔:定义分离超平面关于样本点的函数间隔为

几何间隔:定义分离超平面关于样本点的函数间隔为

拉格朗日对偶性

拉格朗日函数主要是用来处理带约束的优化问题。
假设是定义在上的连续可微函数,对于带约束的优化问题:

引进广义拉格朗日函数:

要求的最小值:,可以通过求解其对偶问题,即求解

数据分析咨询请扫描二维码

客服在线
立即咨询