Generating arbitrary complex synthetic datasets Not sure if this is the right place to post this question.
How can I generate arbitrary complex datasets? I want to generate datasets with arbitrary complexity (number of classes, input dimension) that I can use to train neutral networks and other classifiers. The input should be vectors of arbitrary size. The output a class label.
Are there any good approaches to this problem?
 A: I think implicit in the question is that the generated datasets should somehow resemble real world data -- otherwise it would be trivial to generate nonsensical datasets of any dimension and #classes.
On the other hand it seems a daunting task to do such a thing -- just think about the mind-boggling complexity that goes into the process of generating even a simple image classification dataset -- first the universe was created, such that matter and light behave in particular ways, then physics, biology, and civilization conspired to create those object categories (dog, cat, car, house), and of course there must be the accompanying development and evolution of language which led humans to categorize and label objects as they are currently. 
Anyway, here's my idea on how to do it:
Pick $C$ (number of classes) random binary strings from any reasonable distribution you wish. Interpret each string as a turing machine equipped with a random tape.
Pick $D$ (number of dimensions), and $N$ (number of samples per class). For each TM, run it for $D$ steps and take the first $D$ cells of the tape as a single sample. Repeat $N$ times. 
Now you have the natural task of classifying which samples belong to which TMs. 
