Hello Sebastián, Please see my answers below:
> > 1) What do the matchingSegments and matchingCells represent? > I think we recently include the logic here to model "long-term depression". That is if the segment has sufficient activity at time t, but does not become active at time t+1, it represents a potential false prediction and should be punished. "sufficient activity" here means number of active inputs is above minThreshold. matchingSegments and matchingCells are used to determine predicted but inactive cells at the next time step (see line 376 of learnOnSegments). This logic speeds up the forgetting of false predictions, but it should be used with caution. If your problems has multiple correct predictions, then it is OK to have some false predictions. Generally speaking, the ratio between permanenceIncrement and predictedSegmentDecrement determines how many multiple predictions can the model make at any time. > 2) minThreshold is supposed to be the minimum number of synapses a segment > must have in order to be considered for bursting, what does it do here? > activationThreshold is the threshold for activation of a segment: if a segment has more than activationThreshold number of active synapses, it will fire a dendritic spike and depolarize the cell body. minThreshold is typically lower than activationThreshold and is only used in learning phase (not in inference phase). It are used in two places as far as I know. 1. If the number of synapses active on a segment is at least this threshold, it is selected as the best matching cell in a bursting column. (see function bestMatchingSegment) 2. It is used to determine predicted but inactive cells and segments as described above. > 3) As I see it, the if also grabs the permanneces above the connected > threshold, why is that? > I am not sure which "if" you are referring to here. Could you clarify your question? Yuwei
