为什么 SVM 可以很好地处理高维数据?

数据挖掘 支持向量机
2022-01-20 18:03:58

我很难理解为什么 SVM 可以很好地处理高维数据,当 p >> n 时的情况。

我读到以下内容:SVM 是自动正则化的。您不必选择正则化参数,因为选择最宽的分隔边距是一种自动正则化的方法。

但是我不明白为什么这意味着 SVM 在这种类型的数据上运行良好。此外,我还了解到最大化边距的优化问题不取决于尺寸,那么取决于什么?

2个回答

高维数据一直存在的危险是过度拟合。当特征很多(p)而样本相对较少(n)时,模型很容易找到特征和目标之间的虚假关系。

这个问题有两种通用的解决方案:降维和正则化。降维会减少训练前的特征数量。正则化会惩罚模型增加复杂性。例如,线性模型中通常使用L1L2正则化来惩罚系数的大小。这鼓励模型通过将其系数降低为零来“忽略”某些特征。

所以直接回答你的问题:SVM 之所以能很好地处理高维数据,是因为它们是自动正则化的,而正则化是一种防止高维数据过度拟合的方法。

不确定您的陈述来自哪里,但您需要考虑 SVM 背后的想法以及它如何回答您的问题。

这是摘要:

  1. SVM 方法实际上是将数据映射到比数据集更高的维度空间 - 以实现更好的可分离性。你可以参考内核技巧文章。SVM 的优势在于它的工作速度更快,并且只有靠近边界的样本才会影响分离超平面。

  2. 任何模型的成功都取决于正确的参数化,并且在 SVM 的情况下 - 正确的内核选择。这是ISL book中 SVM 欠拟合和过拟合的示例。您也可以在那里阅读有关正则化的信息。 在此处输入图像描述

  3. 正如评论中所指出的 - 没有免费的午餐,相同的 SVM 设置可以解决某些问题而失败其他问题。唯一的方法是在你拥有的特定数据集上进行几次实验并观察自己的质量。