numl icon indicating copy to clipboard operation
numl copied to clipboard

Enumerable Label not supported.

Open ChewyMoon opened this issue 9 years ago • 10 comments

Any label that implements the IEnumerable will throw exceptions saying that it needs to have the EnumerableFeature attribute, when I need a Label, not a Feature.

ChewyMoon avatar Jun 05 '15 22:06 ChewyMoon

Great question. In this case the machine learning problem will not accept a multi-valued output (hence no support for en EnumerableLabel). What are you trying to accomplish? Maybe I've made a mistake somewhere.

sethjuarez avatar Jun 08 '15 22:06 sethjuarez

I do think at least a vector output should be supported.

ChewyMoon avatar Jun 11 '15 14:06 ChewyMoon

I don't think the intent is to make any arbitrary graph into a potentially significantly sparse array of vectors. Or am I missing something too? On Jun 11, 2015 10:24 AM, "Justin" [email protected] wrote:

I do think at least a vector output should be supported.

— Reply to this email directly or view it on GitHub https://github.com/sethjuarez/numl/issues/28#issuecomment-111153393.

normanhh3 avatar Jun 11 '15 23:06 normanhh3

@ChewyMoon I'm interested in a use case. I might be missing something (maybe it's something we should support).

sethjuarez avatar Jun 16 '15 18:06 sethjuarez

Just saw this, a use case would be learning sequences. Such as in one to many or many to many recurrent neural nets.

bdschrisk avatar Oct 07 '15 22:10 bdschrisk

Sounds good. A couple of things moving forward:

  • We need to come up with a way for the learner to select the appropriate IGenerator given the label (for example, the only true multi-class learner implemented so far is the DT)
  • Any suggestions for a sequence learning algorithm?

sethjuarez avatar Oct 07 '15 22:10 sethjuarez

I'm nearly finished with SVM, scoring, multi-class learning (it handles unlimited classes, with support for using any generator and is parallelised by n classes), recommendation (collaborative filtering) and started with recurrent neural nets. It should be fairly straight forward to implement sequence learning as all you are doing is changing the predicted output to a vector and the vector size would be set from either a labelenumerable attribute or the size of the output layer in a neural net.

bdschrisk avatar Oct 07 '15 23:10 bdschrisk

OK - we should meet about the code. Some of the previous stuff we've merged seems to duplicate some of the other math structures available. Maybe we should have a face-to-face to make sure I am understanding properly. I also want to move to a unified data structure for all models (some graph type data structures). What do you think? Perhaps we should move the convo to gitter:

Join the chat at https://gitter.im/sethjuarez/numl

sethjuarez avatar Oct 09 '15 20:10 sethjuarez

Reopening issue.

bdschrisk avatar Jan 18 '16 04:01 bdschrisk

This is partially implemented, see ISequenceModel and Neural Networks.

We need to discuss for other algorithms...

bdschrisk avatar Apr 06 '17 22:04 bdschrisk