01
想了解更多好玩的人工智能应用,请关注公众号“机器AI学习 数据AI挖掘”,”智能应用"菜单中包括:颜值检测、植物花卉识别、文字识别、人脸美妆等有趣的智能应用。。
支持向量机(SVM)是可用于分类和回归的监督学习方法。在本文中,我们将讨论如何在RAPIDS cuML中使用SVM软件包在 GPU 上执行快速支持向量分类。一些数据科学家回避尝试使用SVM,因为它们的运行时复杂性在样本数量上呈二次增长,并且在CPU上可能变得相当慢。相对于scikit-learning SVM ,cuML SVM可以提供500倍的加速, 比 CPU上的多线程ThunderSVM库快50倍 。使用GPU加速版本,大型SVM变得非常实用,并且可以在几分钟内进行百万个示例的培训。
我们将首先简要概述SVM,然后演示如何使用cuML SVM。之后,我们提出基准以证明其性能。最后,我们将解释如何在cuML中实施培训。
支持向量分类
SVM是灵活的分类器,它基于大余量分类器 的思想 与 内核技巧的结合 ,建立了 稀疏的ML模型。尽管这本身就是一个很漂亮的话题,但我们将不涉及SVM的理论。有兴趣的读者可以参考Bishop的 教科书 或Cortes和Vapnik的原始论文 。也有一些博客文章 介绍了SVM。
在一个简单的示例中,很容易直观地了解SVM的功能。下图显示了具有两个类别的2D数据集,分别标记为+1和-1(蓝色和橙色点)。线性SVM将用直线分隔数据集,选择该直线以使其与任何数据点的距离最大。分隔符左侧的点分类为+1,而右侧的点分类为-1。重要的是要注意,我们仅需要从数据集中定义分隔线的几个样本:最靠近分隔符(x 1,x 2,x 3)的样本。这些是支持向量。分隔符的法线向量(w)可以表示为这些向量的线性组合。