PNMFO: Projective orthonormal nonnegative matrix factorization based...

Description Usage Arguments Details Value Functions Examples

Description

Projective orthonormal nonnegative matrix factorization based on euclidean distance.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
PNMFO(
  X,
  nmfMod,
  tol = 1e-05,
  maxIter = 5000,
  verboseN = FALSE,
  zerotol = 1e-10
)

PNMFO2(
  X,
  nmfMod,
  tol = 1e-05,
  maxIter = 5000,
  verboseN = FALSE,
  zerotol = 1e-10
)

Arguments

X

Input data matrix

nmfMod

NMF model from the NMF package

tol

tolerance for stopping criteria

maxIter

Maximum number of iterations

verbose

Print status messages

Details

Implementation of "Linear and Nonlinear Projective Nonnegative Matrix Factorization", Z. Yang and E. Oja, IEEE Transactions on Neural Networks. Derived from matlab code by Z. Yang, https://sites.google.com/site/zhirongyangcs/pnmf.

The PNMFO2 version uses a different ordering of matrix operations that is slower, as more happens in the loop, but reduces the maximum matrix size. No need for a features x features matrix

Value

Fitted NMF model, as defined in NMF package.

Functions

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
library(NMF)
setNMFMethod("PNMFO", pNMF::PNMFO)
mkD <- function(NOISE=TRUE) {
  n <- 1000 # rows
  counts <- c(30, 10, 20, 10, 15, 15) # samples
  syntheticNMF(n=n, r=counts, offset = NULL, noise = NOISE,
               factors = FALSE, seed = 99)
}
k<-mkD()
estim <- nmf(k, 6, method="PNMF", nrun=1)
## Not run: 
V.random <- randomize(k)
estim.r2 <- nmf(k, 2:20, method="PNMF", nrun=30)
estim.r2.random <- nmf(V.random, 2:20,  method="PNMF", nrun=30)

## End(Not run)

richardbeare/pNMF documentation built on June 30, 2020, 6:33 p.m.