我正在寻找一些相对简单的数据集来测试和比较人工神经网络的不同训练方法。我希望数据不需要太多的预处理就可以将其转换为输入和输出列表的输入格式(归一化为0-1)。任何链接赞赏。
答案 0 :(得分:53)
https://archive.ics.uci.edu/ml是加州大学欧文分校的机器学习数据库。这是一个非常好的资源,我相信它们都是CSV文件。
答案 1 :(得分:32)
为什么不尝试像sin函数那样简单的训练数据呢?由于您正在比较培训方法并且并不真正关心您正在为网络培训的内容,因此应该可以轻松生成培训数据。
使用sin(x)训练网络,其中x是输入,输出是函数的值。在您的情况下,额外的好处是结果的绝对值已经在0-1范围内。它同样适用于其他数学函数。
答案 2 :(得分:12)
有些资源
sinC功能。
+----
| sin(x)
| ------- when x != 0
| x
sinC = |
|
| 1 otherwise
+----
sin(x)
函数@adrianbanks告诉。
为了测试某些算法的一些新修改,旧的n-parity测试。
Iris数据集,semeion手写数字数据集等,任何其他功能等等。
UCI机器学习库:archive.ics.uci.edu/ml/datasets.html
我认为你不需要对它们进行大量的预处理。与分类变量一样,您可以使用GUI文本编辑器快速替换它们。例如,Abalone数据集有一个分类属性,即性别,其中男性为“M”,女性为“F”,婴儿为“I”。您可以在文本编辑器中按Ctrl + R并将所有出现的“M”替换为1,0,0
,所有出现的“F”替换为0,1,0
,所有出现的“I”替换为0,0,1
(考虑到文件是CSV格式)。这将快速替换分类变量。
如果您在R,则可以使用RSNNS package附带的normalizeData
功能来缩放和标准化0和1中的数据。
如果您处于octave或matlab等其他环境中,则可以花些时间编写代码。我不知道这些环境中的可用功能,我使用我的代码来扩展和/或规范化数据。
当您使用功能时,您的工作变得更加容易,并且在准备数据后,将修改后的数据保存在文件中。
记住一件事,训练神经网络的目标不仅仅是训练网络,使其在某个训练集上运行良好。主要目标是训练网络,使其对网络未见(直接或间接)的新数据具有最佳误差。
答案 3 :(得分:6)
http://neuroph.sourceforge.net/sample_projects.html 有很多样本项目和着名数据。
答案 4 :(得分:4)
以下是一些用于培训目的的手写和其他数据库。
http://www.cs.nyu.edu/~roweis/data.html
作为一个有趣的旁注,~roweis在与妻子战斗后于2010年自杀:http://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html。
答案 5 :(得分:3)
我通过使用它们来执行OCR(光学字符识别)来学习人工智能作为本科生。我认为这是一个很好的用例。
扫描两页文本,提取字母并形成训练/测试数据集(例如,8x8像素导致64个输入节点),标记数据。训练ANN并使用测试数据集获得分数。更改网络拓扑/参数并调整网络以获得最佳分数。
答案 6 :(得分:0)
您可以在这里找到一些有趣的数据集:NLP,NER到图像分类,边界: https://dataturks.com/projects/trending