nmfeu {fabia} | R Documentation

## Non-negative Matrix Factorization: Euclidean Distance

### Description

`nmfeu`: R implementation of `nmfeu`.

### Usage

    nmfeu(X,p,cyc=100)

### Arguments

`X` | the data matrix.
`p` | number of hidden factor.
`cyc` | maximal number of iterations.

### Details

Non-negative Matrix Factorization represents positive matrix X by positive matrices L and Z.

Objective for reconstruction is Euclidean distance.

X = L Z

X = sum_{i=1}^{p} L_i (Z_i )^T

The model selection is performed according to D. D. Lee and H. S. Seung, 2001.

The code is implemented in R.

### Value

`L` | Left matrix: L
`Z` | Right matrix: Z

### Author(s)

Sepp Hochreiter

### References

Paatero, P and Tapper, U, ‘Least squares formulation of robust non-negative factor analysis’, Chemometr. Intell. Lab. 37: 23-35, 1997.

D. D. Lee and H. S. Seung, ‘Algorithms for non-negative matrix factorization’, In Advances in Neural Information Processing Systems 13, 556-562, 2001.

### See Also

`fabi`, `fabia`, `fabiap`, `fabias`, `fabiasp`, `mfsc`, `nmfdiv`, `nmfsc`, `nprojfunc`, `projfunc`, `make_fabi_data`, `make_fabi_data_blocks`, `make_fabi_data_pos`, `make_fabi_data_blocks_pos`, `extract_plot`, `extract_bic`, `myImagePlot`, `PlotBicluster`, `Breast_A`, `DLBCL_B`, `Multi_A`, `fabiaDemo`, `fabiaVersion`

### Examples

    #---------------
    # TEST
    #---------------

    dat <- make_fabi_data_blocks(n = 100,l= 50,p = 3,f1 = 5,f2 = 5,
      of1 = 5,of2 = 10,sd_noise = 3.0,sd_z_noise = 0.2,mean_z = 2.0,
      sd_z = 1.0,sd_l_noise = 0.2,mean_l = 3.0,sd_l = 1.0)

    X <- dat[[1]]
    Y <- dat[[2]]
    X <- abs(X)
    XX <- tcrossprod(X)
    dXX <- 1/sqrt(diag(XX))
    X <- dXX*X

    resEx <- nmfeu(as.matrix(abs(X)),3)

    ## Not run:
    #---------------
    # DEMO
    #---------------

    dat <- make_fabi_data_blocks(n = 1000,l= 100,p = 10,f1 = 5,f2 = 5,
      of1 = 5,of2 = 10,sd_noise = 3.0,sd_z_noise = 0.2,mean_z = 2.0,
      sd_z = 1.0,sd_l_noise = 0.2,mean_l = 3.0,sd_l = 1.0)

    X <- dat[[1]]
    Y <- dat[[2]]
    X <- abs(X)
    XX <- tcrossprod(X)
    dXX <- 1/sqrt(diag(XX))
    X <- dXX*X

    resToy <- nmfeu(as.matrix(abs(X)),8)

    rToy <- extract_plot(X,resToy$L,resToy$Z,ti="NMFEU",Y=Y)

    ## End(Not run)

[Package fabia version 0.1.1 Index]