【机器学习】支持向量机(一)——最大间隔法与核函数

前言
支持向量机(Support Vector Machines, SVM)是一个非常出色的二类分类模型,被成功应用于很多机器学习应用中。这里的“机”实质上是指算法。要在笔记中把SVM完完全全讲清楚是非常困难的,一是因为这个东西本身很难理解,需要花很多时间和精力去深入学习和研究;二是因为其中涉及的数学原理非常多,以本人的数学水平也不能完全说得清楚,需要不断深入学习。因此只能力图把自己已经理解的东西梳理清楚。关于支持向量机的笔记分为三篇,本篇主要把SVM的数学原理描述一遍,并给出最大间隔法及核技巧的Matlab代码实现。
一、问题引入
1.线性分类器
在Logistic回归模型中,我们已经构建出了一个线性分类器,即画出一条决策边界,把两类数据分开:
这里写图片描述
其中使用的假设函数亦即sigmoid函数:
这里写图片描述
根据这个函数,当有一个新的样本加入时,我们只需要计算h_θ(x)的值,当h_θ(x)>0.5时,判断属于1类;当h_θ(x)<0.5时,判断属于0类。图中画出的决策边界并不是十分理想,很多情况下,我们往往希望决策边界与两边的样本点的距离都尽可能大一些,这样我们作出的决策会更加准确。亦即,当θTx>>0时,h_θ(x)=1;当θTx<<0时,h_θ(x)=0。现在我们把问题转化一下,逐渐过渡到支持向量机。
这里写图片描述
我们把θ0替换成b,表示截距。把剩下的项的θ替换成w,得:
这里写图片描述
假设函数变为:
这里写图片描述
输出y为0,1变为-1,+1,这种转化之后便于使用符号函数表示。于是问题转化为:给定线性可分训练数据集,通过间隔最大化求解相应的凸二次规划问题得到决策超平面为:
这里写图片描述
以及分类决策函数:
这里写图片描述
我们就得到了最简单的线性可分支持向量机。

二、问题分析
1.函数间隔和几何间隔
由于支持向量机的学习策略是间隔最大化,因此在介绍算法之前,先交待清楚函数间隔和几何间隔的概念。
1.1 函数间隔
对于给定的训练数据集T和超平面(w, b),定义超平面(w, b)关于样本点(xi, yi)的函数间隔为:
这里写图片描述
函数间隔可以表示分类预测的确信度。但是当我们成比例地改变w和b时,超平面没有改变,函数间隔却成比例改变了。所以我们要对法向量w加以约束,例如取单位法向量。
1.2 几何间隔
这里写图片描述
几何间隔是规范化的函数间隔,即当||w||=1时,函数间隔等于几何间隔。函数间隔与几何间隔的关系如下:
这里写图片描述
2.最大间隔法
最大间隔法的直观解释是:对训练数据进行分类时,找到几何间隔最大的超平面,使之分为正负两类。几何间隔最大意味着决策置信度最大。
2.1 硬间隔最大化
硬间隔最大化主要针对线性可分支持向量机。这个问题可描述为:
这里写图片描述
函数间隔的取值并不影响最优化问题的解,可以取γ=1.于是问题可改写为:
这里写图片描述
这是一个凸二次规划(convex quadratic programming)问题。根据这个问题求得最优解w*, b*,由此得到决策分类超平面:
这里写图片描述
以及分类决策函数:
这里写图片描述
距离分类决策超平面最近的样本点的集合称为支持向量。
这里写图片描述
如图中H1,H2上的点就是支持向量。之所以叫这个名字,是因为这些点定义或者支持这个决策边界。
2.2 原始问题与对偶问题
以上问题作为原始最优化问题。很多时候,求解原始问题(primal problem)的对偶问题(dual problem)往往更加容易。下面介绍原始问题和对偶问题的概念。
考虑约束最优化问题:
这里写图片描述
称此问题为原始最优化问题。
定义广义拉格朗日函数:
这里写图片描述
这里这里写图片描述,α,β是拉格朗日乘子。考虑关于x的函数:
这里写图片描述
这里P表示原始问题。有如下结论:
这里写图片描述
此时我们可以认为θP函数是把目标函数和约束函数结合在一起的问题。对上式取极小值:
这里写图片描述
称p*为原始问题取得最优解时的函数值。
定义:
这里写图片描述
其中D表示对偶问题。再取其极大值:
这里写图片描述
称此问题为原始问题的对偶问题,其中d*为对偶问题的最优值。一般情况下,对偶问题和原始问题的值满足:d*≤p*。等号成立时,满足KKT(Karush-Kuhn-Tucker)条件:

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值