Sparsify weights

Description

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

Usage

1
2
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

1
2
3
4
5
6
7
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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.