Come si lavora con le reti neurali? - pagina 4

 
Grazie mille come essere umano!
 
alexjou:

- Il numero di strati è determinato dalla dimensionalità del vettore di input, cioè la rete è generata automaticamente definendo e inizializzando/leggendo le matrici di lavoro;

- il numero di neuroni in uno strato nascosto diminuisce progressivamente con l'aumento del numero di strati N secondo la legge 1/(2^N) ("cristalli risolutivi") o 1/N ("cristalli di memoria");


Sembra dimostrato che tre strati sono sufficienti per approssimare qualsiasi funzione. Sembra dare per scontato che ce ne siano di più. Da quali considerazioni?


In generale la concezione è molto vicina ai miei pensieri, anche se in termini di conoscenza di NS sono probabilmente ad uno stadio considerevolmente precedente. Sarebbe interessante comunicare. Puoi darmi il tuo indirizzo e-mail? Oppure scrivimi a likh su yandex ru.

 
Il problema qui è leggermente diverso.

Non si tratta di approssimazione di funzioni. Non so nulla della prova menzionata da te (non ho mai avuto bisogno di lavorare con reti proiettive), ma considerazioni generali suggeriscono che nell'approssimazione di funzioni arbitrarie il tipo di funzioni di base e la dimensione della base giocano un ruolo molto più grande, che la "stratificazione" della rete; tuttavia, questo è vero per i metodi proiettivi in generale.

Ho scelto la configurazione specificata di una rete perché è probabilmente il modo in cui il cervello degli esseri viventi è costruito e il modo in cui "impara" memorizzando e classificando in modo adattivo le informazioni in entrata. (Ho tormentato i miei colleghi biologi e medici quasi fino alla morte con le mie stupide domande, ma non hanno saputo dire nulla di preciso se non "perché ne hai bisogno" e "taglialo e provalo tu stesso"). Da qui la scelta della regola di Oia per modificare le scale - in questo caso non si può dire con certezza se si sta "imparando con un insegnante" o "senza un insegnante" (ho sempre trovato una tale divisione di nozioni eccessivamente artificiale per qualche motivo). È interessante notare che, a partire da un certo momento della regolazione delle scale, una tale rete smette di essere prevedibile, in altre parole, inizia a "comportarsi", anche se stiamo parlando solo di un tale "cristallo" finora.

In breve, la rete, insieme al metodo di regolazione delle sue scale, è stata costruita quasi interamente da considerazioni euristiche. Dopo tutto, allo scambio, che stiamo tutti cercando di sconfiggere, tali considerazioni, molto probabilmente, giocano tutt'altro che l'ultimo ruolo. Email: alex-jou Hund rambler Punkt ru (solo una richiesta molto grande - non aggiungerlo alla tua lista di contatti per evitare lo spam. In generale e chiedo a tutti di farlo - l'utilità di questo servizio è quasi nulla e il danno è enorme).
 
Candid:

Sembra dimostrato che tre strati sono sufficienti per approssimare qualsiasi funzione. Sembra dare per scontato che ce ne siano di più. Da quali considerazioni?

Questa prova non include il sigmoide che menziona. Quindi è solo teoricamente possibile approssimare qualsiasi funzione continua con un perceptron a tre strati. Nel campo applicato, purtroppo, i risultati sono molto peggiori.
 
Qualcuno sa qualcosa del pacchetto PolyAnalyst?
 
sayfuji:
La mia domanda è questa. Come lavorate con le reti neurali: implementate usando solo mezzi mql4 (la stessa Intelligenza Artificiale), usate programmi come MatLab, o speciali pacchetti neuro (Neuro Shell Day Trader, NeuroSolutions, ecc.), allegando una dll al codice dell'EA. Qual è il suo approccio e quali sono i suoi vantaggi rispetto agli altri (a parte la redditività)?

Ci sono vantaggi e svantaggi per ogni approccio:

1. Quando sviluppate la vostra rete neurale, non avete a che fare con una scatola nera, a meno che, ovviamente, non abbiate semplicemente preso il codice sorgente e l'abbiate compilato, ma da qualche parte avete aggiunto qualcosa di specifico al compito.

2. Quando compri una griglia proprietaria, ottieni: una scatola nera per i tuoi soldi, ma insieme ad essa: supporto, soluzioni pronte all'uso e sbiancatori di input proprietari.


In parole povere, se, per esempio, si acquista un pacchetto universale di predizione delle serie temporali, l'utente non deve pensare a cosa viene immesso negli input. Perché nel pacchetto, gli input sono le serie temporali così come sono. E nel pacchetto stesso, viene preparato preliminarmente per l'alimentazione agli ingressi della rete, cioè prima che la rete venga avviata per l'addestramento, lo sbiancamento avrà luogo:

1. Filtrare e smussare i dati di input per renderli più prevedibili e meno rumorosi

2. Normalizzazione di

3. Filtraggio ed eliminazione degli input meno significativi

4. Rimuovere le correlazioni tra gli input

5. Eliminare la linearità dai dati di ingresso

6. Selezione dei sigmoidi adeguati per i dati normalizzati

E così via.


Dopo di che, la rete viene addestrata. Poi i dati in uscita vengono recuperati. Per esempio, se la linearità è stata eliminata agli ingressi, il pacchetto la ripristina alle uscite. La merda agli ingressi si trasforma in dolcezza alle uscite. È abbastanza possibile, dal momento che abbiamo a che fare con una scatola nera, che invece della rete neurale il pacchetto utilizzi un algoritmo genetico o possa essere qualche regressione o qualche altro metodo di estrapolazione.

-+++------------------------------------------------------------------------------------------------------------------------------------------+++-

- Quindi, per quegli utenti che hanno intenzione di dilettarsi con le reti neurali ma non capiscono il termine "normalizzazione", è meglio ottenere un pacchetto universale per la previsione delle serie temporali in cui non solo si ottengono informazioni sulle serie temporali (citazioni) ma anche sulla dimensione del ritardo.

- Gli utenti più avanzati che conoscono le peculiarità delle architetture delle reti neurali, cioè hanno studiato vantaggi e svantaggi, dovrebbero acquistare pacchetti più specializzati. Tali pacchetti non sono adatti per dilettarsi, perché dovete trovare da soli l'architettura giusta per il compito dato. E il metodo "scientifico" come l'aggiunta di roba agli input non va bene qui, perché gli output molto probabilmente saranno anch'essi pieni di merda.

- Tutto il resto, cioè le reti assemblate da fonti non autorizzate o scritte da zero è adatto solo per coloro che hanno una reale esperienza nella preparazione dei dati di input prima di addestrare la rete e il recupero dei dati in uscita dopo l'addestramento.

Il principio di selezione dei pacchetti di reti neurali è oscenamente semplice: se non puoi fare la cacca - non torturare il tuo ano. Se avete comprato un pacchetto figo e avete domande sul suo uso a cui non siete in grado di rispondere da soli con l'aiuto dei manuali inclusi, significa solo una cosa: non camminate così, cioè comprate qualcosa di meno figo per persone più "stupide".

 

Il problema con le reti neurali è lo stesso di altri TC che non usano reti neurali - una rete neurale troverà sempre un modello in qualsiasi intervallo di tempo (allenamento o ottimizzazione), poi c'è la stessa domanda - questo modello funzionerà (porterà profitto) in futuro?

 

Reshetov:

Dalla merda sugli ingressi arrivano le caramelle sulle uscite.

Mai.

È abbastanza possibile, dato che abbiamo a che fare con una scatola nera, che invece di una rete neurale in un pacchetto proprietario venga usato un algoritmo genetico, o forse qualche regressione o qualche altro metodo di estrapolazione.

Come si relaziona la GA con la NS e la regressione?

NS è un metodo.

GA è un metodo.

"Usare GA al posto di NS" sembra assurdo. È come "sostituire il cuore con un analizzatore di gas di scarico".

Mi dispiace.

 
LeoV:

....... Poi sorge la stessa domanda - questo modello trovato funzionerà (porterà profitto) in futuro?

Supponiamo, in via puramente ipotetica, che si troverà, o si è già trovato, un modo per rispondere a questa domanda: "No". Inoltre, per qualsiasi TC. Quale conclusione si può trarre da questo?

I trader smetteranno di fare trading? Sono solo curioso però.

ZS. I commercianti compreranno informazioni affidabili che confermano che la risposta è "No"? O preferiscono non conoscere la risposta a questa domanda? (retorica, semmai)

 
joo:

Supponiamo, in via puramente ipotetica, che si troverà, o si è trovato, un modo per rispondere a questa domanda: "No". Inoltre, per qualsiasi TC. Quale conclusione trarresti da questo?

I trader smetteranno di fare trading? Sono solo curioso però.

ZS. I commercianti compreranno informazioni affidabili che confermano che la risposta è "No"? O preferiscono non conoscere la risposta a questa domanda? (retorica, semmai).

Pura scolastica, semmai.