Visual Diagnostics for Constrained Optimisation with Application to Guided Tours
H. Sherry Zhang, Dianne Cook, Ursula Laa, Nicolas Langrené and Patricia Menéndez
, The R Journal (2021) 13:2, pages 624-641.
Abstract A guided tour helps to visualise high-dimensional data by showing low-dimensional projec tions along a projection pursuit optimisation path. Projection pursuit is a generalisation of principal component analysis in the sense that different indexes are used to define the interestingness of the projected data. While much work has been done in developing new indexes in the literature, less has been done on understanding the optimisation. Index functions can be noisy, might have multiple local maxima as well as an optimal maximum, and are constrained to generate orthonormal projection frames, which complicates the optimization. In addition, projection pursuit is primarily used for exploratory data analysis, and finding the local maxima is also useful. The guided tour is especially useful for exploration because it conducts geodesic interpolation connecting steps in the optimisation and shows how the projected data changes as a maxima is approached. This work provides new visual diagnostics for examining a choice of optimisation procedure based on the provision of a new data object which collects information throughout the optimisation. It has helped to diagnose and fix several problems with projection pursuit guided tour. This work might be useful more broadly for diagnosing optimisers and comparing their performance. The diagnostics are implemented in the R package ferrn.
Received: 2021-04-12; online 2021-12-15, supplementary material, (41.5 MiB)@article{RJ-2021-105, author = {H. Sherry Zhang and Dianne Cook and Ursula Laa and Nicolas Langrené and Patricia Menéndez}, title = {{Visual Diagnostics for Constrained Optimisation with Application to Guided Tours}}, year = {2021}, journal = {{The R Journal}}, doi = {10.32614/RJ-2021-105}, url = {https://doi.org/10.32614/RJ-2021-105}, pages = {624--641}, volume = {13}, number = {2} }