Подтвердить что ты не робот

Наборы данных для обучения нейронной сети

Я ищу некоторые относительно простые наборы данных для тестирования и сравнения различных методов обучения для искусственных нейронных сетей. Мне нужны данные, которые не потребуют слишком много предварительной обработки, чтобы превратить ее в мой формат ввода списка входов и выходов (нормированный на 0-1). Любые ссылки оцениваются.

4b9b3361

Ответ 1

Почему бы не попробовать что-то простое, как функция sin, как данные обучения? Поскольку вы сравниваете методы обучения и на самом деле не заботитесь о том, для чего вы тренируете сеть, она должна работать и быть легким для создания данных обучения.

Настройте сеть, используя sin (x), где x - вход, а выход - значение функции. Дополнительным преимуществом в вашем случае является то, что абсолютное значение результата уже находится в диапазоне 0-1. Он также будет работать с другими математическими функциями.

Ответ 2

https://archive.ics.uci.edu/ml - это реестр хранилищ данных машинного обучения в Университете Калифорнии в Ирвине. Это действительно отличный ресурс, и я считаю, что все они находятся в файлах CSV.

Ответ 3

Некоторые ресурсы

  • Функция sinC.

           +----
           |   sin(x)
           |  -------        when x != 0
           |     x
    sinC = |
           |
           |     1           otherwise
           +----
    
  • Функция sin(x) как @adrianbanks.

  • Для тестирования некоторой новой модификации какого-либо алгоритма старые старые тесты n-четности.

  • Набор данных Iris, набор данных с двумя цифрами, записанный вручную, и другие функции и многое другое.

  • Репозиторий для машинного обучения UCI: archive.ics.uci.edu/ml/datasets.html

  • Вот еще один ресурс, имеющий множество наборов данных регрессии: www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html. Вы получите много из них из репозитория UCI ML.
  • Вы можете получить наборы данных от https://www.kaggle.com/ для различных практических наборов данных.

Я не думаю, что вам нужно много предварительной обработки с ними. Как и для категориальных переменных, вы можете быстро заменить их двоичным кодом с помощью графического редактора графического интерфейса. Например, набор данных Abalone имеет один категориальный атрибут, Пол, который имеет три значения "M" для мужчин, "F" для женщин, "я" для младенцев, Вы можете нажать Ctrl + R в текстовом редакторе и заменить все вхождения "M" на 1,0,0, все вхождения "F" с 0,1,0 и все вхождения "I" с 0,0,1 (учитывая, что файл находится в Формат CSV). Это быстро заменит категориальные переменные.

Если вы находитесь в R, вы можете использовать функцию normalizeData, которая поставляется с пакетом RSNNS, чтобы масштабировать и нормализовать ваши данные в 0 и 1.

Если вы находитесь в другой среде, например octave или matlab, вы можете просто инвестировать некоторое время, чтобы написать свой код. Я не знаю доступных функций в этих средах, я использую свой код для масштабирования и/или нормализации данных.

Когда вы используете функции, ваша работа становится намного проще, и как только вы готовите данные, сохраните измененные данные в файле.

Помните одно: целью обучения нейронной сети является не просто обучение сети таким образом, чтобы она работала хорошо на определенном наборе тренировок. Основной целью является обучение сети таким образом, чтобы она имела лучшую ошибку для новых данных, которые сеть не увидела (прямо или косвенно).

Ответ 6

Я изучил ANN в качестве бакалавра, используя их для выполнения OCR (оптического распознавания символов). Я думаю, что это хороший вариант использования.

Сканирование на двух страницах текста, извлечение букв и формирование наборов учебных/тестовых наборов данных (например, 8x8 пикселей приводит к 64 входным узлам), пометьте эти данные. Обучите ANN и получите оценку, используя набор данных тестирования. Измените сетевую топологию/параметры и настройте сеть, чтобы получить лучший результат.