I am learning the basics of data classification using competitive learning, and am somewhat confused regarding the way this is implemented.
I understand at the start an amount N of prototypes is randomly positioned in the input space. (Ie: weights of output neurons are randomly generated). Subsequently training the data over unlabeled sample input data and changing weight connections shifts each prototype towards the center of a cluster, such data data is more and more accurately labelled.
My question is: How do I know how many classes I want my data to be clustered in? Wouldn't this mean knowing the number of clusters/classes in advance? Are there any techniques to estimate this?
I looked at the leader-follower algorithm, which adds neurons whenever the closest neuron is still more distant than a threshold X. Would this solve the problem?