在实践中,即使在属性数量大于观察数量的情况下,SVM 也倾向于抵抗过度拟合的原因是它使用了正则化。避免过度拟合的关键在于仔细调整正则化参数,在非线性 SVM 的情况下,仔细选择内核和调整内核参数。C
SVM 是泛化误差界限的近似实现,它取决于边距(本质上是从决策边界到每个类最近的模式的距离),但与特征空间的维度无关(这就是为什么使用内核技巧将数据映射到一个非常高维的空间并不是一个看起来很糟糕的主意)。因此,原则上SVM 应该对过度拟合具有很强的抵抗力,但实际上这取决于对和内核参数的仔细选择。可悲的是,在调整超参数时也很容易发生过度拟合,这是我的主要研究领域,请参阅C
GC Cawley 和 NLC Talbot,通过超参数的贝叶斯正则化防止模型选择中的过度拟合,机器学习研究杂志,第 8 卷,第 841-861 页,2007 年 4 月。(www)
和
GC Cawley 和 NLC Talbot,模型选择中的过度拟合和性能评估中的后续选择偏差,机器学习研究杂志,2010 年。研究,第一卷。11,第 2079-2107 页,2010 年 7 月。 ( www )
这两篇论文都使用核岭回归,而不是 SVM,但同样的问题也很容易出现在 SVM 上(类似的界限也适用于 KRR,因此在实践中它们之间没有太多选择余地)。所以在某种程度上,SVM 并没有真正解决过拟合的问题,它们只是将问题从模型拟合转移到了模型选择上。
通过首先执行某种特征选择来使 SVM 的生活更轻松通常是一种诱惑。这通常会使事情变得更糟,因为与 SVM 不同,特征选择算法往往会随着属性数量的增加而表现出更多的过拟合。除非您想知道哪些是信息属性,否则通常最好跳过特征选择步骤而只使用正则化以避免过度拟合数据。
简而言之,只要正确调整正则化参数,就具有 120 个观测值和数千个属性的问题使用 SVM(或其他正则化模型,如岭回归、LARS、Lasso、弹性网络等)没有固有问题。