在机器学习中支持向量机(SVM)
支持向量机是最受欢迎的机器学习算法之一。它高效且可以在有限数据集上进行训练。但是它是什么呢? 支持向量机(SVM)是什么? 支持向量机是一种使用监督学习创建用于二元分类的算法。这听起来有点复杂。本文将解释SVM及其与自然语言处理的关系。但首先,让我们分析一下支持向量机的工作原理。 SVM如何工作? 考虑一个简单的分类问题,我们有一个具有两个特征x和y以及一个输出(分类为红色或蓝色)的数据。我们可以绘制一个虚拟的数据集,看起来像这样: 在给定这样的数据的情况下,任务是创建一个决策边界。决策边界是一个将数据点的两个类别分开的线。这是相同的数据集,但加上了决策边界: 有了这个决策边界,我们就可以根据数据点相对于决策边界的位置对其所属类别进行预测。支持向量机算法创建了最佳的决策边界,用于分类数据点。 但是,什么是最佳的决策边界呢? 可以说,最佳的决策边界是使其与支持向量之一的距离最大化的决策边界。支持向量是与相反类别最接近的数据点。由于其接近其他类别,这些数据点因其最易被错误分类而造成最大的风险。 因此,支持向量机的训练涉及试图找到最大化支持向量之间间隔的线。 还需要注意的是,由于决策边界的位置是相对于支持向量而定的,它们是决策边界位置的唯一确定因素。其他数据点因此是多余的。因此,训练只需要支持向量。 在这个例子中,形成的决策边界是一条直线。这仅因为数据集只有两个特征。当数据集具有三个特征时,形成的决策边界是一个平面而不是一条直线。当数据集具有四个或更多特征时,决策边界被称为超平面。 非线性可分数据 上面的例子考虑了非常简单的数据,当绘制出来时,可以通过一条线性决策边界分离。考虑另一种情况,其中数据如下所示: 在这种情况下,使用一条线分离数据是不可能的。但是我们可以创建另一个特征z。这个特征可以由方程z =…