My requirements are these:
- Fast classification of vectors of length 100 to one of 30000 classes
- Iterative learning (can improve the model after it was first learnt)
- Preferably available implementations in Matlab and Java
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.Sign up to join this community
I would suggest using Deep Learning and especially convolutional neural networks. This might be a generic approach to large scale classification tasks. One such example is identifying faces. As an example, 10.000 classes have been tackled by Sun et. al. in the following : http://ieeexplore.ieee.org/document/6909640/
And iterative learning is of course supported.
Well, it depends on the nature of the classes. Personally, I prefer the SVM because it's easy to work with and it works (Not that fast)! You can also use the k-means method (but it really slooooooooooooooooow especially with this number of classes). Another classifier worth looking into is the Adaboost, they say it's fast :)