我正在寻找一些相对简单的数据集来测试和比较人工神经网络的不同训练方法.我希望数据不需要太多的预处理就可以将其转换为输入和输出列表的输入格式(归一化为0-1).任何链接赞赏.
https://archive.ics.uci.edu/ml是加州大学欧文分校的机器学习数据库.这是一个非常好的资源,我相信它们都是CSV文件.
为什么不尝试像sin函数那样简单的训练数据呢?由于您正在比较培训方法并且并不真正关心您正在为网络培训的内容,因此应该可以轻松生成培训数据.
使用sin(x)训练网络,其中x是输入,输出是函数的值.在您的情况下,额外的好处是结果的绝对值已经在0-1范围内.它同样适用于其他数学函数.
有些资源是
sinC功能.
+---- | sin(x) | ------- when x != 0 | x sinC = | | | 1 otherwise +----
sin(x)
@adrianbanks 的功能告诉我们.
为了测试对某些算法的一些新的修改,旧的n-奇偶校验测试.
Iris数据集,semeion手写数字数据集等,任何其他功能等等.
UCI机器学习库:archive.ics.uci.edu/ml/datasets.html
这是另一个具有许多回归数据集的资源:www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html.您将从UCI ML Repository获得许多这些.
您可以从https://www.kaggle.com/获取各种实用数据集的数据集.
我认为你不需要进行大量的预处理.与分类变量一样,您可以使用GUI文本编辑器快速替换它们.例如,鲍鱼数据集有一个分类属性,即性别,其中男性为"M",女性为"F",婴儿为"I".您可以在文本编辑器中按Ctrl + R并将所有出现的"M"替换为1,0,0
所有出现的"F" 0,1,0
和所有出现的"I" 0,0,1
(考虑到文件是CSV格式).这将快速替换分类变量.
如果您在R中,则可以使用RSNNS包normalizeData
附带的功能来缩放和标准化0和1中的数据.
如果你在octave或matlab等其他环境中,你可以花一些时间来编写你的代码.我不知道这些环境中的可用功能,我使用我的代码来扩展和/或规范化数据.
使用函数时,您的工作变得更加容易,并且在准备数据后,将修改后的数据保存在文件中.
记住一件事,训练神经网络的目标不仅仅是训练网络,使其在某个训练集上运行良好.主要目标是训练网络,使其对网络未见(直接或间接)的新数据具有最佳误差.
http://neuroph.sourceforge.net/sample_projects.html 有许多示例项目和着名数据.