| nmf.rrr.signed | R Documentation |
nmfae.signed fits a three-layer non-negative matrix factorization
autoencoder with a signed bottleneck, solving
Y_1 \approx X_1 (C_{+} - C_{-}) X_2 Y_2,
\quad X_1 \ge 0,\; C_{+} \ge 0,\; C_{-} \ge 0,\; X_2 \ge 0,
where \Theta = C_{+} - C_{-} is the signed bottleneck. The basis
matrices X_1 (columns sum to 1) and X_2 (rows sum to 1) retain
their non-negative "parts-based" interpretability, while \Theta can
express anti-correlations (e.g., refractive index up vs. Abbe number down).
The algorithm uses Direct Multiplicative Updates derived from
Ding et al. (2010) sign-splitting technique, applied block-wise to the
four non-negative blocks (C_{+}, C_{-}, X_1, X_2). Each block update
monotonically decreases the true objective
\|Y_1 - X_1(C_{+} - C_{-})X_2 Y_2\|_F^2 (Lee-Seung auxiliary
function method).
Relation to nmfae: When \Theta \ge 0 suffices
(the nmfae case), nmfae.signed reduces to nmfae up to
the C_{+} - C_{-} parameterization. Use nmfae.signed when the
data exhibit negative cross-property correlations that tri-NMF-AE cannot
express (e.g., high refractive index <-> low Abbe number trade-off).
nmf.rrr.signed(
Y1,
Y2 = Y1,
rank1 = 2,
rank2 = NULL,
epsilon = 1e-04,
maxit = 5000,
verbose = FALSE,
...,
rank = NULL,
rank.encoder = NULL
)
Y1 |
Output matrix |
Y2 |
Input matrix |
rank1 |
Integer. Response-basis rank Q. Default 2. |
rank2 |
Integer. Covariate-basis rank R. Default ( |
epsilon |
Relative convergence tolerance on the objective.
Default |
maxit |
Maximum iterations. Default 5000. |
verbose |
Logical. Print progress. Default |
... |
Additional arguments:
|
rank, rank.encoder |
Deprecated aliases of |
An object of class c("nmfae.signed", "nmfae", "nmf") with:
X1 |
Decoder basis (P1 x Q), column sum 1. |
Cp, Cn |
Non-negative parts of |
C |
Signed bottleneck |
X2 |
Encoder basis (R x P2), row sum 1. |
Y1hat |
Fitted values |
H |
Encoding |
rank |
|
dims |
|
objfunc, objfunc.iter |
Final and per-iteration objective values. |
r.squared |
|
r.squared.uncentered |
Uncentered |
r.squared.centered |
Row-mean centered |
sigma, mae |
Residual SE and mean absolute error. |
niter, runtime |
Iterations and elapsed seconds. |
Y.signed |
Logical; whether |
call |
Matched call. |
This function is experimental; interface may change.
Ding, C.H.Q., Li, T., and Jordan, M.I. (2010). Convex and Semi-Nonnegative Matrix Factorizations. IEEE TPAMI, 32(1), 45-55.
Satoh, K. (2026). Signed-Bottleneck NMF-AE: Signed-Bottleneck 3-Layer NMF (research memo, 2026-04-18).
Ding, C. H. Q., Li, T., & Jordan, M. I. (2010). Convex and semi-nonnegative matrix factorizations. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(1), 45–55.
nmfae, predict.nmfae.signed,
summary.nmfae.signed, nmfae.signed.rename
set.seed(1)
Y1 <- matrix(abs(rnorm(12)), 3, 4)
Y2 <- matrix(abs(rnorm(20)), 5, 4)
res <- nmf.rrr.signed(Y1, Y2, rank1 = 2, rank2 = 2, maxit = 500)
summary(res)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.