I have a bunch of documents and would like to to assign one (or more) topics to each document. The topics can be quite wide ranging from political topics to sports, etc. I think the best way is to deal with this problem as a classification problem however my main issue is a good and accurate training data set. The data set should be quite generic and covers diverse range of topics. I'd like to know whether there is any training data set out there for this purpose? There might be some data sets mostly for research purposes but I need an accurate one (even if it deosn't come for free).
You suggest that the best way is to treat the problem as a classification problem. However, in many cases topic discovery or topic modelling is treated as an unsupervised learning problem, meaning that you do not need to have the correct label for each document beforehand. A well known probabilistic model for this purpose is Latent Dirichlet Allocation. In LDA, each document is represented as a bag of words. Words in each document are assumed to be generated from a number of topics. Topics (there can be more than one) in each documents are automatically discovered along with relevant weights (probabilities). Useful resources can be found on David Blei's page.
Following your latest comment with regards to "each document is talking about a unique topic", I would suggest you to try the mixture-of-unigrams topic model (i.e. one topic per document). The model details with Gibbs sampling-based inference are presented in:
Jianhua Yin and Jianyong Wang. 2014. A Dirichlet Multinomial Mixture Model-based Approach for Short Text Clustering. In Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 233–242.
You can also find my Java implementation for this model at http://jldadmm.sourceforge.net/
Mallet comes with a small sample corpus (some English and German texts from Wikipedia) to get the gist of it.
For learning a new tool I suggest that you first use a dataset that you already understand well.