Justin Basilico
unread,Jul 11, 2012, 11:17:49 PM7/11/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to brandon...@gmail.com, Dixon, Kevin R, cognitiv...@googlegroups.com
Hi Brandon,
Always nice to hear someone is finding the Foundry useful. Your project looks interesting. Let us know how it goes.
DefaultDataDistribution doesn't have its internal weights in log scale since it was originally developed for accumulating data via lots of calls to increment, like counting values to build simple histograms. Since adding numbers in log-space is expensive (as opposed to multiplying them, which is cheap), it doesn't make sense to have it store in log-space by default for that use-case. That said, it probably does make sense to have another implementation of the interfaces that does keep its data in log space (and has a method to set the log value directly), especially for use-cases that are not doing things like incrementing but instead keeping small probabilities. The LogMath or LogNumber classes may be helpful in providing such an implementation. We could call it LogDataDistribution or something. : )
I also think that adding a non-negative matrix factorization could be useful. As Kevin notes, I think we limited the number of classes in MTJ that we wrapped for simplicity, but NNMF is pretty widely used, so we probably want to put it in at some point.
I'm not exactly sure what you mean by "index-based discrete distributions"? Can you explain? I'm not sure if this is what you mean, I have been considering adding an indexer class that would do bi-directional mapping between objects and indices, since that is something that seems to come up in several places when we use certain applications, like mapping data to dimensions of a vector. I have a partial implementation of this that I'll work on cleaning up and getting in there. This could also be a good bridge between InfiniteVectors and Vectors.
I also agree that we should think more about how to open up to accept more external contributions (in a way that the lawyers are happy, of course), since clearly people are interested in participating. We set up the
cognitivefoundry.org site as a place to try and help build a community, but suggestions for how to make that work better are welcome.
Also, it has been a while since the last release (November); it is way past time to get another release out there.
Keep the questions and suggestions coming.
Thanks, : )
Justin