# funkSVD

0th

Percentile

##### Funk SVD for Matrices with Missing Data

Implements matrix decomposition by the stochastic gradient descent optimization popularized by Simon Funk to minimize the error on the known values.

Keywords
model
##### Usage
funkSVD(x, k = 10, gamma = 0.015, lambda = 0.001, min_improvement = 1e-06, min_epochs = 50, max_epochs = 200, verbose = FALSE)
##### Arguments
x
a matrix, potentially containing NAs.
k
number of features (i.e, rank of the approximation).
gamma
regularization term.
lambda
learning rate.
min_improvement
required minimum improvement per iteration.
min_epochs
minimum number of iterations per feature.
max_epochs
maximum number of iterations per feature.
verbose
show progress.
##### Details

Funk SVD decomposes a matrix (with missing values) into two components $U$ and $V$. The singular values are folded into these matrices. The approximation for the original matrix can be obtained by $R = UV'$.

This function predict in this implementation folds in new data rows by estimating the $u$ vectors using gradient descend and then calculating the reconstructed complete matrix r for these users via $r = uV'$.

##### Value

An object of class "funkSVD" with components with components

##### Note

The code is based on the implmentation in package rrecsys by Ludovik Coba and Markus Zanker.

##### References

Y. Koren, R. Bell, and C. Volinsky. Matrix Factorization Techniques for Recommender Systems, IEEE Computer, pp. 42-49, August 2009.

##### Aliases
• funkSVD
• predict.funkSVD
##### Examples
### this takes a while to run
## Not run:
# data("Jester5k")
#
# train <- as(Jester5k[1:100], "matrix")
# fsvd <- funkSVD(train, verbose = TRUE)
#
# ### reconstruct the rating matrix as R = UV'
# ### and calculate the root mean square error on the known ratings
# r <- tcrossprod(fsvd$U, fsvd$V)
# rmse(train, r)
#
# ### fold in new users for matrix completion
# test <- as(Jester5k[101:105], "matrix")
# p <- predict(fsvd, test, verbose = TRUE)
# rmse(test, p)
# ## End(Not run)

Documentation reproduced from package recommenderlab, version 0.2-1, License: GPL-2

### Community examples

Looks like there are no examples yet.