我正在寻找一些相对简单的数据集来测试和比较人工神经网络的不同训练方法。我希望不需要太多预处理的数据将其转换为输入和输出列表的输入格式(标准化为 0-1)。任何链接表示赞赏。
7 回答
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 存储库中获得其中的许多内容。
- 您可以从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 有很多示例项目和著名的数据。
以下是一些用于培训目的的手写和其他数据库。
http://www.cs.nyu.edu/~roweis/data.html
作为一个有趣的旁注,~roweis 在与妻子打架后于 2010 年自杀:http ://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html 。
我在本科时通过使用人工神经网络来执行 OCR(光学字符识别)来学习人工神经网络。我认为这是一个很好的用例。
扫描两页文本,提取字母并形成训练/测试数据集(例如 8x8 像素导致 64 个输入节点),标记数据。训练 ANN 并使用测试数据集获得分数。更改网络拓扑/参数并调整网络以获得最佳分数。
你可以在这里找到一些有趣的数据集,从 NLP、NER 到图像分类、边界: https ://dataturks.com/projects/trending