机器学习之&&SVM支持向量机入门:Maximum Margin Classifier

本文是SVM的支持向量机入门笔记,介绍了SVM的概念、为何需要SVM以及最大间隔分类原理。SVM旨在解决小样本、非线性、高纬数据的模式识别问题,目标是找到最大化分类间隔的超平面。
摘要由CSDN通过智能技术生成

概率论只不过是把常识用数学公式表达了出来。

——拉普拉斯

0. 前言

这是一篇SVM的入门笔记,来自我对PlusKid、JerryLead、July等大神文章的拜读心得,说是心得还不如说是读文笔记,希望在自己理解的层面上给予SVM这个伟大的机器学习算法概要介绍,让更多的热爱机器学习的伙伴们进入到SVM的世界。PS:文章会以问答的形式为主要结构。

1.概念

1.1.什么是SVM?

支持向量机即 Support Vector Machine,简称 SVM 。(第一次接触SVM是在阿里大数据竞赛的时候,大家都在讨论用什么样的方法去挣阿里那100W的奖金(鄙人因为能力有限进入决赛阶段,但是因为模型优化问题,名落松山),SVM、LR、协同过滤等等)SVM是Vapnik和Cortes于1995年首先提出的,它旨在解决小样本、非线性、高纬(因为现实应用中的数据多为这般特性)等特性的数据特征的模式识别问题,特别在分类问题中,一直被大家认为是一种现有的可用的效果最好的分类算法之一。(甚至很多人觉得之一可以去掉,但是神经网络"大大"不愿意-。-)

1.2.为什么会有SVM?

前面已经说过了SVM在解决小样本、非线性、高纬数据上的优势,那么我们就从线性分类器开始逐步探讨为什么会有SVM的出现?

1.2.1.线性分类器

给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类。如果用x表示数据点,用y表示类别(y可以取1或者-1,分别代表两个不同的类,有些地方会选 0 和 1 ,当然其实分类问题选什么都无所谓,只要是两个不同的数字即可,不过这里选择 +1 和 -1 是为了方便 SVM 的推导,后面就会明了了),一个线性分类器的学习目标便是要在n维的数据空间中找到一个超平面(hyper plane),这个超平面的方程可以表示为( wT中的T代表转置):

(为什么会有这个形式化表示的超平面方程,请猛戳这里)

一个超平面,在二维空间中的例子就是一条直线。我们希望的是,通过这个超平面可以把两类数据分隔开来,比如,在超平面一边的数据点所对应的  y  全是 -1 ,而在另一边全是 1 。具体来说,我们令  f(x)=wTx+b  ,显然,如果  f(x)=0  ,那么  x  是位于超平面上的点。我们不妨要求对于所有满足  f(x)<0  的点,其对应的  y  等于 -1 ,而  f(x)>0  则对应  y=1  的数据点。当然,有些时候(或者说大部分时候)数据并不是线性可分的,这个时候满足这样条件的超平面就根本不存在,不过关于如何处理这样的问题我们后面会讲(SVM核函数的出现),这里先从最简单的情形开始推导,就假设数据都是线性可分的,亦即这样的超平面是存在的。

如下图所示,两种颜色的点分别代表两个类别,红颜色的线表示一个可行的超平面。在进行分类的时候,我们将数据点  x 代入  f(x)  中,如果得到的结果小于 0 ,则赋予其类别 -1 ,如果大于 0 则赋予类别 1 。如果  f(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值