The input data objects are assumed to be non-negative matrices. jNMF decompose the matrices to two low-dimensional factor matices simultaneously.
jNMF(X, M=NULL, pseudocount=1e-10,
initW=NULL, initV=NULL, initH=NULL, fixW=FALSE, fixV=FALSE,
fixH=FALSE,
L1_W=1e-10, L1_V=1e-10, L1_H=1e-10,
L2_W=1e-10, L2_V=1e-10, L2_H=1e-10,
J = 3, w=NULL, algorithm = c("Frobenius", "KL", "IS", "PLTF"),
p=1, thr = 1e-10, num.iter = 100, viz = FALSE, figdir = NULL, verbose = FALSE)
A list containing input matrices (X_k, <N*Mk>, k=1..K).
A list containing the mask matrices (X_k, <N*Mk>, k=1..K). If the input matrix has missing values, specify the element as 0 (otherwise 1).
The pseudo count to avoid zero division, when the element is zero (Default: 1e-10).
The initial values of factor matrix W, which has N-rows and J-columns (Default: NULL).
A list containing the initial values of multiple factor matrices (V_k, <N*J>, k=1..K, Default: NULL).
A list containing the initial values of multiple factor matrices (H_k, <Mk*J>, k=1..K, Default: NULL).
Whether the factor matrix W is updated in each iteration step (Default: FALSE).
Whether the factor matrices Vk are updated in each iteration step (Default: FALSE).
Whether the factor matrices Hk are updated in each iteration step (Default: FALSE).
Paramter for L1 regularitation (Default: 1e-10). This also works as small positive constant to prevent division by zero, so should be set as 0.
Paramter for L1 regularitation (Default: 1e-10). This also works as small positive constant to prevent division by zero, so should be set as 0.
Paramter for L1 regularitation (Default: 1e-10). This also works as small positive constant to prevent division by zero, so should be set as 0.
Paramter for L2 regularitation (Default: 1e-10).
Paramter for L2 regularitation (Default: 1e-10).
Paramter for L2 regularitation (Default: 1e-10).
Number of low-dimension (J < N, Mk).
Weight vector (Default: NULL)
Divergence between X and X_bar. "Frobenius", "KL", and "IS" are available (Default: "KL").
The parameter of Probabilistic Latent Tensor Factorization (p=0: Frobenius, p=1: KL, p=2: IS)
When error change rate is lower than thr, the iteration is terminated (Default: 1E-10).
The number of interation step (Default: 100).
If viz == TRUE, internal reconstructed matrix can be visualized.
the directory for saving the figure, when viz == TRUE.
If verbose == TRUE, Error change rate is generated in console windos.
W : A matrix which has N-rows and J-columns (J < N, Mk). V : A list which has multiple elements containing N-rows and J-columns (J < N, Mk). H : A list which has multiple elements containing Mk-rows and J-columns matrix (J < N, Mk). RecError : The reconstruction error between data matrix and reconstructed matrix from W and H. TrainRecError : The reconstruction error calculated by training set (observed values specified by M). TestRecError : The reconstruction error calculated by test set (missing values specified by M). RelChange : The relative change of the error.
Liviu Badea, (2008) Extracting Gene Expression Profiles Common to Colon and Pancreatic Adenocarcinoma using Simultaneous nonnegative matrix factorization. Pacific Symposium on Biocomputing 13:279-290
Shihua Zhang, et al. (2012) Discovery of multi-dimensional modules by integrative analysis of cancer genomic data. Nucleic Acids Research 40(19), 9379-9391
Zi Yang, et al. (2016) A non-negative matrix factorization method for detecting modules in heterogeneous omics multi-modal data, Bioinformatics 32(1), 1-8
Y. Kenan Yilmaz et al., (2010) Probabilistic Latent Tensor Factorization, International Conference on Latent Variable Analysis and Signal Separation 346-353
N. Fujita et al., (2018) Biomarker discovery by integrated joint non-negative matrix factorization and pathway signature analyses, Scientific Report
# NOT RUN {
matdata <- toyModel(model = "siNMF_Hard")
out <- jNMF(matdata, J=2, num.iter=2)
# }
Run the code above in your browser using DataLab