支持向量机(SVM)是一种监督学习算法,主要用于分类任务,但也适用于回归任务。
SVM通过绘制决策边界来区分类。如何绘制或确定决策边界是SVM算法中最关键的部分。在创建决策边界之前,将每个观察值(或数据点)绘制在n维空间中。" n"是所使用功能的数量。例如,如果我们使用"长度"和"宽度"对不同的"单元格"进行分类,则观察结果将绘制在二维空间中,并且决策边界为一条线。如果我们使用3个要素,则决策边界是3维空间中的平面。如果我们使用3个以上的特征,则决策边界将变成一个很难可视化的超平面。> Decision boundary in 2D space is a line决策边界以与支持向量的距离最大的方式绘制。如果决策边界距离支持向量太近,它将对噪声高度敏感并且不能很好地泛化。即使自变量的很小变化也可能导致分类错误。数据点并非总是如上图所示线性可分离。在这些情况下,SVM使用内核技巧来测量较高维空间中数据点的相似性(或接近度),以使它们线性可分离。内核功能是一种相似性度量。输入是原始要素,输出是新要素空间中的相似性度量。这里的相似度表示紧密度。实际上将数据点转换为高维特征空间是一项昂贵的操作。该算法实际上并未将数据点转换为新的高维特征空间。内核化SVM无需实际进行变换就可以根据高维特征空间中的相似性度量来计算决策边界。我认为这就是为什么它也称为内核技巧。在维数大于样本数的情况下,SVM特别有效。找到决策边界时,SVM使用训练点的子集而不是所有点,从而提高了存储效率。另一方面,大型数据集的训练时间会增加,这会对性能产生负面影响。