| mse {RcppML} | R Documentation | 
Mean Squared Error loss of a factor model
Description
MSE of factor models w and h given sparse matrix A
Usage
mse(A, w, d = NULL, h, mask_zeros = FALSE)
Arguments
A | 
 matrix of features-by-samples in dense or sparse format (preferred classes are "matrix" or "Matrix::dgCMatrix", respectively). Prefer sparse storage when more than half of all values are zero.  | 
w | 
 dense matrix of class   | 
d | 
 diagonal scaling vector of rank length  | 
h | 
 dense matrix of class   | 
mask_zeros | 
 handle zeros as missing values, available only when   | 
Details
Mean squared error of a matrix factorization of the form A = wdh is given by 
\frac{\sum_{i,j}{(A - wdh)^2}}{ij}
 where i and j are the number of rows and columns in A.
Thus, this function simply calculates the cross-product of wh or wdh (if d is specified),
subtracts that from A, squares the result, and calculates the mean of all values.
If no diagonal scaling vector is present in the model, input d = rep(1, k) where k is the rank of the model.
Parallelization. Calculation of mean squared error is performed in parallel across columns in A using the number of threads set by setRcppMLthreads.
By default, all available threads are used, see getRcppMLthreads.
Value
mean squared error of the factorization model
Author(s)
Zach DeBruine
Examples
## Not run: 
library(Matrix)
A <- Matrix::rsparsematrix(1000, 1000, 0.1)
model <- nmf(A, k = 10, tol = 0.01)
c_mse <- mse(A, model$w, model$d, model$h)
R_mse <- mean((A - model$w %*% Diagonal(x = model$d) %*% model$h)^2)
all.equal(c_mse, R_mse)
## End(Not run)