1. A computer-implemented hierarchical network comprising a plurality of spatio-temporal learning nodes, wherein each spatio-temporal learning node comprises: a spatial pooler adapted to: receive a sensed input pattern; generate a first set of spatial probabilities associated with a set of spatial co-occurrence patterns, wherein each spatial co-occurrence pattern represents a first set of one or more sensed input patterns and each spatial probability in the first set of spatial probabilities indicates the likelihood that the sensed input pattern has the same cause as a spatial co-occurrence pattern; a temporal pooler adapted to: receive the first set of spatial probabilities from the spatial pooler; generate a set of temporal probabilities associated with a set of temporal groups based at least in part the first set of spatial probabilities, wherein each temporal group comprises one or more temporally co-occurring input patterns and each temporal probability indicates the likelihood that the sensed input pattern has the same cause as the one or more temporally co-occurring input patterns in a temporal group; and transmit the set of temporal probabilities to a parent node in the hierarchical network of nodes.