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

 
alexeymosc:
C'è anche una situazione opposta: teoricamente è possibile che ci siano due input con alta informatività e uno con bassa. Logicamente, vuoi rimuovere il terzo, ma se lo rimuovi, la complessa relazione quadro (tre ingressi - uscita) sarà distrutta, e i due ingressi rimanenti non saranno più così informativi.

Quindi lo faccio su un esempio per così dire già pronto e vedo subito il cambiamento nel risultato del NS sia sul campione di allenamento che al di fuori di esso. Se qualcosa crolla, dovrebbe influenzare il risultato finale. Ho rimosso un input e non c'è stata degradazione; ho rimosso un altro input e c'è stata una degradazione di meno dell'1% del risultato finale; ho rimosso il terzo input e c'è stata una degradazione del 10%. Poi lo stesso con combinazioni di 2 ingressi, 3 ingressi ecc.

Ci sto lavorando solo da un paio d'ore, ma ho già trovato un input vuoto, la duplicazione completa di un altro input (come risultato di un errore) e 2 input, il cui impatto è anche un minimo di decimi di percentuale. Penso che questi 3 ingressi siano esattamente inutili.

Ho anche trovato 2 ingressi la cui esclusione non peggiora il risultato, che era chiaro, ma lo migliora, il che è inaspettato. Con loro dovrei sperimentare di più, le voci non sono ovviamente vuote e la loro influenza sul risultato, anche se in direzione opposta, può dimostrarlo.

Grazie a tutti voi, ho davvero ricevuto dei consigli utili.

 
Figar0:

Quindi lo faccio su un campione pronto, per così dire, e vedo immediatamente il cambiamento nel risultato del NS sia sul campione di allenamento che fuori di esso. Se qualcosa crolla, dovrebbe influenzare il risultato finale. Ho rimosso un input e non c'è stata degradazione; ho rimosso un altro input e c'è stata una degradazione di meno dell'1% del risultato finale; ho rimosso il terzo input e c'è stata una degradazione del 10%. Poi lo stesso con combinazioni di 2 ingressi, 3 ingressi ecc.


Questo è il modo più affidabile di selezionare gli input - forza bruta. È difficile, ma è onesto. Buona fortuna!
 

Per 20 ingressi, una spazzata pulita è qualcosa come 2^20 combinazioni, cioè un milione.

Mi viene in mente di nuovo la teoria dell'informazione, ma non ho intenzione di consigliare nulla.

 
Mathemat:

Per 20 ingressi, una spazzata pulita è qualcosa come 2^20 combinazioni, cioè un milione.

Quindi, si può passare attraverso "da qui fino alla cena" o "fino a quando non ci si annoia"...
E poi un test genetico... ...prova.
 

È possibile determinare la "non necessità" di un input. Più il peso di un neurone è vicino a 0, più è "inutile". Essenzialmente, il valore di un neurone è moltiplicato per 0, equalsiasi cosa ci sia dentro risulterà in 0, cioè nessuninput.

Lo svantaggio maggiore di avere un tale neurone inutile è un tempo di apprendimento inutilmente aumentato.

Ma tali neuroni "inutili" possono verificarsi non solo nello strato di ingresso della griglia, ma in qualsiasi dei suoi strati.

È possibile automatizzare il processo di ricerca dei neuroni inutili dopo l'allenamento di prova - prendere un valore modulo del peso del neurone e se il valore è inferiore a un certo valore di soglia, annullarlo. Allora dovete analizzare quali neuroni hanno peso 0 ed escluderlo dalla rete e riallenare - l'allenamento sarà significativamente più veloce e il risultato sarà lo stesso. E, naturalmente, utilizzare successivamente una maglia così sottile.

 
joo:

È possibile determinare la "non necessità" di un input. Più il peso di un neurone è vicino a 0, più è "inutile". Essenzialmente, il valore di un neurone è moltiplicato per 0, equalsiasi cosa ci sia dentro risulterà 0, cioè l'input è come se non esistesse affatto.


Questo è vero. ma da dove viene l'ingresso sempre uguale a zero? non può esistere una cosa del genere.

Molto probabilmente, in questo caso stiamo parlando di un segnale che è incommensurabilmente più piccolo degli altri segnali.

Il segnale di SSI sarà milioni di volte più grande del segnale di OsMA. Questi segnali sono incommensurabili e non possono essere utilizzati senza scalarli alla stessa scala.

 
joo:


Ma, tali neuroni "inutili" possono finire non solo nello strato di input della maglia, ma in qualsiasi strato della maglia.


Questo non può accadere se le trasformazioni nei neuroni sono non lineari
 
mersi:

È vero, ma da dove viene il segnale di ingresso sempre uguale a zero?

Molto probabilmente, in questo caso stiamo parlando di un segnale incommensurabilmente più piccolo degli altri segnali. questo può essere facilmente corretto dalla conversione del segnale.

Il segnale di SSI sarà milioni di volte più grande del segnale di OsMA. Questi segnali sono incommensurabili e non possono essere utilizzati senza ridimensionarli.

Pensavo che per tutti i neuronisti, portare (scalare) i segnali per la rete in una gamma, adatta ad alimentare la rete, è come il "Padre Nostro", ma mi sbagliavo, per come la vedo io. :)

Quindi, i segnali sono scalati e variano, diciamo, nell'intervallo [-1.0;1.0]. Ma uno dei neuroni di ingresso ha peso 0. Cosa significa? - Significa che la rete non si preoccupa del valore che questo neurone ha in ingresso, il risultato della rete non dipende da questo ingresso.

mersi:
questo non può accadere con trasformazioni non lineari nei neuroni

Può benissimo accadere. E spesso accade così quando ci sono più neuroni negli strati interni di quanto sia necessario per risolvere un problema.

 
joo:

Pensavo che per tutti i neuronisti, portare (scalare) i segnali per la rete in una gamma, adatta all'alimentazione della rete, fosse come il 'Padre Nostro', ma mi sbagliavo, come vedo. :)

Quindi, i segnali sono scalati e variano, diciamo, nell'intervallo [-1.0;1.0]. Ma uno dei neuroni di ingresso ha peso 0. Cosa significa?- Significa che la rete non si preoccupa del valore che questo neurone ha in ingresso - il risultato del funzionamento della rete non dipende da questo ingresso.

Potrebbe benissimo essere così. E questo è spesso il caso quando ci sono più neuroni negli strati interni di quanto sia necessario per risolvere un compito.

A prima vista questa affermazione non sembra falsa.

Tuttavia, i dati dell'ingresso Xi sono alimentati simultaneamente a diversi neuroni e tutte le loro sinapsi non sono necessariamente uguali a zero, quindi escludere l'ingresso Xi cambierà completamente l'uscita della rete.

--------------

Più neuroni ci sono nella rete, più la rete neurale è accurata e complessa da risolvere.

Gli stessi sviluppatori di NS limitano il numero di neuroni in una rete per la ragione di una sufficiente accuratezza del risultato per un tempo di apprendimento accettabile, poiché il numero di epoche richieste per l'addestramento della rete cresce in una dipendenza di potenza dal numero di neuroni.

 
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) Somma e calcola in qualche modo tutti i pesi con cui l'elemento 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 un consiglio. Chi può aver pensato a questo argomento più a lungo di me? Forse qualcuno può consigliarmi un libro-articolo?

Applicare un solido approccio scientifico al di fuori del suo contesto econometrico solleva domande infantili.

Fare una regressione:

Profitto = s(1) * A0 + ... s(n) * A(n)

Stimiamo i coefficienti di questa regressione.

Immediatamente otteniamo

probabilità che un coefficiente specifico sia uguale a zero - cancelliamo un tale ingresso

la probabilità che tutti i coefficienti presi insieme siano uguali a zero

con le ellissi otteniamo i coefficienti di correlazione

test per ingressi ridondanti

condurre un test per gli input mancanti

testare la stabilità dei valori dei coefficienti (valutare la loro casualità)

Motivazione: