Question: I am looking for some relatively simple data sets for testing and comparing different training methods for artificial neural networks. I would like data that won't take too much pre-processing to turn it into my input format of a list of inputs and outputs (normalized to 0-1). Any links appreciated.

Answer: 
Some resources are

* The sinC function . 

```
       +----
       |   sin(x)
       |  -------        when x != 0
       |     x
sinC = |
       |
       |     1           otherwise
       +----

```
* The `sin(x)` function as @adrianbanks told.
* For testing some new modification to some algorithm the good old n-parity tests.
* The Iris dataset, semeion hand written digit data set etc, any other functions and a lot more.
* The UCI Machine Learning Repository: [archive.ics.uci.edu/ml/datasets.html](http://archive.ics.uci.edu/ml/datasets.html)
* Here is another resource having many regression datasets: [www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html](http://www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html) . You will get many of these from the UCI ML Repository.
* You can get data sets from <https://www.kaggle.com/> for various practical data sets.

I don't think you require a lot of pre-processing with these. Like for categorical variables, you can replace them with binary using a GUI text editor fast. For example the [Abalone](http://archive.ics.uci.edu/ml/datasets/Abalone) dataset has one categorical attribute, the Gender, which has three values "M" for male, "F" for female, "I" for infant. You can press Ctrl + R in your text editor and replace all occurrences of "M" with `1,0,0`, all occurrences of "F" with `0,1,0` and all occurrence of "I" with `0,0,1` (considering the file is in CSV format). This will make quick replacements of the categorical variables.

If you are in [R](http://www.r-project.org/), then you can use the `normalizeData` function which comes with the [RSNNS package](http://cran.r-project.org/web/packages/RSNNS/index.html) to scale and normalize your data in 0 and 1.

If you are in other environment like [octave](http://www.gnu.org/software/octave/) or [matlab](http://en.wikipedia.org/wiki/MATLAB), you can just invest some time to write your code. I am not aware of available functions in these environments, I use my code to scale and/or normalize the data.

When you use functions your work is made much easier, and once you prepare the data, save the modified data in a file.

Remember one thing, the target of training a neural-network is not just to train the network in a way such that it works good on a certain training set. The main target is to train the network such that it has best error for new data which the network haven't seen (directly or indirectly).
Here are some handwriting and other databases for training purposes.

<http://www.cs.nyu.edu/~roweis/data.html>

As an interesting side note, ~roweis commited suicide in 2010 after fighting with his wife: <http://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html>.