Diagonal NMF (libnmfd.core.nmfdiag)¶
- libnmfd.core.nmfdiag.nmf_diag(V: numpy.ndarray, cost_func: str = 'KLDiv', num_iter: int = 30, init_W: Optional[numpy.ndarray] = None, init_H: Optional[numpy.ndarray] = None, fix_W: bool = False, cont_polyphony: int = 5, cont_length: int = 10, cont_grid: int = 5, cont_sparsen: Tuple = (1, 1), vis: bool = False) → Tuple[numpy.ndarray, numpy.ndarray][source]¶
- Given a non-negative matrix V, find non-negative matrix factors W and H such that V ~ WH. Possibly also enforce continuity constraints. - References - [1] Lee, DD & Seung, HS. “Algorithms for Non-negative Matrix Factorization” - [2] Sebastian Ewert and Meinard Müller Using score-informed constraints for NMF-based source separation In Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP): 129–132, 2012. - Parameters
- V (np.ndarray) – N x M matrix to be factorized 
- cost_func (str, default=KLDiv) – Distance measure which is used for the optimization. Values are ‘EucDist’ for Euclidean, or ‘KLDiv’ for KL-divergence. 
- num_iter (int, default=30) – Number of iterations the algorithm will run. 
- init_W (np.ndarray, default=None) – Initialized W matrix 
- init_H (np.ndarray, default=None) – Initialized H matrix 
- fix_W (bool, default=False) – Set True if templates W should be constant during the update process. 
- cont_polyphony (int, default=5) – Parameter to control continuity in terms of polyphony. 
- cont_length (int, default=10) – Number of templates which should be activated successively for enforced continuity constraints. 
- cont_grid (int, default=5) – Indicates in which iterations of the NMF update procedure the continuity constraints should be enforced. 
- cont_sparsen (Tuple, default=(1, 1)) – Parameter to control sparsity in terms of polyphony. 
- vis (bool, default=False) – Set True for visualization. 
 
- Returns
- W (np.ndarray) – NxK non-negative matrix factor 
- H (np.ndarray) – KxM non-negative matrix factor