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

StackOverflow https://stackoverflow.com/questions/963041

  •  12-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

Некоторые ресурсы являются

  • Функция 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 и все возникновение "Я" с 0,0,1 (учитывая, что файл находится в формате CSV).Это позволит произвести быструю замену категориальных переменных.

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

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

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

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

http://neuroph.sourceforge.net/sample_projects.html Существует множество примеров проектов и известных данных.

Вот некоторые базы данных рукописного ввода и другие базы данных для учебных целей.

http://www.cs.nyu.edu /~roweis/data.html

В качестве интересного примечания, ~роуэйс покончил с собой в 2010 году после ссоры со своей женой: http://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html.

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

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

Вы могли бы найти несколько интересных наборов данных из NLP, от NER до классификации изображений, ограничиваясь здесь:https://dataturks.com/projects/trending

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top