Why is anomaly detection using HTM unsupervised?

I’m learning anomaly detection using HTM. But a confusion has been bothering me.
Why is anomaly detection using HTM unsupervised?
As far as I know, unsupervised algorithms are clustering algorithms.
HTM is not at all like this kind of algorithm.


Most anomaly detection algorithms are unsupervised. If you look at the anomaly benchmark methods, they are all unsupervised and use some sort of statistic to determine anomaly status.

Situations where you have explicitly labelled anomalies and train on them would constitute supervised anomaly detection.

Anomaly detection in HTM is a derived byproduct of the output of the last layer and not necessarily HTM itself. Different schemes could potentially be used to determine if HTM has observed an anomaly.

As an aside, not all unsupervised methods perform clustering, there’s many other tasks that unsupervised methods can perform.


Hi, I’ll answer the question from a variety of examples.

That is straight-up not true. AutoEncoders are considered unsupervised but it is also an generative model (at least for the VAE variant). The only requirement to be unsupervised is that the model learns about the data without labels provided. i.e. only send inputs to the model and never tell the model about what you are looking for. So, yes. HTM is unsupervised; you only send sensory information into HTM and never tell HTM what you are looking.

For a different perspective. HTM (along with STDP) falls into the Hebbian learning category of algorithms. These algorithms takes the input data and extract common features.

The above example should provide a good foundation for the question. In HTM, there’s never a explicit label. Even when performing anomaly detection, what HTM does is it attempts to predict future sensory signals based on context and current sensory input. Then the anomaly detection is then calculated how horribly HTM is at predicting. Assuming your TM works. The only possible explanation of why your HTM is predicting poorly is that an anomaly has happened.

Also, quote from Wikipedia.

Unsupervised anomaly detection techniques detect anomalies in an unlabeled test data set under the assumption that the majority of the instances in the data set are normal