Hey Mark, Thanks for the links! I’ll look into them shortly. As for the NonTemporal anomaly detection, the way it’s introduced in the wiki makes me think it was formulated too literally as a “Novelty” detector. This is not traditional spatial anomaly detection where the purpose is to decide if a new input pattern falls within the RANGE of previously observed patterns. Here’s a few excerpts from the wiki:
"A non-temporal anomaly is defined as a combination of fields that doesn’t usually occur, independent of the history of the data.” "The purpose of this anomaly score was to detect input records that represented novel or rare input patterns” "Match = overlap*dutyCycle” This formulation will produce high anomaly scores for patterns that haven’t been seen before even if they fall inside the cluster of older patterns. Essentially, it’s detecting rarity and not spatial distance. Scott’s suggestion of using overlap instead is spatial anomaly detection in the traditional sense. I haven’t started testing out any code but I’d be interested in seeing if the SP can be used like a distance based anomaly detector. Specifically, I want to find out whether the spatial pattern stability can be used as an analog for a cluster centroid and thus compared to novel input to calculate anomaly. My main concern with that approach is that the anomaly detector will produce a centroid and a threshold that is used to calculate an anomaly score (think of sigmoid function with the threshold as the knee). In the SP, the only way to achieve that is to force stability for all training patterns and bake in the thresholds accordingly to use for testing patterns. I’ll get back to you when I have a clearer approach, I’m just babbling at this point :). best, Nick > On Oct 21, 2014, at 12:24 PM, Marek Otahal <[email protected]> wrote: > > Hi Nick, > > On Tue, Oct 21, 2014 at 10:59 AM, Nicholas Mitri <[email protected] > <mailto:[email protected]>> wrote: > For the temporal anomaly detector, the wiki mentions using confidence > parameters to calculate the anomaly score but the actual code uses predictive > states instead. Is the latter the final approach Nupic is going with? Or > should I be looking into reintroducing confidence based anomaly scores? > > I'm going to switch anomaly to use confidnces/permanences instead of > predicted states for a finer control over the details in > https://github.com/numenta/nupic/pull/1301 > <https://github.com/numenta/nupic/pull/1301> > > PS: I'd like to hear your experiences with "spatial anomaly" (in code > referred to as NonTemporal anomaly), I was thinking about exporting it to > anomaly.py class from SP, like Scott suggested we need some way to measure it > from produced SDRs by spatial pooler. > Did you try the old (if even working) nontemporal anomaly? see > https://github.com/numenta/nupic/blob/master/nupic/frameworks/opf/clamodel.py#L613-L615 > > <https://github.com/numenta/nupic/blob/master/nupic/frameworks/opf/clamodel.py#L613-L615> > > Cheers, Mark > -- > Marek Otahal :o)
