web-dev-qa-db-fra.com

Ensembles de données pour la formation de réseau de neurones

Je recherche des ensembles de données relativement simples pour tester et comparer différentes méthodes d’entraînement pour les réseaux de neurones artificiels. J'aimerais que les données qui ne nécessitent pas trop de prétraitement les transforment en mon format d'entrée d'une liste d'entrées et de sorties (normalisée à 0-1). Tous les liens appréciés.

34
Jeff Thomas

Pourquoi ne pas essayer quelque chose de simple comme la fonction péché en tant que données d'apprentissage? Étant donné que vous comparez les méthodes de formation et que vous ne vous souciez pas vraiment de la raison pour laquelle vous formez le réseau, les données de formation devraient être faciles à générer.

Entraînez le réseau en utilisant sin (x) où x est l'entrée et la sortie est la valeur de la fonction. Un avantage supplémentaire dans votre cas est que la valeur absolue du résultat est déjà comprise entre 0 et 1. Cela fonctionnerait également avec d'autres fonctions mathématiques.

32
adrianbanks

https://archive.ics.uci.edu/ml est le référentiel Irvine de l’Université de Californie, qui contient des jeux de données d’apprentissage automatique. C'est une très bonne ressource, et je pense qu'ils sont tous dans des fichiers CSV.

53
calebtomlinson

Certaines ressources sont

  • La fonction sinC. 

           +----
           |   sin(x)
           |  -------        when x != 0
           |     x
    sinC = |
           |
           |     1           otherwise
           +----
    
  • La fonction sin(x) est la même chose que @adrianbanks.

  • Pour tester une nouvelle modification apportée à un algorithme, utilisez les bons vieux tests de n-parité.

  • L'ensemble de données Iris, l'ensemble de données de chiffres écrit à la main Sémion, etc., toutes les autres fonctions et bien plus encore.

  • Le référentiel UCI Machine Learning: archive.ics.uci.edu/ml/datasets.html

  • Voici une autre ressource comportant de nombreux jeux de données de régression: www.dcc.fc.up.pt/~ltorgo//Regression/DataSets.html . Vous en obtiendrez bon nombre à partir du référentiel UCI ML.
  • Vous pouvez obtenir des ensembles de données auprès de https://www.kaggle.com/ pour divers ensembles de données pratiques.

Je ne pense pas que vous nécessitiez beaucoup de pré-traitement avec ceux-ci. Comme pour les variables catégorielles, vous pouvez les remplacer rapidement en utilisant un éditeur de texte à interface graphique. Par exemple, le jeu de données Abalone a un attribut catégorique, le genre, qui a trois valeurs "M" pour les hommes, "F" pour les femmes, "I" pour les nourrissons. Vous pouvez appuyer sur Ctrl + R dans votre éditeur de texte et remplacer toutes les occurrences de "M" par 1,0,0, toutes les occurrences de "F" avec 0,1,0 et toutes les occurrences de "I" avec 0,0,1 (étant donné que le fichier est au format CSV). Cela permettra de remplacer rapidement les variables catégorielles.

Si vous êtes dans R , vous pouvez utiliser la fonction normalizeData fournie avec le paquet RSNNS pour mettre à l’échelle et normaliser vos données dans les valeurs 0 et 1.

Si vous êtes dans un autre environnement comme octave ou matlab , vous pouvez simplement investir un peu de temps pour écrire votre code. Je ne connais pas les fonctions disponibles dans ces environnements, j'utilise mon code pour mettre à l'échelle et/ou normaliser les données.

Lorsque vous utilisez des fonctions, votre travail est beaucoup plus facile et une fois que vous avez préparé les données, enregistrez les données modifiées dans un fichier.

Souvenez-vous d'une chose: la formation d'un réseau de neurones ne vise pas uniquement à former le réseau de manière à ce qu'il fonctionne correctement sur un ensemble de formations donné. L'objectif principal est de former le réseau de manière à ce qu'il ait la meilleure erreur pour les nouvelles données que le réseau n'a pas vues (directement ou indirectement).

12
phoxis

http://neuroph.sourceforge.net/sample_projects.html Il existe de nombreux exemples de projets et de données célèbres.

6
greentec

Voici quelques bases de données sur l’écriture manuscrite et autres à des fins de formation.

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

Comme note intéressante, ~ Roweis s'est suicidé en 2010 après s'être battu avec sa femme: http://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html .

4
Kava

J'ai appris les ANN en tant qu'étudiant de premier cycle en les utilisant pour effectuer la reconnaissance optique de caractères (OCR). Je pense que c'est un cas d'utilisation gentil.

Numérisez deux pages de texte, extrayez les lettres et formez des ensembles de données de formation/test (par exemple, 8 x 8 pixels conduisent à 64 nœuds d’entrée), étiquetez les données. Entraînez l'ANN et obtenez un score en utilisant l'ensemble de données de test. Modifiez la topologie/les paramètres du réseau et réglez le réseau pour obtenir le meilleur score.

3
graveca

Vous pouvez trouver des jeux de données intéressants allant de NLP, NER à Image Classification, Bounding ici: https://dataturks.com/projects/trending

0
NooB8374