2009-06-07 219 views
34

我正在寻找一些相对简单的数据集来测试和比较人工神经网络的不同训练方法。我希望数据不需要太多的预处理就可以将其转换为输入和输出列表的输入格式(标准化为0-1)。任何链接赞赏。用于神经网络训练的数据集

回答

28

为什么不尝试一些简单的sin函数作为训练数据呢?由于您正在比较培训方法,并且不真正关心您正在为网络培训什么,因此应该可以很轻松地生成培训数据。

使用sin(x)训练网络,其中x是输入,输出是函数的值。在你的情况下,额外的好处是结果的绝对值已经在0-1的范围内。它同样适用于其他数学功能。

+0

是的,这是一个很好的观点。另外,尽管如此,我还是喜欢一些更高维的问题。我想我也可以从等式生成它们。谢谢。 – 2009-06-08 00:24:28

+1

@JeffThomas我想知道是否有人用NN实际完成了SIN近似。如果是这样,你最后的错误和网络配置是什么? – 2016-11-01 14:01:48

3

我通过使用它们进行OCR(光学字符识别),学习了人工神经网络作为本科生。我认为这是一个很好的用例。

扫描两页文字,提取字母并形成训练/测试数据集(例如8x8像素导致64个输入节点),标记数据。训练ANN并使用测试数据集获得分数。更改网络拓扑/参数并调整网络以获得最佳分数。

11

一些资源

  • 正弦函数。

     +---- 
         | sin(x) 
         | -------  when x != 0 
         |  x 
    sinC = | 
         | 
         |  1   otherwise 
         +---- 
    
  • sin(x)功能@adrianbanks说。

  • 为了测试某些算法的一些新的修改,进行了良好的旧n-校验测试。

  • 虹膜数据集,semeion手写数字数据集等,任何其他功能和更多。

  • 的UCI机器学习库:archive.ics.uci.edu/ml/datasets.html

  • 这里有许多回归的数据集其他资源:www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html。你会从UCI ML知识库中获得许多这些。
  • 您可以从https://www.kaggle.com/获取各种实际数据集的数据集。

我不认为你需要大量的预处理与这些。就像分类变量一样,您可以使用GUI文本编辑器快速地将它们替换为二进制文件。例如,Abalone数据集有一个分类属性Gender,男性有三个值“M”,女性有“F”,婴儿有“I”。您可以在文本编辑器中按Ctrl + R,并将所有出现的“M”替换为1,0,0,将所有出现的“F”替换为0,1,0,将所有出现的“I”替换为0,0,1(考虑文件为CSV格式)。这将快速替代分类变量。

如果你在R,那么你可以使用normalizeData功能,自带的RSNNS package在0和1

规模和规范的数据如果是在其他环境,比如octavematlab,你可以只需投入一些时间来编写代码。我不知道这些环境中可用的功能,我使用我的代码来缩放和/或标准化数据。

当您使用功能时,您的工作变得更容易,并且一旦准备好数据,将修改后的数据保存在文件中。

记住一件事,培养神经网络的目标不仅仅是训练网络,使其在某个训练集上表现良好。主要目标是训练网络,使其对网络尚未见过的(直接或间接)新数据具有最佳误差。

+1

我到目前为止发现的有关数据集问题的最佳答案...! – 2015-10-21 15:35:01