内容简介:作为模式识别或者机器学习的爱好者,同学们一定听说过支持向量机这个概念,这可是一个,在机器学习中避不开的重要问题。但如果选用的是SVM,它是单纯从可靠的数学理论推导出来的,可解释性较好,那用户对这类产品的选择率会更高。
作为模式识别或者机器学习的爱好者,同学们一定听说过支持向量机这个概念,这可是一个,在机器学习中避不开的重要问题。
其实关于这个知识点,有一则很通俗有趣的传说:
很久以前,一个村庄里住着一位退隐的大侠,相传大侠的剑法非常高明。
在一个月黑风高的夜晚,魔鬼抓走了大侠的妻子。大侠取出尘封多年的剑,来到魔鬼的城堡要救他的妻子。但是魔鬼却提出要求,要和他玩一个游戏。
魔鬼在桌子上放了两种颜色的球,说:“用你手中的剑分开它们,要求是尽量在放更多球之后,仍然适用。”
大侠拔出利剑一挥,桌上出现一道裂痕,准确地分开了两种球。
然后魔鬼又在桌上放了更多的球,大侠如法炮制,手起刀落,虽然有一个球没有准确划分,但依然干得漂亮。
大侠发现,剑痕的最佳位置,就是让剑痕离两边的球都有尽可能大的间隙。
有了这样的思想,现在即使魔鬼放了再多的球,就仍然能够很好地划出分界线。
当然,魔鬼不会善罢甘休,于是把一堆球随手一扔:把它们分开。
大侠看到这样摆放的球,也是有点懵逼的。就在魔鬼开启嘲讽模式时,大侠想到了新的办法。
他左手在桌上一拍,球飞到空中。然后,凌空腾起,用手中的剑划出一道光波,恰好穿过两种球的中间。
从魔鬼的角度看这些球,它们看起来像是被一条曲线分开了。
大侠救回了妻子,然后故事在村里传开了,并被杜撰成了美丽的故事。也就成了现在的支持向量机传说。
听完这个故事,是不是对支持向量机有了一些更加感性的认知?
今天,班主任就来给大家详细讲一讲线性支持向量机问题。
支持向量机SVM
支持向量机(Support Vector Machine,以下简称SVM)主要用于解决模式识别领域中的数据分类问题,它属于有监督学习算法的一种。
SVM要解决的问题可以用一个经典的二分类问题加以描述,也就是我们在开头讲的那则传说。如图a所示,在二维坐标中有一堆红色的球和蓝色的球,能否用一条直线将它们分开呢?显然是可以的,而且满足这一条件的直线也显然不止一条。
这类问题在模式识别领域称为线性可分问题。
支持向量
图b和c分别给出了两种不同的分类方案,其中黑色实线为分界线,称为 “决策面” 。
不同的分类器(比如说决策树、神经网络,逻辑回归)会给出不同的分类边界,而它们都是在找一个“最好的”的决策边界 。 SVM的意义也是如此。
以图(b)为例,虚线的位置由 决策面的方向 和 距离决策面最近的几个样本的位置 决定。两条虚线之间的垂直距离,就是这个决策面对应的分类间隔。
显然,每一个可能把数据集正确分开的方向都有一个最优决策面。而不同方向最优决策面,它们的分类间隔通常是不同的。那个具有“最大间隔”的决策面就是SVM要寻找的最优解。而这个最优解对应的两侧虚线所穿过的样本点,就是SVM中的支持样本点,称为 支持向量 。
回到图(b)中的数据,A决策面就是SVM寻找的最优解,而相应的三个位于虚线上的样本点,在坐标系中对应的向量就叫做支持向量。
最佳决策边界
那么如何判断一个决策边界好呢?让我们来看一下SVM的关键假设:决策边界两边最近的样本到决策边界的间隔最大,此时的决策边界为最佳决策边界。
间隔
以上举例为二维平面中的例子。而在样本空间中,划分超平面可通过如下线性方程来描述:
其中w为法向量,决定了超平面的方向;b为位移量,决定了超平面与原点的距离。而对于训练样本(xi,yi),则满足以下公式:
公式(2)称为 最大间隔假设 ,yi=+1 表示样本为正样本,yi=−1 表示样本为负样本。
再经过一系列的变形,可以求出间隔的最终表达式
间隔最大化
SVM的思想是使得间隔最大化,也就是:
显然,最大化 2||w|| 相当于最小化 ||w||,公式(6)可以转化成:
公式(7)即为支持向量机的基本型。
对偶问题的解决方法——拉格朗日乘子式
看到这类带约束的最小值问题,很自然我们想到了拉格朗日乘子法。
由此最终求解可以得到模型:
从这个结论里我们可以看出支持向量机的重要特征:当训练完成后,大部分样本都不需要保留,最终模型只与支持向量有关。
应用场景
近年来SVM已经在图像识别、信号处理、基因图谱识别等方面得到了广泛的应用,例如在 无人驾驶技术 中,需要对路面箭头指示进行识别,这里就用到了SVM。
又比如,方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中,进行物体检测的特征描述子。如今,HOG特征结合SVM分类器已经被广泛应用于图像识别中,尤其是在 行人检测 中,获得了极大的成功。
支持向量机 VS 深度学习
SVM和深度学习(DeepLearning,以下简称DL)相比,有哪些特点和适用场景呢?
一般来说,SVM在解决 中小数据规模 (相对少)、 非线性 (惩罚变量)、 高维 (核函数)模式识别方面,具有较大的优势。DL处理的对象主要为图像和声音,其优势在于对 原始特征 的表示。
但是神经网络相当于一个黑盒模型,在一些关键的应用场合,会有较高的风险。
例如在智能医疗方面,一个医生使用了基于深度学习的系统,却由于神经网络的“黑盒”特性,无法向患者解释诊断原理,那用户极有可能会因为高风险而拒绝。
但如果选用的是SVM,它是单纯从可靠的数学理论推导出来的,可解释性较好,那用户对这类产品的选择率会更高。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- JustAuth 1.15.5 发布!快快看过来
- 一个老程序员过来的经验之谈
- 新技术太多,学不过来怎么办?
- redis的zset有多牛?请把耳朵递过来
- 一个请求过来都经过了什么(2017 年 http 版)
- 操作系统复习看过来-学生深入浅出串讲OS
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。