Jing, > Both spRegion and tpRegion have an attribute "bottomUpOut", which are > arrays(0 and 1). How to decode the 01 array into a predicted value?
This is what the CLA classifier is used for. It takes these binary output arrays, and decodes the input value to the encoder that is the most likely prediction. > The multiEncoder is not SDR though there is little 1 and much 0.(Or > multiEncoder is sparse, not distributed? Which explanation is right?) It is distributed, but not necessarily sparse. It produces sparse representations only if the inputs to the MultiEncoder are all sparse. Either way, the output of the SPRegion is sparse and distributed. > So to top level (for example, classifier), we get a map from final active > columns index (we call it 'finalColumns') to sourceData. Correct, this is what the CLA classifier does in essence. You can just use it on top of the TPRegion to do this classification. > What's more, I can't understand the code segment in > nupic/examples/network/hierachy-network-demo.py.(line 267-272) The `results` dictionary is produced by the CLA Classifier. If you would like to understand the CLA Classifier better, please see Subutai's recent talk on how it works [1]. [1] https://www.youtube.com/watch?v=QZBtaP_gcn0 Hope this helps, Chetan > On Oct 15, 2015, at 12:34 AM, fuyajing <[email protected]> wrote: > > And another question: Both spRegion and tpRegion have an attribute > "bottomUpOut", which are arrays(0 and 1). How to decode the 01 array into a > predicted value? > For easier understanding, I want to express my understanding. If I have a > wrong explanation, please tell me. Thank you in advance. :) > For example, each attribute's value can be encoded into a 01 array, by > setting params w, n(or radius, or resolution) , max, min and so on. > A-->1111 0000 0000 0000 > B-->0000 1111 0000 0000 > C--> 0000 0000 1111 0000 > Monday-->111000000000 > Tuesday -->011100000000 > Thursday-->001110000000 > ... > Then if there are two attribute need to be encoded, we can just concatenate > them simply, we call it multiEncoder. > AMonday-->1111 0000 0000 0000 111000000000 > The multiEncoder is not SDR though there is little 1 and much 0.(Or > multiEncoder is sparse, not distributed? Which explanation is right?) It just > the input of the first spRegion. The out put of spRegion and tpRegion is SDR. > ( We can get it from "bottomUpOut"). From the SDR, we can't distinguish > which columns represent for which input bits, right? So to top level (for > example, classifier), we get a map from final active columns index (we call > it 'finalColumns') to sourceData. (If we want to predict A, it's a map from > finalColumns to A; if we want to predict Monday, it's a map from finalColumns > to Monday.) I think maybe it's the meaning of decode for HTM. The column > doesn't have a specific correspondence. Moreover, how to initialize the > connection relationship between the input 01 array and first spRegion's > columns? > > What's more, I can't understand the code segment in > nupic/examples/network/hierachy-network-demo.py.(line267-272) > > results = > classifier.getSelf().customCompute(recordNum=recordNumber,patternNZ=tpOutput,classification=classDict) > mostLikelyResult = sorted(zip(results[1], results["actualValues"]))[-1] > > How does each element of "results" come out? And I found the lengths of > result[1] and results["actualValues"] are variable lengths. > > Looking forward to hear from you at earliest. > > Jing > > > > > ------------------ 原始邮件 ------------------ > 发件人: "付亚静";<[email protected]>; > 发送时间: 2015年10月15日(星期四) 中午1:21 > 收件人: "fuyajing"<[email protected]>; > 主题: A tp program question > > Hello > I'm using network API to make predictions. The tp_params has an attribute > "cellsPerColumn". My question is: How to get the synapses connection between > columns or cells? Are there any method or code? > Thank you in advance. > > Jing
