SDRClassifier - Bad choice of name?

You are right that the SDRClassifier can be used as a predictor of itself. We named it as SDRclassifier because the core of it is a single layer neural network that maps a input pattern (SDRs) to class labels (which can be future values for prediction application), which is a classifier in a machine learning point of view. I agree with you that we should improve the documentation and be explicit that it can predict.

You can try SDRClassifier with predictedCells, but the default is set to use activeCells for several reasons. First, predictedCells may not even exist if TM hasn’t learned the sequence properly. And there may be a very large number of predicted cells if there are multiple predictions, so the sparsity of the predictedCells will vary more than the activeCells, which can lead to bad performance. Second, the information in the predictedCells should also exist in the activeCells, so SDRClassifier should be able to establish that mapping automatically.

3 Likes