SDRClassifier in javascript


Question is a little pointed in @Paul_Lamb 's direction, but I was playing around with htm.js and wanted to do some prediction.

I noticed in the piano example that the prediction is done manually due to the small number of categories. I’d potentially want to predict on a continuous value that would warrant the whole weight/sum/softmax thing.

Before embarking on a port of SDRClassifier to javascript, I wanted to check and see if it hadn’t already been done.

I had a look through the older htm.JavaScript port as well, couldn’t see anything in here.


I haven’t written a classifier myself, due to the application I am working toward does not require the ability to interpret the internal state of the system. If you find an implementation in javascript though, let me know and I’ll see if I can add it to htm.js.


Thanks Paul, if I find or build one I’ll send you a pull request.

I’m curious to know what type of application doesn’t require the ability to interpret the internal state of the system! What will it do?

Self-improving intelligence
Self-improving intelligence

This has been one of my biggest concerns with HTM.
With point NNs you get an (input) mapping to (some output). There is no good one-shot learning and the system generally has to learn offline.

With HTM you get (input) mapping to (nothing changed -or- something happened!)

This is why I think that hex-grid coding is such a big deal.
With hex-grid coding you get (input) mapping to (some stable hex-grid pattern) with all the other advantages that HTM offers for fast online training and sequence learning.


Thanks Mark, I think I need to go back and re-read your hex-grids post and maybe the Cerebral Code book.

split this topic #6

6 posts were split to a new topic: Self-improving intelligence


Split to a separate topic here


What do you mean? The output is a prediction of what will happen next. Are you including sensorimotor implications in this statement?


More properly - we are somehwere in a sequence we have memorized.
We can tell when we depart from a learned sequence (anomaly)
We can’t say which one.
We can’t say where we are in the sequence, just that we have been here before, or someplace very much like this.
I am not aware of any way to even say what sequences we have learned.

Feel free to point out where I am wrong on any of these statements.


Not wrong (imho), but how about: “We are in a multitude of learned sequences.” ?

But what I’m interested in is, how does that compare to a classifier? (I’m not trying to be contrary, I’m really interested).

During the Twitch session, Matt said something in the order of HTM being a classifier of features. At the time, it hit home, but I kind of lost it again. What are we (the brain) classifying? What is HTM doing that could be compared to NN classifiers when they differentiate tanks from trees?

With hex-grid coding, do you mean using grid cells?

And do you mean the relative location of features define a classification?

Or am I confusing things even more?


Yes, something like this. I happen to have one approach that I am working on that may work as a classifier (hex-grid coding) but there are certainly other ways that HTM cells can group together work as classifiers.

There is something at work to form the cluster of features that we can identify as a grid cell being active when certain inputs are present. I think that in time Numenta will show how the TBT builds up to doing this.

I think that the Calvin tiles method (hex-grid coding) shows great promise but until I get demo code running to show this in action it is just another pretty theory.

BTW: to clarify a relationship - (mini-columns made up of HTM cells) group together to form (Hex-grid coding) to interact with hex-grid codes in other maps to display the macro-property of (activation spot in Grid cell array)

Example below:

The black spots are mini-columns. The colored lines are competition wining lateral connections, the red in one map and the blue in another. The yellow spots are in a third map where the projections from the red and blue maps coincident hex-grid signalling interact to a form a spot that you call a grid module. I don’t expect the entire hex-grid arrays to be active at the same time.


Oh right, you wrote about this earlier.