Function getMatchingCells() for ExtendedTemporalMemory?


#1

Hi,
I want to know how better ExtendedTemporalMemory for predicting anomaly by a sinus-signal than TemporalMemory.
But I do not find a corresponding getMatchingCells() in ExtendedTemporalMemory.
Can anyone help me for implementing this function or giving me a pseudocode in ETM?

Best thanks, Binh


#2

It’s ambiguous what a “matching cell” would be. In the TM it’s simply the cells that have matching segments. But now there are apical and basal dendrites. What does it take for a cell to become “matching”? Does it need a matching apical and basal segment? Or just one of either?

Why do you need this method? We don’t consume it anywhere. The only place it exists is on the C++ TM, and I’m tempted to remove that. The words “matching cell” don’t mean anything. Segments match. Cells don’t match.

Note that the ExtendedTemporalMemory is experimental and not supported.


#3

in TM we use this function for getting the SDR at output.
Maybe another function of ETM can provide the output SDR, but I do not know.
@mrcslws Can you help me?


#4

You should either call getActiveCells or getPredictiveCells, depending on which you want.

getMatchingCells() is like getPredictiveCells(), but with a lower threshold. Matching segments only have to have minThreshold active synapses, and the synapses’ permanences don’t have to be above the connectedPermanence.


#5

if I use getPredictiveCells(), I can not get a good prediction result.
By using getWinnerCells(), the prediction is perfect, but have very big anomaly score.
By TM, I get good prediction and reasonable anomaly score.


#6

@thanh-binh.to

Another point to keep in mind which may help to better understand how the TM is used, is to take a look at what the downstream components take from the TM. For instance, the CLAClassifier uses the getActiveCells() method of the TM to get its “active cells”; and the Anomaly/AnomalyLikelihood uses the getPredictiveCells() to derive the “predicted columns” (finds the column each predictive cell belongs to -> eliminating duplicates).


#7

@cogmission:
thanks for your help. It is exactly what we are using.
For getting good results, we have to change some parameters of ETM slightly.