我正在寻找一些相对简单的数据集,用于测试和比较人工神经网络的不同训练方法。 我希望数据不需要太多的预处理即可将其转换为输入格式,包括输入和输出的列表,并进行归一化处理(范围在0-1之间)。感谢提供任何链接。
我正在寻找一些相对简单的数据集,用于测试和比较人工神经网络的不同训练方法。 我希望数据不需要太多的预处理即可将其转换为输入格式,包括输入和输出的列表,并进行归一化处理(范围在0-1之间)。感谢提供任何链接。
为何不试试像sin函数这样简单的东西作为训练数据呢?既然你正在比较训练方法并且并不真正关心你在训练网络的东西,那么它应该能够工作并且很容易生成训练数据。
使用sin(x)来训练网络,其中x是输入,输出是函数的值。在你的情况下,额外的好处是结果的绝对值已经在0-1的范围内。同样适用于其他数学函数。
一些资源包括:
sinC 函数。
+----
| sin(x)
| ------- when x != 0
| x
sinC = |
|
| 1 otherwise
+----
如 @adrianbanks 所说,使用sin(x)
函数。
用于测试某些算法的修改的好老 n-奇偶性测试。
Iris数据集,semeion手写数字数据集等,任何其他函数以及更多数据集。
UCI机器学习存储库:archive.ics.uci.edu/ml/datasets.html
我认为您不需要对这些数据进行太多预处理。例如,对于分类变量,您可以使用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,则只需投入一些时间编写代码即可。我不知道这些环境中是否有可用的函数,我使用自己的代码来缩放和/或归一化数据。
当您使用函数时,您的工作会变得更加容易,并且一旦准备好数据,请将修改后的数据保存到文件中。
记住一件事,训练神经网络的目标不仅是以使其在某个训练集上良好地工作的方式训练网络。主要目标是训练网络,使其在网络尚未直接或间接地看到的新数据中具有最佳误差。
我在本科时学习了人工神经网络,并将其用于进行光学字符识别(OCR)。我认为这是一个不错的应用案例。
扫描两页文本,提取字母并形成训练/测试数据集(例如,8x8像素导致64个输入节点),标记数据。训练ANN并使用测试数据集获得分数。更改网络拓扑/参数并调整网络以获得最佳分数。
您可以在此处找到一些有趣的数据集,涵盖自然语言处理(NLP)、命名实体识别(NER)以及图像分类和边界框等方面: https://dataturks.com/projects/trending