存根 什么是支持向量机? - 联合人工智能
关注我们.

AI 101

什么是支持向量机?

mm
更新 on

什么是支持向量机?

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

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

支持向量机的目标

想象一个图表,上面有许多数据点,这些数据点基于 X 轴和 Y 轴指定的特征。 图上的数据点可以松散地分为两个不同的簇,数据点所属的簇指示数据点的类别。 现在假设我们想在图表中画一条线将两个类彼此分开,一个类中的所有数据点在线的一侧找到,而属于另一类的所有数据点在线的另一侧找到的线。 这条分隔线称为超平面。

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

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

计算分离超平面

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

Y = 轴 + b

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

SVM 绘制许多超平面。 例如,边界线是一个超平面,但分类器考虑的数据点也在超平面上。 x 的值是根据数据集中的特征确定的。 例如,如果您有一个包含许多人的身高和体重的数据集,则“身高”和“体重”特征将是用于计算“X”的特征。 提议的超平面与分割超平面两侧的各种“支持向量”(数据点)之间的边距使用以下公式计算:

W * X – b

虽然您可以阅读有关支持向量机背后的数学的更多信息,但如果您想更直观地了解它们,只需知道目标是最大化建议的分离超平面/边界线与与其平行的其他超平面之间的距离(并在其上找到数据点)。

照片:ZackWeinberg,来自 Wikimedia Commons,CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

多类分类

到目前为止描述的过程适用于二元分类任务。 然而,SVM 分类器也可用于非二元分类任务。 当对具有三个或更多类的数据集进行 SVM 分类时,会使用更多的边界线。 例如,如果分类任务具有三个类别而不是两个类别,则将使用两条分界线将数据点划分为类别,并且包含单个类别的区域将落在两条分界线(而不是一条分界线)之间。 分类器现在必须考虑决策边界与数据集中的多个类之间的边距,而不是仅仅计算两个类和决策边界之间的距离。

非线性分离

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

可用于处理非线性可分离数据集的一种策略是应用“软间隔”SVM 分类器。 软边缘分类器通过接受一些错误分类的数据点来运行。 它将尝试画一条线来最好地将数据点簇彼此分开,因为它们包含属于各自类的大多数实例。 软间隔 SVM 分类器尝试创建一条分界线来平衡分类器的两个需求:准确性和间隔。 它将尝试最小化错误分类,同时最大化余量。

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

内核对数据进行欺骗,并以非线性方式对其进行转换。 照片:Shiyu Ju,来自 Wikmedia Commons,CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

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

博主和程序员,擅长 机器学习 深度学习 主题。 丹尼尔希望帮助其他人利用人工智能的力量造福社会。