支持向量机优化算法详解
在机器学习领域,支持向量机(SVM)是一种强大的分类和回归工具。为了更高效地使用SVM处理大规模数据集,我们需要采用一些优化策略。本文将详细介绍几种常见的SVM优化算法,包括子集选择方法和顺序最小优化算法(SMO)。
1. 维度与模式权衡及并行化
在处理大规模数据集时,我们可以利用训练集存储更大的矩阵,并在较小的数据集上继续进行优化。这个过程会一直持续,直到正则化风险函数 $R_{reg}[f]$ 不再减小,或者达到用户设定的计算限制(例如,达到用于解决优化问题的最大基函数数量)。
此外,这种优化问题的形式非常适合并行实现。我们可以使用矩阵操作库(如SCALAPACK或BLACS)在工作站集群上轻松实现矩阵乘法,从而加速SVM训练算法。
2. 停止规则
在优化过程中,我们可以使用原始目标函数(10.43)的值作为最小值的上界。具体来说,我们可以使用 $K$ 而不是 $\tilde{K}$ 来计算这个上界。不过,计算 $K$ 可能会比较耗时,因此我们并不总是希望使用这个上界。但由于它只是作为性能保证,所以这可能不是一个主要问题。
3. 子集选择方法
在许多应用中,我们可能并不追求解的高精度,或者可以合理假设大量模式要么成为边界约束的支持向量(SV),要么根本不会成为SV。在这些情况下,我们可以将优化问题分解为小的、可管理的子问题,并迭代求解。这种技术通常被称为分块(chunking)或子集选择。
3.1 分块
分块的基本思想是,只有支持向量对最终的假设形式有贡献。因此,如果我们事先知道支持向量集,并且能够将其(以及点积矩阵)存储
超级会员免费看
订阅专栏 解锁全文
1784

被折叠的 条评论
为什么被折叠?



