Ricardo, The Classifier is definitely the way to go, your usecase is precisely its job. The OPF provides the connectivity by simultaneously sending the input to both the Encoder's input and the Classifier's input so that the Classifier can associate the input with any SDR's created in that particular sequence. (I'm not actually positive about whether the input is sent that directly within the OPF, but functionally that must be what's happening).
Your mission (should you choose to accept it): To see how the input is routed within the OPF and do the same thing in your own code that uses the Network API. David On Mon, Jan 19, 2015 at 11:58 AM, Ricardo Franco <[email protected]> wrote: > cogmission. > I'm usually in the gitter, but the questions get lost in the history very > easly. Here it can help more people :) > > Eirc. > I'll try Matt's answer first because it a lot simpler than yours :) If it > doesn't, I'll check the perceptron thing > > Matt. > Python. (I guess, "py.SPRegion") > You mean using a KNNClassifier? Like making it learns maybe 100 categories? > > 2015-01-19 14:50 GMT-03:00 Matthew Taylor <[email protected]>: > > Ricardo, >> >> Are you using the Network API through the Python interface or the C++ >> interface? If you're using the Python interface, you should be able to >> patch up the OPF's Classifier to decode the output from the network. >> Although I don't think we have any examples of that at the moment. >> --------- >> Matt Taylor >> OS Community Flag-Bearer >> Numenta >> >> >> On Mon, Jan 19, 2015 at 9:40 AM, Ricardo Franco <[email protected]> >> wrote: >> > I just want to get predictions. I thought this would be the right way >> (get >> > the topDownOut ouptut from TemporalPooler), but I can be wrong. >> > >> > I saw the OPF can do predictions, but I'm using Network API and dont >> > examples with prediction (only anomaly). >> > >> > Do you know what should I do? >> > >> > 2015-01-19 14:37 GMT-03:00 cogmission1 . <[email protected]>: >> > >> >> I don't think you can reverse the output of a SpatialPooler. >> Classifiers >> >> however map SDR's to the input, so you could use one of those? >> >> >> >> >> >> >> >> On Mon, Jan 19, 2015 at 11:34 AM, Ricardo Franco < >> [email protected]> >> >> wrote: >> >>> >> >>> If I call encoder.decode([0 0 0 0 1 1]) I know it will work, because >> I'm >> >>> passing the encoded 99. >> >>> >> >>> But I want to get the 99 having the SDR, not the encoded 99. >> >>> >> >>> Its like encoder.decode([0 0 1 0 0 0 1 0 1 0 0 1 1 0]) # this will not >> >>> work >> >>> >> >>> 2015-01-19 14:27 GMT-03:00 cogmission1 . <[email protected] >> >: >> >>> >> >>>> Ricardo, >> >>>> >> >>>> Unless I understand you incorrectly, you would call the "decode()" >> >>>> method of your Encoder. >> >>>> >> >>>> On Mon, Jan 19, 2015 at 11:24 AM, Ricardo Franco >> >>>> <[email protected]> wrote: >> >>>>> >> >>>>> Lets consider a SpatialEncoder that encode the value 99 to [0 0 0 0 >> 1 >> >>>>> 1] >> >>>>> >> >>>>> The SpatialPooler will receive this [0 0 0 0 1 1] and output a >> totally >> >>>>> different thing to 'bottomUpOut' output (this new array/matrix is >> the SDR, >> >>>>> right?) >> >>>>> >> >>>>> Lets the SDR is [0 0 1 0 0 0 1 0 1 0 0 1 1 0]. >> >>>>> >> >>>>> Now how to get the SDR back to 99? Is this possible? >> >>>>> >> >>>>> -- >> >>>>> >> >>>>> Ricardo Franco Andrade >> >>>>> >> >>>>> Web Developer >> >>>>> >> >>>>> email: [email protected] >> >>>>> skype: ricardo.krieg >> >>>>> phone: +55 (86) 9569 8521 >> >>>>> linkedin: http://br.linkedin.com/in/ricardokrieg/ >> >>>>> github: https://github.com/ricardokrieg >> >>>>> >> >>>>> >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> We find it hard to hear what another is saying because of how loudly >> >>>> "who one is", speaks... >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> >> >>> Ricardo Franco Andrade >> >>> >> >>> Web Developer >> >>> >> >>> email: [email protected] >> >>> skype: ricardo.krieg >> >>> phone: +55 (86) 9569 8521 >> >>> linkedin: http://br.linkedin.com/in/ricardokrieg/ >> >>> github: https://github.com/ricardokrieg >> >>> >> >>> >> >> >> >> >> >> >> >> -- >> >> We find it hard to hear what another is saying because of how loudly >> "who >> >> one is", speaks... >> > >> > >> > >> > >> > -- >> > >> > Ricardo Franco Andrade >> > >> > Web Developer >> > >> > email: [email protected] >> > skype: ricardo.krieg >> > phone: +55 (86) 9569 8521 >> > linkedin: http://br.linkedin.com/in/ricardokrieg/ >> > github: https://github.com/ricardokrieg >> > >> > >> >> > > > -- > > Ricardo Franco Andrade > > *Web Developer* > > email: [email protected] > skype: ricardo.krieg > phone: +55 (86) 9569 8521 > linkedin: http://br.linkedin.com/in/ricardokrieg/ > github: https://github.com/ricardokrieg > > > -- *We find it hard to hear what another is saying because of how loudly "who one is", speaks...*
