Skip to content

Latest commit

 

History

History
63 lines (41 loc) · 2.26 KB

README.md

File metadata and controls

63 lines (41 loc) · 2.26 KB

deComP

Travis Status for fujii-team/deComP

Python Library for Large Scale Matrix Decomposition with GPU.

What is deComP

deComP is a compilation of matrix decomposition and deconvolution algorithms, especially for large scale data.

We compiled (and updated) several algorithms that utilizes numpy's parallelization capacity as much as possible.

Furthermore, deComP is also compatible to CuPy, which gives numpy-like interface for gpu computing.

Matrix decomposition

Matrix decomposition problem is the following optimization problem, ,
where Y is a given data matrix, with the shape of [n_samples, n_features]. C is the excitation matrix [n_samples, n_latent] while is a basis matrix [n_latent, n_features].

Therefore, the matrix decomposition is a model to find the best matched basis for data Y.

Sometimes, some regularization is applied to the excitation matrix (the second term of the above equation), so that C becomes sparse and can be over-complete.

Implemented models

Currently, we implemented

All the models support complex values as well as real values. It also supports missing values.

Algorithms

Most of the above algorithms uses iterations of conditional optimization, i.e. first optimize C with fixed and second optimize with fixed C.

The optimization of C matrix is essentially LASSO problem. We also implemented GPU version of the Lasso solvers.

Requirements

The official requirements are only numpy and chainer. However, in order to work on GPU, we recommend to install cupy.