On the Robustness of the Successive Projection Algorithm
Giovanni Barbarino, Nicolas Gillis
Code Available — Be the first to reproduce this paper.
ReproduceCode
- gitlab.com/ngillis/robustSPAOfficialnone★ 0
Abstract
The successive projection algorithm (SPA) is a workhorse algorithm to learn the r vertices of the convex hull of a set of (r-1)-dimensional data points, a.k.a. a latent simplex, which has numerous applications in data science. In this paper, we revisit the robustness to noise of SPA and several of its variants. In particular, when r 3, we prove the tightness of the existing error bounds for SPA and for two more robust preconditioned variants of SPA. We also provide significantly improved error bounds for SPA, by a factor proportional to the conditioning of the r vertices, in two special cases: for the first extracted vertex, and when r 2. We then provide further improvements for the error bounds of a translated version of SPA proposed by Arora et al. (''A practical algorithm for topic modeling with provable guarantees'', ICML, 2013) in two special cases: for the first two extracted vertices, and when r 3. Finally, we propose a new more robust variant of SPA that first shifts and lifts the data points in order to minimize the conditioning of the problem. We illustrate our results on synthetic data.