Learn R Programming

nnmf (version 1.1)

nmf.manh: Simplicial NMF minimizing the Manhattan distance

Description

NMF minimizing the Manhattan distance.

Usage

nmf.manh(x, k, W = NULL, H = NULL, k_meds = TRUE,
maxiter = 1000, tol = 1e-6, ncores = 1)

Value

W

The \(W\) matrix, an \(n \times k\) matrix with the mapped data.

H

The \(H\) matrix, an \(k \times D\) matrix.

Z

The reconstructed data, \(Z = WH\).

obj

The reconstruction error, \( ||x - Z||_F^2\).

error

If the argument history was set to TRUE the reconstruction error at each iteration will be performed, otherwise this is NULL.

iters

The number of iterations performed.

runtime

The runtime required by the algorithm.

Arguments

x

An \(n \times D\) matrix with data. Zero values are allowed.

k

The number of lower dimensions. It must be less than the dimensionality of the data, at most \(D-1\).

W

If you have an initial estimate for W supply it here. Otherwise leave it NULL.

H

If you have an initial estimate for H supply it here, otherwise leave it NULL.

k_meds

If this is TRUE, then the K-medoids algorithm is used to initiate the W and H matrices.

maxiter

The maximum number of iterations allowed.

tol

The tolerance value to terminate the quadratic programming algorithm.

ncores

Do you want the update of W to be performed in parallel? If yes, specify the number of cores to use.

Author

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

Details

Nonnegative matrix factorization minimizing the Manhattan distance.

References

Alenazi A. and Tsagris M. (2026). Simplicial nonnegative matrix factorization. In preparation.

Cutler A. and Breiman L. (1994). Archetypal analysis. Technometrics, 36(4): 338--347.

See Also

nmf.qp

Examples

Run this code
x <- as.matrix(iris[, 1:4])
mod <- nmf.qp(x, 3)
group <- as.numeric(iris[, 5])
plot(mod$W, col = group)

Run the code above in your browser using DataLab