什么是支持向量机?
什么是支持向量机?
支持向量机(SVM)是一种机器学习算法,通过分析和筛选 n 维空间中的数据点对数据进行分类。所有机器学习(ML)模型都会分析训练数据并尝试找到数据之间的关系。然后,使用这些关系来预测新的未知输入的输出。支持向量机在 n 维空间中绘制数据点,然后尝试找到将这些点分成不同数据类别的超平面或数据空间。它需要使用带标签的数据进行训练,以进行适当的分类。还可用于回归分析,以预测未知输入值的确切输出值(而不是类别)。
支持向量机有哪些使用案例?
支持向量机算法主要用于二元数据分类。二元数据分类意味着确定数据点是来自 A 组还是 B 组。其他使用案例包括:
- 面部检测
- 手写识别
- 语音识别
- 图像篡改判定
- 医学分类
- 招聘测试
- 天气预报。
示例应用程序
SVM 算法在二进制数据分类中有用的一个例子是确定给定剂量的药物是否有效。剂量太低,问题或状况仍然存在。药物剂量过高,副作用大于获益。这里,剂量是一维输入数据(例如 100mg、250mg、400mg)。但是,要将数据分成两个类别或组(有效和无效),我们不能对数据使用线性分类器。相反,我们可以将数据映射到 x 和 y 轴,然后通过特征映射函数或内核函数将其转换为二维空间。
对历史数据的分析表明,将值(x)进行平方运算获得相应的 y 值时,是衡量有效性的良好指标。将新的值绘制在二维空间中,可以显示出在哪里能够画出一条线性可分的直线,以区分两个类别:有效剂量和非有效剂量。
支持向量机是如何运作的?
当数据点无法用简单的线性逻辑回归算法拟合时,可能还有另一种方法可以将数据分成两部分,这样它才能更好地拟合,从而获得更好的输出估计值。SVM 算法的工作原理是将数据转换到更高维度的空间,帮助找到实现更好拟合度的切分方法。SVM 有多种不同的类型,但是无论其背后的算法如何,这个基本前提都是相同的。SVM 更依赖于数学,而不是计算机科学。
超平面
超平面是基于直线的平面,将支持向量机的数据点分为两个类别。当数据绘制到具有两个轴(x 和 y)的空间上时,超平面使用一条简单的直线将两种不同的数据类别分开(一种在上方,一种在下方)。
当数据绘制到三维空间时,线性可分数据的超平面是一个平面,就像一张纸一样,数据按落在该超平面的上方还是下方进行分类。在 n 维空间中,是另一个具有线性维度的超平面,用于将空间分成两个不同的区域。
决策面
在其他类型的非线性数据 SVM 中,更高维特征空间中的平面本身可能不是线性决策边界。在这些情况下,它被称为决策面。最佳超平面是两个不同类别的数据集之间尽可能远的平面,也称为最大间隔超平面。
支持向量
最接近超平面或决策面的数据点是支持向量(SV)。这些支持向量是对平面位置影响最大的点,因此在使用未知数据进行新数据分类时也是如此。离平面最近的 SV 落在间隔上。
最大间隔超平面设计为平面两侧的 SV 之间具有最宽的间隔。
不同的内核函数
内核函数允许将数据投影到更高的维度以确定超平面,从而可以对在较低维度中不够拟合特定数学函数的数据进行更准确的分类。然后,它测量较高维度中两个数据点之间的相似度。
内核技巧
内核函数将常规数据隐式转换到“n”维空间。一旦建立了超平面,他们就会计算从新点到超平面的距离。与转换数据不同,这里是通过一个数学方程来计算相似度,而不是先对新维度的数据建模。使用内核技巧函数,无需进行映射和转换。
支持向量机有哪些类型?
有多种不同类型的内核函数,导致不同类型的 SVM。其中一些内核函数不是超平面,而是使用非线性空间切分,改用决策面。
软间隔 SVM
并不总能找到一个超平面,能够干净利落地将数据划分为两个截然不同、线性可分的类别,即使是在 n 维空间中也是如此。在这种情况下,我们想使用软间隔 SVM。软间隔 SVM 对异常值不那么敏感,因此可以容忍错误的计算。在计算中代表这一点的数字是正则化参数(C)。
软间隔 SVM 与硬间隔 SVM 的不同之处在于,现有数据点可能位于超平面周围的支持向量数据点指定的间隔内。
处理异常值的其他技术包括用于移除异常值的平滑算法,例如 z 分数、缩尾处理和其他统计方法。
线性内核
线性内核或线性 SVM 可以映射数据,因此可以将其归类为落在单线上方或下方;数据是线性可分的。线性内核函数是一个简单的点积,其中 K(x,y) = x^t.y
多项式内核
到目前为止,SVM 一直被描述为使用直线超平面将空间划分为分类区域的分类算法。相反,多项式内核将数据映射到特征空间,边界是基于多项式的决策面。线性 SVM 的数学复杂度相当简单,而非线性 SVM 更为复杂,不过其复杂度仍低于卷积神经网络等模型。
相应的内核函数或 SVM 算法是 K(x,y) = (x^t.y+c)^d
其他类型的内核
高斯径向基函数内核将数据映射到无限多个维度,在无限维度中寻找最适合的决策面。sigmoid 函数内核将数据映射到双曲正切。其他较少使用的内核包括拉普拉斯内核、有理二次内核和 ANOVA 内核。
支持向量回归是一种特殊类型的 SVM,用于通过回归任务计算连续值,而不是用于分类。
AWS 能提供哪些帮助?
Amazon SageMaker 是一项完全托管的服务,提供完全托管的基础设施、工具和工作流程,支持针对各种人工智能使用案例准备数据以及构建、训练和部署机器学习模型。该服务内置了多种通用算法,可用于分类或回归问题。Amazon SageMaker 线性学习器算法解决了分类和回归问题。该算法包括八个函数,其中一个是用于二元分类问题的 SVM。
对于寻求开箱即用解决方案的组织,Amazon Comprehend 是一项完全托管的服务,使用机器学习在文本中发现宝贵的见解和联系。自定义分类 API 让您无需从头实现 SVM,即可使用特定业务标签轻松构建自定义文本分类模型。
同样,Amazon Macie 是一项带有 SVM 分类器的数据安全服务,该分类器使用机器学习和模式匹配来发现敏感数据。除了文件的元数据外,Macie 还使用 SVM 分类器对 S3 对象中的内容进行分类。Macie 使用不同内容类型的数据训练 SVM 分类器,这些数据经过优化,可支持对数据内容的准确检测,甚至包括您可能编写的源代码。
立即创建免费账户,开始在 AWS 上使用支持向量机!
Browse all cloud computing concepts
Browse all cloud computing concepts content here:
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages