联系我们

AI 101

什么是支持向量机?

mm

更新

 on

什么是支持向量机?

支持向量机是一种 机器学习 分类器,可以说是最受欢迎的分类器之一。支持向量机对于数字预测,分类和模式识别任务特别有用。

支持向量机通过绘制数据点之间的决策边界进行操作,以使数据点最好地划分为类(或最通用)的决策边界为目标。使用支持向量机的目的是要使这些点之间的决策边界尽可能大,以使任何给定数据点与边界线之间的距离最大化。这是关于如何 支持向量机(SVM) 操作,但让我们花一些时间深入研究SVM的操作方式并了解其操作背后的逻辑。

支持向量机的目标

想象一下一个基于X和Y轴指定特征的图形,上面有许多数据点。可以将图上的数据点大致分为两个不同的群集,数据点所属的群集指示该数据点的类别。现在假设我们要沿着一条图向下画一条线,以将两个类彼此分开,一个类中的所有数据点都在该行的一侧,而属于另一类的所有数据点则在另一侧。的线。该分隔线称为超平面。

您可以将支持向量机视为在整个城市中创建“道路”,将城市分为道路两侧的区域。在道路的一侧找到的所有建筑物(数据点)都属于一个区域。

支持向量机的目标不仅是绘制超平面并划分数据点,而且还要绘制超平面以分隔线和任何给定数据点之间具有最大裕度或最大间距的分离数据点。回到“道路”的隐喻,如果城市规划者为高速公路制定计划,他们不希望高速公路离房屋或其他建筑物太近。高速公路与两侧建筑物之间的余量越大,效果越好。此余量越大,分类器对其预测的“信心”就越大。在二进制分类的情况下,绘制正确的超平面意味着选择仅位于两个不同类中间的超平面。如果决策边界/超平面距离一类较远,则它将更接近另一类。因此,超平面必须平衡两个不同类别之间的余量。

计算分离的超平面

那么,支持向量机如何确定最佳的分离超平面/决策边界?这可以通过使用数学公式计算可能的超平面来实现。我们不会介绍计算超平面的公式 极其详细,但该线是使用著名的坡度/线公式计算的:

Y =轴+ b

同时,线是由点组成的,这意味着任何超平面都可以描述为:与建议的超平面平行延伸的点集,由模型的权重乘以指定偏移量/偏置修改的特征集确定(“ d”)。

支持向量机绘制许多超平面。例如,边界线是一个超平面,但是分类器考虑的数据点也位于超平面上。 x的值基于数据集中的特征确定。例如,如果您有一个包含许多人的身高和体重的数据集,则“身高”和“体重”要素将是用于计算“ X”的要素。拟议的超平面与在划分的超平面的任一侧找到的各种“支持向量”(数据点)之间的裕度可通过以下公式计算:

宽*高– b

虽然您可以阅读更多有关SVM背后的数学知识的信息,但是,如果您希望对它们进行更直观的了解,只需知道目标是使建议的分离超平面/边界线和与其平行延伸的其他超平面之间的距离最大(并在上面找到数据点)。

Photo: ZackWeinberg via Wikimedia Commons, CC BY SA 3.0 (//commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

多类别分类

到目前为止描述的过程适用于二进制分类任务。但是,SVM分类器也可以用于非二进制分类任务。在具有三个或更多类别的数据集上进行SVM分类时,将使用更多边界线。例如,如果分类任务具有三个类别而不是两个类别,则将使用两条分隔线将数据点划分为多个类别,而包含单个类别的区域将落在两条分隔线之间,而不是一个。分类器不仅要计算仅两个类和一个决策边界之间的距离,还必须考虑数据集内决策边界和多个类之间的边距。

非线性分离

上述过程适用于数据是线性可分离的情况。请注意,实际上,数据集几乎永远无法完全线性分离,这意味着在使用SVM分类器时,您经常需要使用 两种不同的技术: 软边距和内核技巧。 考虑一种情况,其中不同类别的数据点混合在一起,而某些实例属于另一个类别的“集群”中的一个类别。您如何让分类器处理这些实例?

可用于处理非线性可分离数据集的一种策略是“软边距” 支持向量机分类器的应用。软边距分类器通过接受一些错误分类的数据点来进行操作。它将尝试画一条线,以最好地将数据点的群集彼此分开,因为它们包含属于各自类的大多数实例。软边距SVM分类器尝试创建一条分界线,以平衡分类器的两个需求:准确性和边距。它将尝试最大程度地减少错误分类,同时也使利润最大化。

支持向量机的错误容限可以通过操纵称为“ C”的超参数来调整。 C值控件 分类器在绘制决策边界时会考虑多少个支持向量。 C值是对错误分类的惩罚,这意味着C值越大,分类器考虑的支持向量越少,边距越窄。

The kernel tricks data the data 和 transforms it in a nonlinear fashion. Photo: Shiyu Ju via Wikmedia Commons, CC BY SA 4.0 (//commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

内核技巧通过对数据集中的要素应用非线性变换来进行操作。内核技巧将利用数据集中的现有特征并通过应用非线性数学函数来创建新特征。这些非线性变换的应用结果是一个非线性决策边界。由于SVM分类器不再局限于绘制线性决策边界,因此可以开始绘制弯曲的决策边界,从而更好地封装了支持向量的真实分布并将错误分类降至最低。径向基函数和多项式是两个最受欢迎的SVM非线性内核。多项式函数创建所有现有特征的多项式组合,而径向基函数通过测量一个或多个中心点到所有其他点之间的距离来生成新特征。

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。