Learn R Programming

LICORS (version 0.2.0)

sparsify_weights: Sparsify weights

Description

This function makes weights of a mixture model more sparse using gradient based penalty methods.

Usage

sparsify_weights(weight.matrix.proposed, weight.matrix.current = NULL, 
    penalty = "entropy", lambda = 0)

Arguments

weight.matrix.proposed

\(N \times K\) weight matrix

weight.matrix.current

\(N \times K\) weight matrix

penalty

type of penalty: c("entropy", "1-Lq", "lognorm"). Default: "entropy"

lambda

penalization parameter: larger lambda gives sparser mixture weights

See Also

compute_mixture_penalty, mixed_LICORS

Examples

Run this code
# NOT RUN {
WW <- matrix(c(rexp(10, 1/10), runif(10)), ncol = 5, byrow = FALSE)
WW <- normalize(WW)
WW_sparse <- sparsify_weights(WW, lambda = 0.1)
WW_more_sparse <- sparsify_weights(WW, lambda = 0.5)
compute_mixture_penalty(WW)
compute_mixture_penalty(WW_sparse)
compute_mixture_penalty(WW_more_sparse)
# }

Run the code above in your browser using DataLab