Unsupervised learning is a form of learning in computational models such as connectionist (artificial neural network) models. In contrast to supervised learning, unsupervised learning algorithms work without providing explicit feedback on the error of the net with respect to its input (i.e., no teaching signal). Learning develops by using internal or statistical structure of data set, so that the responses (output) will be fully characterized statistical properties of inputs. Often, the aim of unsupervised learning algorithms is to cluster the input according to similarity. While this is biologically more plausible than providing an external teaching signal, problematic issues in this context are how many clusters to form, and when to stop training. Often, weights are adjusted until some internal constraint is fulfilled. It has been proposed that unsupervised learning occurs in cortex-based learning.