Come si valuta praticamente il contributo di un input "specifico" al NS?

 

Non proprio venerdì, ma ...

C'è un NS, qualsiasi NS, c'è un input A={A1, A2, .... A20}. Allenare il NS e ottenere un risultato soddisfacente. Come valutare praticamente il contributo di ogni elemento dell'input A1, A2, ... A20 a questo risultato?

Le opzioni che mi vengono in mente sono:

1) In qualche modo sommare e calcolare tutti i pesi dell'elemento con cui passa attraverso la rete. Non mi è molto chiaro come farlo, dovrei immergermi nel funzionamento della rete e calcolare in qualche modo alcuni coefficienti, ecc.

2) Provate ad "azzerare" in qualche modo, o per esempio ad invertire un elemento del vettore di input e vedere come influisce sul risultato finale. Finora ho deciso di farlo.

Ma prima di realizzare questa seconda variante ho deciso di chiedere consiglio. Chi può aver pensato a questo argomento più a lungo di me? Forse qualcuno può consigliare un libro-articolo?

 
Figar0:

Non proprio venerdì, ma ...

C'è un NS, qualsiasi NS, c'è un input A={A1, A2, .... A20}. Allenare il NS e ottenere un risultato soddisfacente. Come valutare praticamente il contributo di ogni elemento dell'input A1, A2, ... A20 a questo risultato?

Le opzioni che mi vengono in mente sono:

1) In qualche modo sommare e calcolare tutti i pesi dell'elemento con cui passa attraverso la rete. Non mi è molto chiaro come farlo, dovrei immergermi nel funzionamento della rete e calcolare in qualche modo alcuni coefficienti, ecc.

2) Provate ad "azzerare" in qualche modo, o per esempio ad invertire un elemento del vettore di input e vedere come influisce sul risultato finale. Finora ho deciso di farlo.

Ma prima di realizzare questa seconda variante ho deciso di chiedere consiglio. Forse qualcuno ha pensato a questo argomento più a lungo di me? Forse qualcuno può consigliare un libro-articolo?


o forse escludere questo input e provare a insegnare senza di esso. Se il risultato è quasi identico, non hai davvero eliminato l'elemento giusto :)
 
Avals:

O forse escludere questo input e provare ad allenarsi senza di esso. Se il risultato è quasi identico, allora non abbiamo escluso l'elemento giusto :)


Ecco il quadro: questo approccio dipenderà fortemente dal metodo di formazione, o meglio dalla capacità della formazione di trovare il massimo assoluto. Io per esempio non mi faccio illusioni a questo proposito, sono sicuro che usando GA per allenare 300 pesi non lo troverò. Quindi un po' di massimo locale, ma mi sta bene. Escludendo qualcosa posso ottenere un risultato altrettanto buono, ma solo una variante diversa di NS. Ma se potessi addestrare NS per mezzo di ISC, cioè per trovare l'unica soluzione corretta - allora farei esattamente questo.

In ogni caso, il mio compito è diverso: c'è un NS, c'è un input, c'è un risultato di apprendimento e bisogna trovare il grado di influenza di ogni elemento dell'input sul risultato finale.

 
Figar0:


Qui il quadro è il seguente: questo approccio dipenderà fortemente dal metodo di apprendimento, o meglio dalla capacità di apprendimento di trovare il massimo assoluto. Non mi faccio illusioni, sono sicuro che non posso trovare il massimo assoluto allenando 300 pesi con GA. Quindi un po' di massimo locale, ma mi sta bene. Escludendo qualcosa posso ottenere un risultato altrettanto buono, ma solo una variante diversa di NS. Ma se potessi addestrare NS per mezzo di ISC, cioè per trovare l'unica soluzione corretta - allora farei esattamente questo.

In ogni caso, il mio compito è diverso: c'è un NS, c'è un input, c'è un risultato di apprendimento e bisogna trovare il grado di influenza di ogni elemento dell'input sul risultato finale.


Allora l'opzione 2. Ma probabilmente non azzerando o invertendo, ma sostituendo con casuale (rumore)
 
Avals:

ma sostituiscilo con quello casuale (rumore)
Sì, probabilmente è una cosa sensata da fare. E per la purezza dell'esperimento, fallo ad ogni elemento più volte. Dovrò pensarci ....
 
Un'altra opzione è provare tutte le reti con 1 ingresso, poi 2 ingressi, poi 3 ingressi, ecc. :-)
 
jartmailru:
Un'altra opzione è provare tutte le reti con 1 ingresso, poi 2 ingressi, poi 3 ingressi, ecc. :-)

È proprio quello che stavo pensando... Dovrei cercare in qualche modo di rendere conto dell'interrelazione degli input, cioè escludere o includere anche gli input nei gruppi.
 
Ha iniziato a sperimentare, eliminando diverse combinazioni da 1 a 5 ingressi. I risultati sono molto interessanti, ma non so ancora come interpretarli) Alcuni risultati sono così inaspettati... Dovrò grattarmi la testa per molto tempo.
 
Figar0:
I risultati sono molto interessanti, ma non so come interpretarli).
Interpretare correttamente. Se lo interpreti male, puoi confonderti e non arrivare a nulla.
 
Figar0:
Ha iniziato a sperimentare, eliminando diverse combinazioni da 1 a 5 ingressi. I risultati sono molto interessanti, ma non so ancora come interpretarli) Alcuni risultati sono così inaspettati... Dovrò grattarmi la testa per molto tempo.

Qual è la sorpresa?
 

Il grado di influenza di ogni input è praticamente impossibile da valutare . Ci sono tutti i tipi di formule matematiche, e software specializzati possono calcolare automaticamente il grado di influenza. Ma tutti questi calcoli sono solo un valore arbitrario, che non dice molto, perché può avere un grande errore.

Per esperienza, solo un trader che sa per esperienza quale strumento ha una maggiore influenza su un altro strumento (quando si parla di entrate multivaluta) può determinarlo.

Se stiamo parlando della selezione di indicatori come input dallo stesso simbolo su cui facciamo trading, la selezione di un input da vari indicatori non ha quasi nessun effetto sull'output della rete neurale poiché la rete neurale è molto non lineare e quindi quasi non si preoccupa di cosa viene inserito - stocastico o mcd o altro. Quindi ci sarà sicuramente qualche differenza, ma non drastica o generalmente notevole che praticamente non influenza il risultato.