Je déconne dans le terrain de jeu tensorflow . L'un des ensembles de données d'entrée est une spirale. Quels que soient les paramètres d'entrée que je choisis, quelle que soit la largeur et la profondeur du réseau neuronal que je fais, je ne peux pas s'adapter à la spirale. Comment les scientifiques des données adaptent-ils les données de cette forme?
neural-networks
classification
tensorflow
Souradeep Nanda
la source
la source
Réponses:
Il existe de nombreuses approches à ce type de problème. Le plus évident est de créer de nouvelles fonctionnalités . Les meilleures fonctionnalités que je peux proposer sont de transformer les coordonnées en coordonnées sphériques .
Je n'ai pas trouvé de moyen de le faire dans la cour de récréation, donc je viens de créer quelques fonctionnalités qui devraient aider à cela (fonctionnalités de péché). Après 500 itérations, il saturera et fluctuera à 0,1 point. Cela suggère qu'aucune amélioration supplémentaire ne sera apportée et je devrais probablement élargir la couche cachée ou ajouter une autre couche.
Pas étonnant qu'après avoir ajouté un seul neurone à la couche cachée, vous obtenez facilement 0,013 après 300 itérations. La même chose se produit en ajoutant une nouvelle couche (0,017, mais après 500 itérations beaucoup plus longues. Pas étonnant non plus car il est plus difficile de propager les erreurs). Vous pouvez très probablement jouer avec un taux d'apprentissage ou faire un apprentissage adaptatif pour le rendre plus rapide, mais ce n'est pas le point ici.
la source
la source
theta
la source
Ceci est un exemple de terrain de jeu Tensorflow vanille sans fonctionnalités ajoutées et sans modifications. La course pour Spiral se situait entre 187 et 300 époques, selon. J'ai utilisé la régularisation Lasso L1 pour éliminer les coefficients. J'ai diminué la taille du lot de 1 pour éviter que la sortie ne soit trop ajustée. Dans mon deuxième exemple, j'ai ajouté du bruit à l'ensemble de données, puis j'ai augmenté le L1 pour compenser.
la source
La solution que j'ai trouvée après une heure d'essai converge généralement en seulement 100 époques .
Oui, je sais qu'il n'a pas la frontière de décision la plus fluide, mais il converge assez rapidement.
J'ai appris quelques choses de cette expérience en spirale: -
Par coïncidence, la solution que j'ai trouvée est très similaire à celle fournie par Salvador Dali .
Veuillez ajouter un commentaire, si vous trouvez plus d'intuitions ou de raisonnements.
la source