1. A method for reconstructing at least one target signal from an input signal corrupted by noise, the method comprising: determining a first set of feature vectors from the input signal, the first set of feature vectors forming a non-negative input matrix representing signal characteristics of the input signal; determining a second set of feature vectors from the first set of feature vectors, the second set of feature vectors forming a non-negative noise matrix representing noise characteristics of the input signal; decomposing the input matrix into a sum of a first matrix and a second matrix, the first matrix representing a product of a non-negative bases matrix and a non-negative weight matrix, and the second matrix representing a combination of the noise matrix and a noise weight vector; and reconstructing the at least one target signal based on the non-negative bases matrix and the non-negative weight matrix.