Les réseaux neuronaux. Questions des experts. - page 19

 

Un "petit" problème est apparu.

Si nous alimentons le même réseau avec les mêmes exemples de formation (TS), mais que nous l'initialisons avec des poids aléatoires avant la formation,

alors, à chaque fois, le réseau peut s'entraîner différemment, avec des résultats différents sur le même échantillon de test.

La bibliothèque FANN est utilisée.

Vous avez décidé de vérifier comment Statistics 6 se comporterait dans une situation similaire ?

Et là, des réseaux ayant la même architecture donnent des résultats différents.

À titre d'illustration, j'ai choisi deux réseaux dont les résultats sont très différents. Vous pouvez voir que leur performance est exactement l'inverse.


Les graphiques des seuils d'activation confirment que ces deux réseaux sur le même OP ont été formés de manière complètement différente.

(Les résultats complets pour tous les réseaux et les données pour tous les échantillons sont joints)


...............................................

Avez-vous des suggestions sur la façon d'atteindre la stabilité dans le processus d'apprentissage du réseau neuronal ?

 
lasso:

Un "petit" problème est apparu.....

le réseau peut s'entraîner différemment à chaque fois, avec des résultats différents sur le même échantillon de test.....

Pouvez-vous me dire comment atteindre la stabilité dans le processus de formation des réseaux neuronaux ?


Il s'agit donc d'une question de questions) De nombreuses méthodes sont utilisées pour l'entraînement des NS, mais toutes sont naturellement différentes de la force brute directe. Et tous ont un inconvénient essentiel commun : la paralysie ou l'enlisement dans un extremum local. Il n'existe pas de solution universelle, si ce n'est d'augmenter la qualité du mécanisme/algorithme d'apprentissage et d'augmenter le temps d'apprentissage (le nombre d'époques d'apprentissage). Et dans chaque cas, elle est résolue différemment.
 
lasso:

Pouvez-vous me dire comment atteindre la stabilité dans le processus d'apprentissage d'un réseau neuronal ?

Utilisez les GA.
 
lasso:


Pouvez-vous me dire comment atteindre la stabilité dans le processus d'apprentissage d'un réseau neuronal ?


SVM.

Exemple pour deux classes :

Plans de division possibles.... MLP BP trouvera l'un ou l'autre et arrêtera ......

Comme pour le SVM :

Ce modèle trouvera toujours un seul plan de séparation .....

Ou GA comme suggéré ci-dessus....

Bonne chance ....

 
Figar0:

C'est donc une question de questions) De nombreuses méthodes sont utilisées pour former les NS, mais toutes, pour des raisons évidentes, sont différentes de la force brute directe. Et ils ont tous un inconvénient essentiel commun : la paralysie ou le blocage dans un extremum local. Il n'existe pas de solution universelle, si ce n'est d'augmenter la qualité du mécanisme/algorithme d'apprentissage et d'augmenter le temps d'apprentissage (le nombre d'époques d'apprentissage). Et dans chaque cas, elle est résolue différemment.

S'il s'agit de rester coincé dans un extremum local, alors je pense que dans ce cas, les résultats devraient tous être "bons", et ne différer que dans une certaine fourchette -- "meilleur", "pire"...

Mais pas en changeant radicalement les résultats du test ! Vous comprenez ?

Voici les résultats des essais sur la période d'essai d'un mois :

-9337

+5060

+14522

+7325

+12724

-3475

+10924

-9337

+5060

-3475

-9337

-3475

................................

Ici, les camarades étrangers conseillent d'appliquer les comités de réseau

mais je ne pense pas que ce soit la meilleure solution...

En particulier, je vous le rappelle, les données OP proposées dans le problème, sont assez facilement séparables par des méthodes linéaires,

Et est-il impossible de trouver une solution simple et stable sous la forme de NS.

 

Je ne comprends pas ce qu'est l'AG, en quoi cela s'applique-t-il à la recherche ?

...............

C'est-à-dire appliquer GA non pas en plus des NS, mais à leur place ?

 
lasso:

Je ne comprends pas ce qu'est l'AG, en quoi cela s'applique-t-il à la recherche ?

...............

C'est-à-dire appliquer GA non pas en plus des NS, mais à leur place ?


Les GA peuvent prendre des poids NS, et tout peut être utilisé comme fonction de fitness... Vous pouvez chercher EMA GA si je me souviens bien...
Mais pour être honnête, je ne comprends pas comment ce GA va vous aider, il peut aussi s'arrêter à différents endroits... tout comme le NS...

Et en général, honnêtement, c'est un phénomène normal, tant qu'ils ne diffèrent pas trop...

 
lasso:

S'il s'agit de rester coincé dans un extremum local, alors je pense que dans ce cas, les résultats devraient tous être "bons", et ne différer que dans une certaine fourchette -- "meilleur", "pire"...

Mais pas en changeant radicalement les résultats du test ! Vous comprenez ?


Ici, il est probable que le réseau n'est pas sur- mais sous-entraîné. La raison en est, apparemment, une architecture insuffisante.

Bien qu'il puisse y avoir un surentraînement - si la structure du réseau est excessivement redondante et que l'initialisation initiale est aléatoire, alors le maillage peut rester bloqué à différents extrêmes à chaque fois, d'où la forte différence entre les résultats

 
alsu:

Ici, il est probable que le réseau n'est pas sur- mais sous-entraîné. La raison semble être un manque d'architecture de qualité.

Bien qu'il puisse être surentraîné - si la structure du réseau est excessivement redondante et que l'initialisation initiale est aléatoire, alors le maillage peut rester bloqué à différents extrêmes à chaque fois, d'où la forte différence de résultats

Quelles données ou résultats devez-vous fournir pour pouvoir déterminer concrètement quel est le problème ?
 

Une dernière chose. Je suis alarmé par l'"étroitesse" de la gamme des sorties réseau actuelles. Pour clarifier :

-- le réseau MLP est 1-7-1

-- Les sorties du réseau sont distribuées uniformément dans l'intervalle [0;1], les sorties dans les exemples de formation sont représentées par les valeurs 1 et -1.

Si, après la formation, toute la gamme des valeurs d' entrée est transmise au réseau, nous constatons que les sorties du réseau se situent dans une gamme très étroite. Par exemple :

opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034

ou encore

opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010

.............................

Est-ce correct ou non ?

Raison: