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!
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to