That sounds right. If you are using RandomDistributedScalarEncoder you
don't need to worry about min/max, just need to make sure resolution is ok.
A resolution of 1 means that two numbers that are different by 1 will have
two encodings that have (max overlap - 1).  So those two numbers will still
be pretty similar. For example, in your case if you give it 101 instead of
115 it might not notice an anomaly since 101 and 100 will be very similar.

--Subutai

On Tue, Aug 25, 2015 at 1:25 PM, Phil iacarella <[email protected]>
wrote:

> Subutai & Matt
>
> That makes sense, the transitions are what is anomalous and not the data.
> So I think my setup is correct.
>
> FYI: I am using the Network API and also using the
> RandomDistributedScalarEncoder with a resolution of 1.0 and all other
> params are defaults.
>
> Thanks
> -Phil
>
>
> On Aug 25, 2015, at 11:05 AM, Subutai Ahmad <[email protected]> wrote:
>
> Hi Phil,
>
> I echo Matt's point about the encoder - it's important to have min/max set
> correctly. However even with the correct encoder you would still get the
> result you report.  The anomaly score in NuPIC is only defined with respect
> to temporal memory and sequences. As you mentioned, there's no currently
> concept of spatial-only anomaly. The anomaly score is computed with respect
> to each transition in the sequence.
>
> In your example, it is learning common sequences between the numbers
> (randomly generated here). Given the past distribution, the transition from
> 57 to 115 is anomalous, but so is the transition from 115 to 36. It has
> never seen a jump down from 115 to 36. Hence two transitions where the
> anomaly score is 1.0
>
> --Subutai
>
> On Tue, Aug 25, 2015 at 8:50 AM, Matthew Taylor <[email protected]> wrote:
>
>> Phil,
>>
>> What NuPIC interface are you using for your experiment? Seems like you
>> are using the Network API. If you are creating a model with model
>> parameters that include a maxValue of 100, any data you pass in that
>> is above that threshold will be treated as if it were the maxValue of
>> 100. That might explain the results you are seeing.
>>
>> ---------
>> Matt Taylor
>> OS Community Flag-Bearer
>> Numenta
>>
>>
>> On Fri, Aug 21, 2015 at 6:16 PM, Phil iacarella <[email protected]>
>> wrote:
>> > I'm attempting to do spatial anomaly detection.
>> >
>> >             I've setup a file with a list of 1000 entries of random
>> numbers
>> > between 1 and 100. Because the numbers are randomly generated I don't
>> care
>> > about data sequence only its pooled content. So, I've created the TP
>> with
>> > only 1 cell per column - not caring about sequence.
>> >
>> > I execute a run with anomaly scores. Everything behaves as expected, at
>> > first lots of anomalies and then it settles down little to zero
>> anomalies.
>> >
>> > I then modify the data file and insert just a few numbers larger than
>> 100
>> > (i.e. 115 , 135) towards the end of the file and not consecutively.
>> Again
>> > everything works as expect with the exception that the anomaly scores
>> do not
>> > occur with the aberrant numbers (115, 135).  The high anomaly scores
>> always
>> > appear with the subsequent numbers - both the subsequent and the
>> following
>> > subsequent number have high scores.
>> >
>> > If I create another hierarchy and feed the output of the first hierarchy
>> > into the second hierarchy I get a more stable low anomaly scores of 0.0
>> (as
>> > I should) and the aberrant numbers still bring out high scores ( .95)
>> but
>> > now they seem to be 2 and 3 steps behind - the first high score appears
>> 2
>> > steps after the aberrant number.
>> >
>> > Is this correct behavior?  Why is the bursting behavior delayed?
>> >
>> > Should I be using the Spatial Pooler Anomaly detection? If so, please
>> point
>> > to some example code.
>> >
>> > Thanks
>> >
>> > Phil
>> >
>> >
>>
>>
>
>

Reply via email to