2019/08/01 by Georgios Exarchakis, Jörg Bornschein, Exarchakis, Georgios +11
Computer Science · #Advanced Data Compression Techniques #Blind Source Separation Techniques #FOS: Computer and information sciences #FOS: Electrical engineering #Machine Learning (cs.LG) #Machine Learning (stat.ML) #Signal Processing (eess.SP) #Speech and Audio Processing #electronic engineering #information engineering
paper · pdf · doi:10.48550/arxiv.1908.06843
openalex publication_date 2019/08/01 · openalex created_date 2022/07/28 · openalex updated_date 2026/07/28
ProSper is a python library containing probabilistic algorithms to learn\ndictionaries. Given a set of data points, the implemented algorithms seek to\nlearn the elementary components that have generated the data. The library\nwidens the scope of dictionary learning approaches beyond implementations of\nstandard approaches such as ICA, NMF or standard L1 sparse coding. The\nimplemented algorithms are especially well-suited in cases when data consist of\ncomponents that combine non-linearly and/or for data requiring flexible prior\ndistributions. Furthermore, the implemented algorithms go beyond standard\napproaches by inferring prior and noise parameters of the data, and they\nprovide rich a-posteriori approximations for inference. The library is designed\nto be extendable and it currently includes: Binary Sparse Coding (BSC), Ternary\nSparse Coding (TSC), Discrete Sparse Coding (DSC), Maximal Causes Analysis\n(MCA), Maximum Magnitude Causes Analysis (MMCA), and Gaussian Sparse Coding\n(GSC, a recent spike-and-slab sparse coding approach). The algorithms are\nscalable due to a combination of variational approximations and\nparallelization. Implementations of all algorithms allow for parallel execution\non multiple CPUs and multiple machines for medium to large-scale applications.\nTypical large-scale runs of the algorithms can use hundreds of CPUs to learn\nhundreds of dictionary elements from data with tens of millions of\nfloating-point numbers such that models with several hundred thousand\nparameters can be optimized. The library is designed to have minimal\ndependencies and to be easy to use. It targets users of dictionary learning\nalgorithms and Machine Learning researchers.\n