nmf | R Documentation |

An implementation of non-negative matrix factorization. This can be used to decompose an input dataset into two low-rank non-negative components.

```
nmf(
input,
rank,
initial_h = NA,
initial_w = NA,
max_iterations = NA,
min_residue = NA,
seed = NA,
update_rules = NA,
verbose = getOption("mlpack.verbose", FALSE)
)
```

`input` |
Input dataset to perform NMF on (numeric matrix). |

`rank` |
Rank of the factorization (integer). |

`initial_h` |
Initial H matrix (numeric matrix). |

`initial_w` |
Initial W matrix (numeric matrix). |

`max_iterations` |
Number of iterations before NMF terminates (0 runs until convergence. Default value "10000" (integer). |

`min_residue` |
The minimum root mean square residue allowed for each iteration, below which the program terminates. Default value "1e-05" (numeric). |

`seed` |
Random seed. If 0, 'std::time(NULL)' is used. Default value "0" (integer). |

`update_rules` |
Update rules for each iteration; ( multdist | multdiv | als ). Default value "multdist" (character). |

`verbose` |
Display informational messages and the full list of parameters and timers at the end of execution. Default value "getOption("mlpack.verbose", FALSE)" (logical). |

This program performs non-negative matrix factorization on the given dataset, storing the resulting decomposed matrices in the specified files. For an input dataset V, NMF decomposes V into two matrices W and H such that

V = W * H

where all elements in W and H are non-negative. If V is of size (n x m), then W will be of size (n x r) and H will be of size (r x m), where r is the rank of the factorization (specified by the "rank" parameter).

Optionally, the desired update rules for each NMF iteration can be chosen from the following list:

- multdist: multiplicative distance-based update rules (Lee and Seung 1999) - multdiv: multiplicative divergence-based update rules (Lee and Seung 1999) - als: alternating least squares update rules (Paatero and Tapper 1994)

The maximum number of iterations is specified with "max_iterations", and the minimum residue required for algorithm termination is specified with the "min_residue" parameter.

A list with several components:

`h` |
Matrix to save the calculated H to (numeric matrix). |

`w` |
Matrix to save the calculated W to (numeric matrix). |

mlpack developers

```
# For example, to run NMF on the input matrix "V" using the 'multdist' update
# rules with a rank-10 decomposition and storing the decomposed matrices into
# "W" and "H", the following command could be used:
## Not run:
output <- nmf(input=V, rank=10, update_rules="multdist")
W <- output$w
H <- output$h
## End(Not run)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.