skscope: Fast Sparsity-Constrained Optimization in Python (2403.18540v3)
Abstract: Applying iterative solvers on sparsity-constrained optimization (SCO) requires tedious mathematical deduction and careful programming/debugging that hinders these solvers' broad impact. In the paper, the library skscope is introduced to overcome such an obstacle. With skscope, users can solve the SCO by just programming the objective function. The convenience of skscope is demonstrated through two examples in the paper, where sparse linear regression and trend filtering are addressed with just four lines of code. More importantly, skscope's efficient implementation allows state-of-the-art solvers to quickly attain the sparse solution regardless of the high dimensionality of parameter space. Numerical experiments reveal the available solvers in skscope can achieve up to 80x speedup on the competing relaxation solutions obtained via the benchmarked convex solver. skscope is published on the Python Package Index (PyPI) and Conda, and its source code is available at: https://github.com/abess-team/skscope.
- Greedy sparsity-constrained optimization. Journal of Machine Learning Research, 14(25):807–841, 2013.
- Automatic differentiation in machine learning: a survey. Journal of Marchine Learning Research, 18:1–43, 2018.
- Sparsity constrained nonlinear optimization: Optimality conditions and algorithms. SIAM Journal on Optimization, 23(3):1480–1509, 2013.
- Orthogonal matching pursuit for sparse signal recovery with noise. IEEE Transactions on Information theory, 57(7):4680–4688, 2011.
- CVXPY: a python-embedded modeling language for convex optimization. Journal of Machine Learning Research, 17(83):1–5, 2016.
- Simon Foucart. Hard thresholding pursuit: an algorithm for compressive sensing. SIAM Journal on numerical analysis, 49(6):2543–2563, 2011.
- Compiling machine learning programs via high-level tracing. Systems for Machine Learning, 4(9), 2018.
- Gurobi Optimization, LLC. Gurobi optimizer reference manual, 2022. URL https://www.gurobi.com.
- Steven G Johnson. The nlopt nonlinear-optimization package, 2014.
- Forward-backward greedy algorithms for general convex smooth functions over a cardinality constraint. In International Conference on Machine Learning, pages 503–511. PMLR, 2014.
- Automatic differentiation in pytorch. 2017.
- Louis B Rall. Automatic differentiation: Techniques and applications. Springer, 1981.
- A tight bound of hard thresholding. Journal of Machine Learning Research, 18(1):7650–7691, 2017. ISSN 1532-4435.
- Robust variable selection with exponential squared loss. Journal of the American Statistical Association, 108(502):632–643, 2013. doi: 10.1080/01621459.2013.766613. PMID: 23913996.
- Sparsity-constrained optimization via splicing iteration. Submitted, 2023.
- High-dimensional feature selection by feature-wise kernelized lasso. Neural Computation, 26(1):185–207, 2014.
- Dual iterative hard thresholding. Journal of Machine Learning Research, 21(1), jan 2020. ISSN 1532-4435.
- Global and quadratic convergence of newton hard-thresholding pursuit. Journal of Marchine Learning Research, 22(12):1–45, 2021.
- abess: a fast best-subset selection library in Python and R. Journal of Machine Learning Research, 23(1):9206–9212, 2022.