Learn R Programming

fabia (version 2.18.0)

projFunc: Projection of a Vector to a Sparse Vector

Description

projFunc: R implementation of projFunc.

Usage

projFunc(s, k1, k2)

Arguments

s
data vector.
k1
sparseness, l1 norm constraint.
k2
l2 norm constraint.

Value

v
sparse projected vector.

Details

The projection is done according to Hoyer, 2004: given an $l_1$-norm and an $l_2$-norm minimize the Euclidean distance to the original vector. The projection is a convex quadratic problem which is solved iteratively where at each iteration at least one component is set to zero.

In the applications, instead of the $l_1$-norm a sparseness measurement is used which relates the $l_1$-norm to the $l_2$-norm.

Implementation in R.

References

Patrik O. Hoyer, ‘Non-negative Matrix Factorization with Sparseness Constraints’, Journal of Machine Learning Research 5:1457-1469, 2004.

See Also

fabia, fabias, fabiap, fabi, fabiasp, mfsc, nmfdiv, nmfeu, nmfsc, extractPlot, extractBic, plotBicluster, Factorization, projFuncPos, projFunc, estimateMode, makeFabiaData, makeFabiaDataBlocks, makeFabiaDataPos, makeFabiaDataBlocksPos, matrixImagePlot, fabiaDemo, fabiaVersion

Examples

Run this code

#---------------
# DEMO
#---------------

size <- 30
sparseness <- 0.7

s <- as.vector(rnorm(size))
sp <- sqrt(1.0*size)-(sqrt(1.0*size)-1.0)*sparseness

ss <- projFunc(s,k1=sp,k2=1)

s
ss

Run the code above in your browser using DataLab