Both Events and Words are strings, and both are encoder with the same nupic built-in Category Encoder. You could say my current model is learning a sequence of strings, it makes no differentiation whatsoever between an Event and a Word. The CLA Classifier does a multistep prediction, of 1 and 2 steps ahead. When I'm training the model, I pass the entire sequence, words and events. Then, when I'm testing, I only pass the words and let the CLA Classifier predict the next to elements, which should be the events.
On Tue, Jan 12, 2016 at 1:02 PM, Matthew Taylor <[email protected]> wrote: > So you have a NuPIC model accepting sentences like "move to the left", and > it is classifying them into event types? If so, how are you doing that? Are > the words treated as string categories? Is each sentence a sequence? How is > a prediction being translated into an event type? I'm really confused. :? > > --------- > Matt Taylor > OS Community Flag-Bearer > Numenta > > On Mon, Jan 11, 2016 at 12:39 PM, Sebastián Narváez <[email protected]> > wrote: > >> Ok, sorry for the inaccuracy, I was trying to explain it in a quick >> manner. I'm making a task execution software for a virtual environment >> (It's like a game. So far the character can move up, down, left and right) >> with nupic. It takes a sentence as a parameter (which is treated as a >> sequence of words) and outputs an event on the virtual environment (i.e.: >> the movement of the character). So for example, an input can be ['move', >> 'to', 'the', 'left'], and it should output ['event-move', 'event-left']. >> >> I've tried various encoders and structures. So far I've got the best >> results using the same Category Encoder to encode the words of the input >> sentence, and the output events, and passing them trough a SP, a TM all the >> way to the CLA Classifier. I train the model by passing a sequence of words >> and then it's corresponding sequence of events, then reset()ing the TM and >> passing another pair of sequences. >> >> After roughly 50 iterations, the model correctly predicts the sequence of >> events 77.77% of the time, given a sequence of words (or input sentence). >> Technically, it should always succesfully predict the sentences, as I'm >> currently testing with the exact same training set (there is no noise >> whatsoever), so I thought it might improve if I adjusted the SP and/or TM >> parameters. In fact, before I played with them a little, my succes rate was >> of about 66.66%. What I've found funny, however, is that it almost always >> predict correctly if the sentence ends with the direction (e.g. ['move', >> 'it', 'upwards']), but fails if it doesn't (e.g. ['could', 'you', 'move', >> 'it', 'upwards', '?']). >> >> I hope I explained myself clearly. Please tell me if there's something >> weird in my explanation; english is not my main language. >> >> On Mon, Jan 11, 2016 at 1:36 PM, Matthew Taylor <[email protected]> wrote: >> >>> Sebastian, is it possible to talk about this data without abstraction? >>> I'm having a hard time understanding what you mean by "fixed size >>> sequence". It would help if you could talk about the actual sensors >>> producing this data? >>> >>> Either way, if you swarm for a model with two data sources in an attempt >>> to optimize the predictions of one of these fields, many times the swarm >>> exposes an unexpected lack of correlation between the two fields. Sometimes >>> it is simply that to predict field A, the value of field B simply does not >>> matter enough to keep track of it. >>> >>> If both sequences are independent of each other like you say, I would >>> not expect the value of one field to affect the value of another field at >>> all. >>> >>> >>> --------- >>> Matt Taylor >>> OS Community Flag-Bearer >>> Numenta >>> >>> On Fri, Jan 8, 2016 at 7:26 PM, Sebastián Narváez <[email protected]> >>> wrote: >>> >>>> Sure. I have two inputs from different sensors. Having a sequence from >>>> the first sensor (which isn't of a fixed size), I want to predict a >>>> sequence from the second sensor (which right now is of a fixed size of two, >>>> but it would be nice to generalize to non-fixed size later). When a >>>> sequence from the first sensor is passed to Nupic and it returns a >>>> prediction, another sequence from the first sensor is then passed, that >>>> have no relation whatsoever with the previous sequence. That's what I meant >>>> with non-streaming data. Each sequence is independent from the other. >>>> >>>> >>>> On Wed, Jan 6, 2016 at 2:04 PM, Matthew Taylor <[email protected]> >>>> wrote: >>>> >>>>> Hi Sebastian, >>>>> >>>>> We recommend you use the swarming library to identify the best SP and >>>>> TM parameters. See >>>>> https://github.com/numenta/nupic/wiki/Running-Swarms for details. >>>>> >>>>> I'm not sure what you mean by non-streaming data, can you elaborate? >>>>> >>>>> >>>>> --------- >>>>> Matt Taylor >>>>> OS Community Flag-Bearer >>>>> Numenta >>>>> >>>>> On Tue, Jan 5, 2016 at 3:42 PM, Sebastián Narváez <[email protected] >>>>> > wrote: >>>>> >>>>>> Hey guys. Is there any recommendations for the SP and TM parameteres >>>>>> based on the type of inputs or the encoder used? Also, how does swarming >>>>>> behave with non-streming data? (i.e.: A dataset of independent >>>>>> sequences). >>>>>> >>>>>> Thanks in advance! >>>>>> >>>>> >>>>> >>>> >>> >> >
