统计学习笔记之支持向量机

  支持向量机(SVM)是一种二分类模型,跟之前介绍的感知机有联系但也有区别。简单来讲,感知机仅仅是找到了一个平面分离正负类的点,意味着它是没有任何约束性质的,可以有无穷多个解,但是(线性可分)支持向量机和感知机的区别在于,支持向量机有一个约束条件,即利用间隔最大化求最优分离超平面,这时,支持向量机的解就是唯一存在的。

  首先来看线性可分的支持向量机,对于给定的数据集,需要学习得到的分离超平面为:

以及对应的分类决策函数:

  一般而言,一个点距离分离超平面的远近可以表示分类预测的确信程度。如果超平面确定,那么能够相对的表示点到超平面的距离,而的符号是否一致能表示分类是否正确。所以用来表示分类的正确性及确信度,这就是函数间隔。对于给定的数据集,需要寻找的是函数间隔的最小值,但是这仍然不够,假如成比例的改变,那么函数间隔也会随之改变,那么需要使,使得间隔确定,这时函数间隔变成了几何间隔。

  从而函数间隔和几何间隔有下面的关系:

  那么要寻找一个超平面的问题首先是转化为求几何间隔最大的问题,然后由几何间隔和函数间隔的关系,可以改写为:

可以看出,的取值并不影响最优化问题的解,那么可以取。并且最大化和最小化是等价的,于是得到线性可分支持向量机的最优化问题:

  在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,支持向量是使上面的约束条件取等号的点。为了求解上述问题,利用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。首先,构建拉格朗日函数,对每一个不等式约束引进拉格朗日乘子,定义拉格朗日函数:

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:

先求,可得:

带入拉格朗日函数,再求的极大,即是对偶问题:

将目标函数由极大转化为极小,就得到了下面与之等价的对偶函数的最优化问题:

  线性可分问题的支持向量机学习方法(硬间隔最大化),对线性不可分训练数据是不适用的,线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件。为了解决这一问题,可以对每个样本点引进一个松弛变量,使函数间隔加上松弛变量大于等于1。这样,约束条件变为:

同时,对每个松弛变量,支付一个代价。目标函数由原来的变成

这里,称为惩罚函数,起到了调和误分类惩罚和间隔的关系,一般由应用问题决定。

  于是,线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题):

同样的,利用拉格朗日的对偶性,可以求得上述原始问题的对偶问题:

解出之后,按照的关系,对其进行求解,既可得出超平面。

  上面介绍的两种方法都是解线性分类问题,但是,有时分类问题是非线性的,这时可以用非线性支持向量机,非线性支持向量机主要是利用核技巧,核技巧不仅应用于支持向量机还应用于其他的统计学问题。

  核技巧应用到支持向量机,其基本想法就是通过一个非线性变换将输入空间(欧式空间或者离散集合)对应于一个特征空间(希尔伯特空间),使得在输入空间中的超曲面模型对应于特征空间中的超平面模型,这样,便将非线性问题转化为了线性问题求解。常用的核函数有多项式核,高斯核等。

  对偶问题中的内积可以用表示,此时,非线性支持向量机的最优化问题可以表示为:

而为了解决上述问题,便需要SMO算法,其基本思路是:如果所有变量的解都满足此最优化问题的KKT条件,那么这个最优化问题的解就得到了。因为KKT条件是该最优化问题的充分必要条件。否则,选择两个变量,固定其他的变量,针对这两个变量构建一个二次规划问题。

  不失一般性,假设选择的两个变量是,其它变量是固定的。于是SMO的最优化问题的子问题可以写成:

  为了求解两个变量的二次规划问题,首先分析约束条件,然后在此约束条件下求极小;由于只有两个变量,约束可以用二维空间的图形表示。假设上述问题的初始可行解为,最优解为,并且假设在沿着约束方向未经剪辑时的最优解为。并且的取值范围必须满足条件:

如果,则

如果,则

  下面先求沿着约束方向未经剪辑时的最优解;然后再求剪辑后的的解。为了方便叙述,记:

时,为函数对输入的预测值与真实值之差。

  上述最优化问题沿着约束方向未经剪辑时的解是:

其中,

经过剪辑之后的的解是:

求得是:

为了更加高效的选择两个变量使得目标函数下降最快,即SMO算法中启发式选择:

  SMO称选择第一个变量的过程为外层循环。外层循环在训练样本中选取违反KKT条件最严重的样本点,并将其对应的变量作为第一个变量,其中优先选择间隔边界上的支持向量的点,检验它们是否满足KKT条件;第二个过程为内层循环,即寻找第二个变量,标准是希望能使第二个变量有足够大的变化。

时间: 2024-08-12 20:09:28

统计学习笔记之支持向量机的相关文章

Halcon学习笔记之支持向量机(二)

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述

《机器学习实战》学习笔记:支持向量机

该节的内容是支持向量机(SVM, support vectormachine). 这里首先要推荐一下July的SVM三层境界(http://blog.csdn.net/v_july_v/article/details/7624837)由于<机器学习实战>关于SVM一章的内容很多,本节先简单归纳一下关于支持向量机的基础. 一.概念描述 支持向量机,就是通过最大化支持向量到分类超平面之间的分类间隔.分类超平面就是我们想要得到的决策曲面:支持向量就是离分类超平面最近的点,而间隔即为支持向量到分类超平

统计学习笔记之决策树(二)

1.CART分类树的特征选择 分类问题中,假设有K个类,样本点属于第k类的概率为,则概率分布的基尼指数定义为: 如果,集合D根据特征A是否取某一可能值a被分割成和,在特征A的条件下,集合D的基尼指数定义为: 基尼指数代表了模型的不纯度,基尼指数越小,不纯度越小,特征越好. 2.CART分类树的生成算法 输入:训练数据集D,停止计算条件; 输出:CART决策树. 根据训练数据集,从根结点开始,递归的对每个结点进行以下操作,构建二叉树: (1)计算现有特征对该数据集的基尼指数; (2)在所有可能的特

统计学习笔记之逻辑回归

在分类的问题中,要预测的变量y经常是离散的,如需要预测是正确还是错误,这是一种最基本的二分类.当然,逻辑回归也可以进行多分类,有一种简单的方法是,将其中一类标记为正类,剩余类标记为负类,可以得到正类,再讲另外一个类标记为正类,重复进行既可得到多分类的结果. LR的常规步骤: 1.寻找假设函数 2.构造损失函数 3.使损失函数最小,并求得回归参数 对于二分类,输出标记为,而线性回归模型产生的预测值是实值,于是我们要将转换为0/1值.最理想的是单位阶跃函数,但是单位阶跃函数不连续不可微,于是,利用的

统计学习笔记(3) 监督学习概论(3)

Some further statements on KNN: It appears that k-nearest-neighbor fits have a single parameter, the number of neighbors k, compared to the p parameters in least-squares fits. Although this is the case, we will see that the effective number of parame

统计学习笔记(4) 线性回归(1)

Quantitative algorithm Error evaluation In this chapter, we review some of the key ideas underlying the linear regression model, as well as the least squares approach that is most commonly used to fit this model. Basic form: "≈" means "is a

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(一)

前两天微博上转出来的,复旦计算机学院的吴立德吴老师在开?统计学习精要(The Elements of Statistical Learning)?这门课,还在张江...大牛的课怎能错过,果断请假去蹭课...为了减轻心理压力,还拉了一帮同事一起去听,eBay浩浩荡荡的十几人杀过去好不壮观!总感觉我们的人有超过复旦本身学生的阵势,五六十人的教室坐的满满当当,壮观啊. 这本书正好前阵子一直在看,所以才会屁颠屁颠的跑过去听.确实是一本深入浅出讲data mining models的好书.作者网站上提供免

支持向量机学习笔记--原理篇(二)

支持向量机学习笔记(二) 前言 在上一篇中,讲述了感知机是什么.接下来将叙述感知机的对偶形式,这在解决支持向量机问题中非常有用,因为直接求解存在困难时,我们往往会把它变换到其等价形式进行求解.这篇将继续上篇内容,把遗留的两个问题解释清楚. 感知机 感知机学习算法的对偶形式 现在考虑感知机学习算法的对偶形式.感知机学习算法的原始形式和对偶形式在支持向量机学习算法的原始形式和对偶形式相对应. 对偶形式的基本想法是,将w和b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而求得w和b,不失一般

机器学习-李航-统计学习方法学习笔记之感知机(2)

在机器学习-李航-统计学习方法学习笔记之感知机(1)中我们已经知道感知机的建模和其几何意义.相关推导也做了明确的推导.有了数学建模.我们要对模型进行计算. 感知机学习的目的是求的是一个能将正实例和负实例完全分开的分离超平面.也就是去求感知机模型中的参数w和b.学习策略也就是求解途径就是定义个经验损失函数,并将损失函数极小化.我们这儿采用的学习策略是求所有误分类点到超平面S的总距离.假设超平面s的误分类点集合为M,那么所有误分类点到超平面S的总距离为 显然损失函数L(w,b)是非负的,如果没有误分