I will start off by saying that I don't have a concrete understanding of what's under the hood of a SVM classifier.
I am interested in using an SVM with the RBF kernel to train a two class classifier. I however find that the training (and even prediction) takes a lot of time when working with the RBF kernel (have been implementing on matlab using libsvm and python using sklearn).
My question is that is it possible to project my data into the higher dimension using an RBF kernel on its own and then apply a linear SVM to this transformed data, i.e. is that going to yield the same results as using an RBF SVM, as long as I use the same C and Gamma? I am not too sure how kernels are applied so I hope this part makes sense.
If that is true, that I could pre-process the data into the higher dimensional feature space using the RBF kernel and then the training and prediction much fast by using a simple linear classifier.
During prediction on a test set of T_s = 50,000 observations, it takes about 6 minutes, which is too slow for my purposes. I know I could parallelise the prediction but was thinking if it would be possible to store the full kernel matrix before hand.
Can you please provide more details on how much space would be needed to store a NxD data set. Will be it N^2 x D? Also does the prediction time scale linearly as T_s increases?
– Sooshii Jul 25 '14 at 04:31