jointNMF: Joint Decomposition with Nonnegative Matrix Factorization

Description Usage Arguments Value Examples

View source: R/jointNMF.R

Description

Joint decomposition of several linked matrices with Nonnegative Matrix Factorization (NMF) It is based on the MSE loss, proposed by Lee, Daniel D., and H. Sebastian Seung. "Learning the parts of objects by non-negative matrix factorization." Nature 401.6755 (1999): 788-791.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
jointNMF(
  dataset,
  group,
  comp_num,
  weighting = NULL,
  max_ite = 100,
  max_err = 1e-04,
  proj_dataset = NULL,
  proj_group = NULL
)

Arguments

dataset

A list of dataset to be analyzed

group

A list of grouping of the datasets, indicating the relationship between datasets

comp_num

A vector indicates the dimension of each compoent

weighting

Weighting of each dataset, initialized to be NULL

max_ite

The maximum number of iterations for the jointNMF algorithms to run, default value is set to 100

max_err

The maximum error of loss between two iterations, or the program will terminate and return, default value is set to be 0.0001

proj_dataset

The datasets to be projected on

proj_group

The grouping of projected data sets

Value

A list contains the component and the score of each dataset on every component after jointNMF algorithm

Examples

1
2
3
4
5
6
7
8
9
dataset = list(matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50))
group = list(c(1,2,3,4), c(1,2), c(3,4), c(1,3), c(2,4), c(1), c(2), c(3), c(4))
comp_num = c(2,2,2,2,2,2,2,2,2)
proj_dataset = list(matrix(runif(5000, 1, 2), nrow = 100, ncol = 50))
proj_group = list(c(TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE))
res_jointNMF = jointNMF(dataset, group, comp_num, proj_dataset = proj_dataset, proj_group = proj_group)

CHuanSite/PJD documentation built on Oct. 26, 2021, 1 p.m.