SVM明确的解释1__ 线性可分问题

笔者:liangdas

出处:简单点儿,通俗点儿,机器学习    http://blog.csdn.net/liangdas/article/details/44251469

引言:

1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine)。因为其可以适应小样本的分类。分类速度快等特点,性能不差于人工神经网络,所以在这之后,人们将SVM应用于各个领域。大量使用SVM模型的论文不断涌现,包含国内和国外。

可是。直到如今,非常少能见到对在一个能对SVM的原理准确,具体,通俗。严谨阐述的论文或者资料。所以决定查阅非常多的资料。结合自己的思考和理解,来写一篇关于SVM的系列文章。

线性可分问题:

在分类问题中。最简单的分类就是二分类问题,并且这个二分类问题是一个线性可分问题。那么对于一个线性二分类问题,它的目标函数是什么呢?确定目标函数之后。我们又用什么方法来求解呢?

在一维空间,也就是一个坐标轴上面。要分开两个能够分开的点集合,我们仅仅须要找到一个点。如图1:

图1 一维线性可分示意图

在二维空间中,要分开两个线性可分的点集合,我们须要找到一条分类直线就可以,如图2:

图2 二维线性可分示意图

在三维空间中,要分开两个线性可分的点集合,我们须要找到一个分类面:如图3:

图3 三维线性可分示意图

在n维空间中。要分开两个线性可分的点集合,我们须要找到一个超平面(Hyper Plane)。

为了直观,我们以上面二维空间为样例来分析:在图2中分布着两类点:淡蓝色和黑色的点。分别代表着不同的两个类别,显然,我们能够找到一条直线来把这两类点分开。高中的时候,常见的直线方程表达式是y=ax+b。我们如今用向量来表示,就是:,把向量(a。-1)用向量符号w来表示,维数向量(x。y)用向量符号x(此时的x是一个向量)来表示。那么直线方程就变成了w*x+b=0。

目标函数:

再次观察图2。能够知道,在这个二维平面中,能够把两类点的分开的直线有非常多条。如图4所看到的,那么这些直线中。哪一条才是最好的呢?也就是怎样选择出一条最好的直线呢?

图4 多条分类直线

在图4中。我们先看淡蓝色的点。假设这些点到分类直线的距离越大,分类直线也就越远离蓝色的点。那么再来一个新的点,假设这个点是按照淡蓝色点集合的特性产生的(也就是它不是一个相对于蓝色点集合非常神秘的点)。那么这个点也非常可能和蓝色的点集合一样,分布在直线的同一側。分布在同一側,表明它和蓝色集合点属于同一个类别。

用相同的思想,图4中,对于黑色的集合点,这条分类直线离它们的距离也要越远越好。所以找最优分类线。就是要找到这条一条直线,使它到两个类别点的距离越大越好。

回顾一下高中所学的点到直线的距离公式:直线(一般式):Ax+By+C=0另外一个点的坐标(x0, y0)。那么这点到这直线的距离就是:

那么。对于直线wx+b=0的形式,假设有一个点x,那么它到直线的距离公式就是。把向量写成二范数的形式,即是:

所以上面的二维线性可分问题的目标函数就能够抽象成例如以下的数学表达式:

目标函数的简化:

对于一个待分类类别。为了自己的类别能准确地分类,都希望分类直线到自己的距离大些。当有两类的时候,就会形成相互竞争,最后的竞争结果就是让这条分类直线,到两个类别的距离相等。在生活中。通常也是这样达到一种平衡状态的。

如图5,我们作两条直线,和分类直线平行。让这两条直线分别经过以下蓝色和黑色集合的边界,同一时候。满足这两条直线到中间分类直线的距离相等,那么,我们能够假定这两条直线方程各自是wx+b=c, wx+b=-c。

图5 两类别到分类直线的距离相等

用两条平行直线的距离计算公式, 那么。两个类别集合到分类直线的近期距离,这个公式,事实上和上面点到直线的距离公式是一样的。

对于一条直线,wx+b=c,我们对应的成比例的缩小他们的系数,如变成。这条直线和原来的直线还是同一条直线。如今把它变成,新的直线还是和曾经直线是同一条直线。也就是说。对于直线wx+b=c,我们总能够找到另外的一条新的
w1=w/c, b1=w/c。使w1*x+b1=1, 并且这两条直线事实上表达的是同一条直线,这种话,上面的图5能够变成例如以下的图6:

图6 两类别到分类直线的距离相等

从图6中,结合我们要寻找的最优分类直线。是到两类类别点集合的距离最大的直线的思想,我们能够抽象出此时的目标函数:

这样,这个目标函数看起来就比原来简洁多了。

目标函数的约束条件:

在图6中。对蓝色样本点而言,不在w1*x+b1=1直线上的点。一定是在直线上面的点,它们满足w1*x+b1>1,所以对全部的蓝色样本点而言,它们都满足w1*x+b1>=1。同理,对全部黑色的样本点,都是满足w1*x+b1<=-1。

这两个条件是我们求解的限制条件。也就是我们寻找上面的目标函数的时候。必须满足上面的两个不等式约束。

满足条件:

观察上面的不等式条件表达式,是不是有一种想把两个式子合并成一个式子的冲动?事实上。上面蓝色点相应的不等式,我们在不等式两边同一时候乘以一个y=1;同理。黑色点相应的不等式,在式子两边同一时候乘以一个y=-1。 那么上面的两个式子能够变成

可是,为什么能够在一个不等式的两边乘以一个1,而另外一个乘以-1呢?我们来看蓝色点相应的不等式,式子左边是样本点的维度向量x的表达式。对于一些训练样本点。它们另一个已知的类别标记量label,这里我们把它叫做y。这种话。对蓝色点的y值,我们人为将其定为1。而对黑色点的y值,我们将其定为-1,所以,对上面的两个不等式,分别在不等式的两边乘以类别值y,我们就能够自然将两个不等式合并成上面的那一个不等式了。

这也是为什么我们在生成SVM训练样本的时候,将两个类别分别定义成1和-1的原因!

到这里,我们目标函数能够写成:

这种一个目标函数是一个带不等式约束条件的优化问题。它怎么来求解呢?后面一章节来继续解说这个问题。

ps:使用或者转载请标明出处。禁止以商业为目的的使用。

假设有须要word版,或者是pdf版的,请与我联系,QQ:358536026

版权声明:本文博主原创文章,博客,未经同意不得转载。

SVM明确的解释1__
线性可分问题

时间: 2024-10-14 12:10:37

SVM明确的解释1__ 线性可分问题的相关文章

SVM再次总结 - 2 - 线性可分支持向量机

说明:此篇是作者对"SVM"的第二次总结,因此可以算作对上次总结的查漏补缺以及更进一步的理解,所以很多在第一次总结中已经整理过的内容在本篇中将不再重复,如果你看的有些吃力,那建议你看下我的第一次总结: http://blog.csdn.net/xueyingxue001/article/details/51261397 如何定位唯一的分隔超平面 如上所示,有无数根线可以把两种样本的完全正确分开,那么谁是最优的? SVM是这样求的: 1,假设上图中这一个个分隔超平面的方程是: f(x,

线性可分支持向量机与软间隔最大化--SVM

线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最大化或者等价的求出相应的凸二次规划问题得到的分离超平面 以及决策函数: 但是,上述的解决方法对于下面的数据却不是很友好, 例如,下图中黄色的点不满足间隔大于等于1的条件 这样的数据集不是线性可分的, 但是去除少量的异常点之后,剩下的点都是线性可分的, 因此, 我们称这样的数据集是近似线性可分的. 对

【机器学习基础】线性可分支持向量机

引言 接下里的一系列有关机器学习的博文,我将具体的介绍常用的算法,并且希望在这个过程中尽可能地结合实际应用更加深入的理解其精髓,希望所付出的努力能得到应有的回报. 接下来的有关机器学习基础博文主要根据机器学习技法课程的学习,围绕特征转换(feature transforms)这个主要工具,从以下三个方向进行探讨: 如果现在有很多特征转换可以使用的时候,我们该如何运用这些特征转换,如何控制特征转换中的复杂度的问题,从这个角度刺激了支持向量机(Support Vector Machine)算法的发展

线性可分 与线性不可分

http://blog.csdn.net/u013300875/article/details/44081067 很多机器学习分类算法,比如支持向量机(svm),假设数据是要线性可分. 如果数据不是线性可分的,我们就必须要采用一些特殊的方法,比如svm的核技巧把数据转换到更高的维度上,在那个高维空间上数据可能会变得线性可分. 那么,我们如何判断数据是不是线性可分的? 最简单的情况是数据向量是一维二维或者三维的,我们可以把图像画出来,直观上就能看出来. 比如H?vard Geithus网友的图,非

SVM入门(二)线性分类器Part 1

线性分类器(一定意义上,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直线就是一个分类函数,它可以将两类样本完全分开.一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的. 什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维

SVM入门(三)线性分类器Part 2

上回说到对于文本分类这样的不适定问题(有一个以上解的问题称为不适定问题),需要有一个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类间隔是一个比较好的指标.    在进行文本分类的时候,我们可以让计算机这样来看待我们提供给它的训练样本,每一个样本由一个向量(就是那些文本特征所组成的向量)和一个标记(标示出这个样本属于哪个类别)组成.如下:Di=(xi,yi).xi就是文本向量(维数很高),yi就是分类标记.    在二元的线性分类中,这个表示分类的标记只有两个值,1和-1(用来表

RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)

Deeplearning Algorithms tutorial 谷歌的人工智能位于全球前列,在图像识别.语音识别.无人驾驶等技术上都已经落地.而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶.智能助手.图像识别等许多层面.苹果业已开始全面拥抱机器学习,新产品进军家庭智能音箱并打造工作站级别Mac.另外,腾讯的深度学习平台Mariana已支持了微信语音识别的语音输入法.语音开放平台.长按语音消息转文本等产品,在微信图像识别中开始应用.全球前十大科技公司全部发力人工智能理论研究和应用的实现

Matlab生成二类线性可分数据

%% 生成二类线性可分数据 function [feature, category]=generate_sample(step,error) aa=3; %斜率 bb=3; %截距 b1=1; rr =error; s=step; x1(:,1) = -1:s:1; n = length(x1(:,1)); x1(:,2) = aa.*x1(:,1) + bb + b1 + rr*abs(randn(n,1)); y1 = -ones(n,1); x2(:,1) = -1:s:1; x2(:,2

【转】SVM入门(六)线性分类器的求解——问题的转化,直观角度

SVM入门(六)线性分类器的求解--问题的转化,直观角度 让我再一次比较完整的重复一下我们要解决的问题:我们有属于两个类别的样本点(并不限定这些点在二维空间中)若干,如图, 圆形的样本点定为正样本(连带着,我们可以把正样本所属的类叫做正类),方形的点定为负例.我们想求得这样一个线性函数(在n维空间中的线性函数): g(x)=wx+b 使得所有属于正类的点x+代入以后有g(x+)≥1,而所有属于负类的点x-代入后有g(x-)≤-1(之所以总跟1比较,无论正一还是负一,都是因为我们固定了间隔为1,注