Now that the SDRClassifier is formally in NuPIC, I was just wondering if the SDRClassifier is:

1.) Supposed to replace the CLAClassifier in “default” usage such as in the Network API; OPF; Demos and Products?
2.) Will the CLAClassifier be taken out entirely; deprecated or left in for specific use cases?
3.) When is the SDRClassifier preferred over the CLAClassifier?



The plan is to make the SDRClassifier as the default usage for Network API, OPF etc. The next step would be to replace CLAClassifier for the demos. Unless we find out cases where CLAClassifier give better performance than SDRClassifier, the CLAClassifier will be deprecated.

The SDRClassifier typically results in fewer outlier predictions than CLAClassifier as it not only reinforce correct predictions, but also punish incorrect ones during learning. The learning rules for SDRClassifier are derived under the maximum likelihood framework, whereas the CLAClassifier used heuristic learning rules.


Do you know a good reference for “maximum likelihood framework”? I found a bunch of stuff on google scholar, but not sure which one to read.

1 Like

@rhyolight If you are asking specifically about the SDRClassifier, I have written done the cost function and the derivation of the learning rules here

If you are asking about maximum-likelihood in general, I personally learned it from Duda & Hart’s Pattern Classification book (I am sure it is included in any machine learning text book). Briefly, likelihood is a metric of how well your model predicts the data. By tuning model parameters such that the likelihood is “maximized”, you are improving the prediction quality of the model. So it is essentially a disciplined model parameter estimation technique.


I have just looked at your C++ class for SDRClassifier.cpp and have found that before calling push_back() for adding a new element into a vector, we should use reserve(num_new_elements) for better performance.
What do you think?

Thanks for looking into the details of SDRClassifier.
@natoromano developed the C++ class for SDRClassifier. I will let him answer your question then.


Gesendet mit der 1&1 Mail App

Am 13.08.16 um 22:39 schrieb ycui