lambda0 {softImpute} | R Documentation |
compute the smallest value for lambda
such that
softImpute(x,lambda)
returns the zero solution.
Description
this determines the "starting" lambda for a sequence of values for
softImpute
, and all nonzero solutions would require a smaller
value for lambda
.
Usage
lambda0(x, lambda = 0, maxit = 100, trace.it = FALSE, thresh = 1e-05)
Arguments
x |
An m by n matrix. Large matrices can be in "sparseMatrix" format, as
well as "SparseplusLowRank". The latter arise after centering sparse
matrices, for example with |
The remaining arguments only apply to matrices x
in
"sparseMatrix"
, "Incomplete"
, or "SparseplusLowRank"
format.
lambda |
As in |
maxit |
maximum number of iterations. |
trace.it |
with |
thresh |
convergence threshold, measured as the relative changed in the Frobenius norm between two successive estimates. |
Details
It is the largest singular value for the matrix,
with zeros replacing missing values. It uses svd.als
with
rank=2
.
Value
a single number, the largest singular value
Author(s)
Trevor Hastie, Rahul Mazumder
Maintainer: Trevor Hastie hastie@stanford.edu
References
Rahul Mazumder, Trevor Hastie and Rob Tibshirani (2010)
Spectral Regularization Algorithms for Learning Large Incomplete
Matrices,
https://web.stanford.edu/~hastie/Papers/mazumder10a.pdf
Journal of Machine Learning Research 11 (2010) 2287-2322
See Also
softImpute
,Incomplete
, and svd.als
.
Examples
set.seed(101)
n=200
p=100
J=50
np=n*p
missfrac=0.3
x=matrix(rnorm(n*J),n,J)%*%matrix(rnorm(J*p),J,p)+matrix(rnorm(np),n,p)/5
ix=seq(np)
imiss=sample(ix,np*missfrac,replace=FALSE)
xna=x
xna[imiss]=NA
lambda0(xna)