-
-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement sparse PCA/dictionary-encoding #254
Comments
Looks cool! If you go for it, let me know if you have any questions. |
Alright, I've read those papers this morning and have some thoughts. Both of these methods essentially amount to a matrix factorization of the training data So, I'm still seriously considering implementing dictionary learning as it should be relatively straightforward. The only caveat as far as a PR to OnlineStats.jl goes is that it necessarily involves an What dictionary learning would offer over anything that's currently available in OnlineStats.jl is a dimensionality reduction technique with a sparse transformation matrix, which would be useful since one can easily wind up with a fairly enormous matrix for high-dimensional training data. Therefore, I think, assuming I follow through and do this, I will create a new package which has OnlineStats.jl as a dependency. Then, if and when I finish, I will post a link here and you can review, and if you'd like to merge it into OnlineStats.jl I'd be happy to oblige. |
Sounds like a good plan to me! FYI you may be able to get away with just OnlineStatsBase as a dependency. |
Alright, I lost a ton of interest in this method as I have realized that it probably really sucks for dimensionality reduction in most cases. It looks like a really good compression method, but since it achieves its compression only by sparsity you tend to leave with more dimensions than you came in. It might work well for dimensional reduction in some cases if the initial conditions are chosen appropriately, but I haven't discovered how to do that yet. Anyway, I thought I should note here that I have OnlineSparseLearning.jl up, which seems to be basically working but is certainly not usable yet. I may or may not finish this depending on my needs. |
I'm interested in implementing sparse dictionary learning and sparse PCA. These techniques are implemented in scikit-learn, see here, references therein.
I might take this on if I deem it a sufficiently short project.
The text was updated successfully, but these errors were encountered: