R - Interprétation du tracé des réseaux de neurones

8

Je sais qu'il y a une question similaire sur stats.SE, mais je n'en ai pas trouvé qui réponde à ma demande; s'il vous plaît, avant de marquer la question en double, envoyez-moi un ping dans le commentaire.

Je gère un réseau de neurones basé sur la neuralnetprévision des séries temporelles de l'indice SP500 et je veux comprendre comment je peux interpréter le graphique affiché ci-dessous:

entrez la description de l'image ici

En particulier, je suis intéressé à comprendre quelle est l'interprétation du poids de la couche cachée et du poids d'entrée; quelqu'un pourrait-il m'expliquer comment interpréter ce nombre, s'il vous plaît?

Tout indice sera apprécié.

Quantopik
la source
2
Voici un article intéressant qui se rapporte à votre question. labs.eeb.utoronto.ca/jackson/ecol.%20modelling%20ANN.pdf
MrMeritology
Merci pour le commentaire, @MrMeritology! J'ai trouvé ça vraiment utile!
Quantopik
Bien que je sois sûr que vous serez en mesure de comprendre ce réseau neuronal (assez simple), si l'interprétabilité est une préoccupation relativement importante, vous ne devriez probablement pas utiliser un réseau neuronal en premier lieu. Y a-t-il une raison particulière pour laquelle vous en avez sélectionné un par rapport à d'autres algorithmes?
David
Oui, @David! Je voudrais apprendre à utiliser ce type de modèle. Je ne les ai jamais utilisés dans mon travail et j'étudie ça juste pour le plaisir. Avez-vous une idée de l'interprétation de l'intrigue?
Quantopik
J'ai besoin d'aide pour interpréter une analyse ANN. Quelqu'un peut-il m'aider?
Kalu brillant

Réponses:

7

Comme David le déclare dans les commentaires, si vous voulez interpréter un modèle, vous voudrez probablement explorer autre chose que des réseaux de neurones. Cela dit, vous voulez comprendre intuitivement le tracé du réseau, il vaut mieux y penser en ce qui concerne les images (quelque chose que les réseaux de neurones sont très bons).

  1. Les nœuds les plus à gauche (c'est-à-dire les nœuds d'entrée) sont vos variables de données brutes.
  2. Les flèches en noir (et les nombres associés) sont les poids que vous pouvez considérer comme la contribution de cette variable au nœud suivant. Les lignes bleues sont les poids de biais. Vous pouvez trouver le but de ces poids dans l'excellente réponse ici .
  3. Les nœuds du milieu (c'est-à-dire tout ce qui se trouve entre les nœuds d'entrée et de sortie) sont vos nœuds cachés. C'est là que l'analogie de l'image aide. Chacun de ces nœuds constitue un composant que le réseau apprend à reconnaître. Par exemple un nez, une bouche ou un œil. Cela n'est pas facile à déterminer et est beaucoup plus abstrait lorsque vous traitez avec des données autres que des images.
  4. Le nœud d'extrémité droite (nœud (s) de sortie) est la sortie finale de votre réseau neuronal.

Notez que tout cela omet la fonction d'activation qui serait également appliquée à chaque couche du réseau.

cdeterman
la source
Grande réponse @cdeterman! beaucoup de choses semblent être plus claires maintenant. dernière chose ... selon vous, comment puis-je backtester la capacité du modèle à prévoir la sortie en fonction de la valeur d'entrée. Je m'explique mieux; dans le cas où j'utilise un modèle logistique simple, je peux utiliser leβvecteur et les variables indépendantes pour calculer une prévision de la variable dépendante. Dans le modèle de réseau neuronal, comment puis-je faire cela?
Quantopik
@Quantopic Je pense que vous faites référence à la computefonction dans le neuralnetpackage. La source n'est pas terriblement complexe si vous souhaitez le faire à la main. Essentiellement, vous appliquez les poids et la fonction d'activation de chaque couche au résultat final.
cdeterman