NMF algorithms proposed by Kim et al. (2007) that enforces sparsity constraint on the basis matrix (algorithm SNMF/L) or the mixture coefficient matrix (algorithm SNMF/R).
nmfAlgorithm.SNMF_R(..., maxIter = 20000L, eta = -1, beta = 0.01, bi_conv = c(0, 10), eps_conv = 1e-04) nmfAlgorithm.SNMF_L(..., maxIter = 20000L, eta = -1, beta = 0.01, bi_conv = c(0, 10), eps_conv = 1e-04)
W
and in
H
in SNMF/R and SNMF/L respectively.
If eta < 0
, then it is set to the maximum value in the target matrix is used.H
and W
in SNMF/R and SNMF/L respectively.
Larger beta generates higher sparseness on H
(resp. W
).
Too large beta is not recommended.bi_conv=c(wminchange, iconv)
,
with:
wminchange
:the minimal allowance of change in row-clusters.
iconv
: decide convergence if row-clusters
(within the allowance of wminchange
)
and column-clusters have not changed for iconv
convergence checks.
The algorithm SNMF/R solves the following NMF optimization problem on
a given target matrix A
of dimension n x p
:
min_{W,H} 1/2 (|| A - WH ||_F^2 + eta ||W||_F^2 + beta (sum_j ||H[,j]||_1^2))s.t. W>=0, H>=0
The algorithm SNMF/L solves a similar problem on the transposed target matrix
A
, whereH
andW
swap roles, i.e. with sparsity constraints applied toW
.
Kim H and Park H (2007). "Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares
for microarray data analysis." _Bioinformatics (Oxford, England)_, *23*(12), pp. 1495-502. ISSN 1460-2059,