前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【分类战车SVM】第二话:线性分类

【分类战车SVM】第二话:线性分类

作者头像
数说君
发布2018-03-28 16:10:11
7490
发布2018-03-28 16:10:11
举报
文章被收录于专栏:数说工作室数说工作室

分类战车SVM

(第二话:线性分类)

回复“SVM”查看本《分类战车SVM》系列的内容:

第一话:开题话

第二话:线性分类

第三话:最大间隔分类器

第四话:拉格朗日对偶问题(原来这么简单!)

第五话:核函数(哦,这太神奇了!)

第六话:SMO算法(像Smoke一样简单!)

附录:用Python做SVM模型


1. 回顾

上一集我们大致介绍了机器学习世界的一种新武器——支持向量机,代号为SVM(微信公众号“数说工作室”中回复“SVM1”查看)。它具有以下优良特性:

  • 小样本——SVM配备“支持向量”识别系统,精准打击
  • 非线性——SVM嵌入了尖端前沿的“高维映射”技术。
  • 高维度——SVM配备了“核函数”子装置,有效节省成本,轻便节能。
  • 关注结构风险——SVM装备风险自我识别系统,为驰骋疆场提供全面的保驾护航。

另外,SVM与logistic都是线性分类器的一种,那么它们有什么区别和联系?线性分类器又到底是什么?

2. 线性分类器

上次说到了SVM属于线性分类器的一种,什么是线性分类呢?

在一个二维空间里,我们可以用一个线性函数来将样本点分开,如果一个线性函数能将样本点全部分开,则称这些数据是线性可分的,否则称为线性不可分。这个线性函数,在一维空间里就是一个点,在二维空间里就是一条线,在三维空间里就是一个平面,它们统一被称为“超平面”。

如下图所示,在一个二维空间里,一条线很好的将圆圈和叉叉两类样本给分开了,这条线就是超平面:

如果我们用数学公式表示,这条线为:

没有反应过来的同学,好好静下来想想,是不是这样的?

为方便下面的说明,我们用f(x)来表示这个式子,即:

那么此时,有:

  • 当某点带入f(x)使得f(x)>0时,则该点在直线上方,则说明属于圆圈;
  • 当某点带入f(x)使得f(x)<0时,则该点在直线下方,则说明属于叉叉;

有一个问题大家应该想到了;当某点带入f(x)使得f(x)=0,即该点落在直线上,呀!难办了,哪一类都不是;

这种情况,别说处女座了,我大水瓶座的数说君也不能忍!怎么办?果断弃之,直接把超平面给换了!

这里其实牵扯到的是一个不适定问题,不要被名字给吓住了,其实很简单。还是区分叉叉和圆圈的例子,看下面这张图,你稍微挪动一下直线,又是一个超平面,它们都能把两类点给分开,超平面不唯一,这就是不适定问题。但我们要选择的,一定是能把两类点分的最开、分的最清楚的那个超平面,用这样的超平面去给未知类别的点进行分类,才最可靠,不然发现未知类别的点都围在超平面附近,或者像上图那样直接落在直线上,无法取舍,真是要把强迫症给逼疯的。

以上内容,就是线性分类器的朴素的思想,它家族的很多成员,包括曾经介绍过的logistic模型(在公众号“数说工作室”中搜索关键字“logit1”和“logit2”查看),它和SVM很像,现在大概说一下两者的区别,说完了也许你就知道SVM为什么叫“支持向量机”

① 寻找最优超平面的方法不同

形象点说,logistic模型找的那个超平面,是尽量让所有点都远离它,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些“支持向量”的样本——所以叫“支持向量机”。

② SVM可以处理非线性的情况

比logistic更强大的是,SVM还可以处理非线性的情况。

3. 数学表达

(1)超平面的数学表达

我们需要把上面乱七八糟的语言用数学表达式来表示,这样下面的介绍就直接用数学符号或者公式就可以说明了。

前面我们说了二维空间里超平面的数学表达:

三维空间相应的为:

推广到更高维空间,以便让我们的推导更有普遍性:

在任意n维空间里,分类函数

因此,管它到底多少维,我们用向量形式,就可以表示所有:

(2)判断标准的数学表达

之前,我们有这样的判断标准:

  • 当某点带入f(x)使得f(x)>0时,则该点在直线上方,则说明属于圆圈;
  • 当某点带入f(x)使得f(x)<0时,则该点在直线下方,则说明属于叉叉;

为了量化表达,我们用y这个字母来代表某点属于的类别,y就叫做结果标签,那么用y=1表示圆圈,用y=-1表示叉叉,也就是说,直线下面的点,其y的取值都为-1,直线上面的点,其y的取值都为1(在logistic模型中,我们会习惯于用0和1来表示两个类别,这里为什么是用-1和1呢?答案在下一集中),那么上面的标准就可以转化成数学语言:


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数说工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分类战车SVM
    • (第二话:线性分类)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档