简体   繁体   中英

How do you make V sparse in sklearn.DictionaryLearning?

alpha controls U's sparsity. transform_alpha also seems to act on U not V.

I want a sparse code and a sparse dictionary.

https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.DictionaryLearning.html

https://scikit-learn.org/stable/modules/decomposition.html#dictionarylearning

Looks like it is not possible in scikit-learn, simply because other algorithms are necessary.

The framework proposed by Rubinstein et al. [1] seems to fit your use-case: essentially the dictionary is further approximated as V=PA , with P a base dictionary and A a sparse atom-representation matrix. Each column of A is constrained to have at most p non-zeros and a L2 norm of 1.

[1] Rubinstein, R., Zibulevsky, M. & Elad, M. Double Sparsity: Learning Sparse Dictionaries for Sparse Signal Approximation. IEEE Transactions on Signal Processing 58, 1553–1564 (2010). https://doi.org/10.1109/TSP.2009.2036477

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM