My terminology here is unpracticed so I may not be using the
appropriate terms. I stated “TP” in my post when maybe I should have wrote TM
for Temporal Memory. I also mentioned Spatial Pool anomaly detection but this
also may be incorrect. My current understanding is that Spatial Pool anomaly
detection is not done.
In any event, what I’m attempting to see is if the HTM can detect an
anomaly of one number (e.g. 115) from a list of 1000 randomly generated numbers
that are between 1 and 100 (the exception being the one item, 115). Since I
have a random list I’m not interested in context, or sequences. For this reason
I have just 1 cell per column.
Also, I have a two hierarchy setup where the output of the first TM is
fed into a second one. Both Regions have just 1 cell per column. The anomaly
detection is wired up to the top most region.
Everything works as expected where after some initial period the
anomaly scores approach 0.0 and the one aberrant number (115) does indeed get
flagged as an anomaly (1.0) but what I don’t understand is why the following
number, which is not aberrant but is a number between 1-100, also gets flagged
as anomalous.
Example output after many iterations:
Number Anomaly Score
.
.
.
59.0 0.1
28.0 0.0
3.0 0.1
59.0 0.0
57.0 0.1
115.0 1.0 This one is correctly anomalous.
36.0 1.0 Why is this anomalous?
79.0 0.0
1.0 0.0
-Phil
> On Aug 24, 2015, at 4:53 AM, Wakan Tanka <[email protected]> wrote:
>
> On 08/22/2015 03:16 AM, Phil iacarella 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
>>
>
>
> Hello Phil,
> May I ask what you mean by:
> - TP
> - pooled content
> - how did you make spatial anomaly detection
> - how can you use spatial pooler anomaly detection
>
> Thank you
>
> Wakan