R: compute the smallest value for 'lambda' such that...

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 `biScale`, as well as in applications such as `softImpute`.

The remaining arguments only apply to matrices `x` in `"sparseMatrix"`, `"Incomplete"`, or `"SparseplusLowRank"` format.

`lambda` | As in `svd.als`, using a value for `lambda` can speed up iterations. As long as the solution is not zero, the value returned adds back this value.
`maxit` | maximum number of iterations.
`trace.it` | with `trace.it=TRUE`, convergence progress is reported.
`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, http://www.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)

[Package softImpute version 1.4 Index]