书名:计算机视觉40例从入门到深度学习:OpenCV-Python
作者:李立宗
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857
第15章 机器学习导读
15.3 OpenCV中的机器学习模块
15.3.7 支持向量机
1、定义
- 支持向量机(Support Vector Machine,SVM)是一种二分类模型,目标是寻找一个标准(称为超平面)对样本数据进行分割,分割原则是确保分类最优化(类别之间的间隔最大)。
SVM在分类时,先把无法线性分割的数据映射到高维空间,然后在高维空间找到分类最优的线性分类器。
2、分类器
-
图15-32中用于划分不同类别的直线就是分类器。
在构造分类器时,非常重要的一项工作就是找到最优分类器。
例如,图15-32中的三个分类器,哪一个更好呢?
从直观上,我们可以发现图15-32(b)所示分类器和图15-32(d)所示分类器都偏向某一类别(与某一类别的间距更小),而图15-32(c)所示分类器实现了均分。
图15-32(c)所示分类器尽量让两类别离自己一样远,为每个类别都预留了等量的扩展空间,当有新的靠近边界的点进来时,能够更合理地将其按照位置划分到对应的类别内。
图15-32 分类器
3、如何找到SVM
-
以上述划分为例,介绍如何找到SVM。
在已有数据中,找到离分类器最近的点,确保它们离分类器尽可能地远。
例如,图15-33左下角图像中的分类器符合上述要求。
图15-33 分类器距离示意图
4、支持向量
-
支持向量示意图如图15-34所示,离分类器最近的点叫作支持向量(Support Vector)。
离分类器最近的点到分类器的距离和(两个异类支持向量到分类器的距离和)称为间隔(Margin)。
我们希望间隔尽可能地大,间隔越大,分类器对数据的处理越准确。
支持向量决定了分类器所在的位置。
图15-34 支持向量示意图
5、SVM
-
SVM是由支持向量和机器构成的。
● 支持向量是指离分类器最近的点,这些点位于最大间隔上。通常情况下,分类仅依靠这些点完成,与其他点无关。
● 机器是指分类器。 -
也就是说,SVM是一种基于关键点的分类算法。
网友评论