"New Neural" è un progetto di motore di rete neurale Open Source per la piattaforma MetaTrader 5. - pagina 39
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Vogliamo costruire reti a base radiale?
hanno un forte bug, mentre imparano rapidamente, prevedono male su dati sconosciuti.
Corso generale (da http://www.intuit.ru/depa rtment/expert/neuro/ devi registrarti lì, se non vuoi registrarti - il nickname è Nic_Touch pas zdraste01 )
Conferenze http://www.softcraft.ru/neuro/ni/p00.shtml
Esempi di mappatura http://www.statsoft.ru/home/products/version6/snn.htm
Libri su modelli e metodi di formazione
u - ingresso attivatore
y - fattore di potenza supplementare.
Ovunque ci sia un esponente, si dovrebbe evitare di calcolare esponenti di numeri positivi per evitare di ottenere grandi numeri che superano i 32 bit. Per esempio, per calcolare sigma è meglio fare come segue
doppio x = -y*u;
doppio e=exp(-|x|);
se(x<=0) ritorno(1./(1.+e))
if(x>0)return(e/(1.+e));
Queste formule sono derivate abbastanza semplicemente. Se l'argomento esponente è negativo, lasciamo la formula invariata. Se è positivo, moltiplichiamo il numeratore e il denominatore per l'esponente dello stesso argomento, ma con segno negativo.
Ovunque ci sia un esponente, si dovrebbe evitare di calcolare esponenti di numeri positivi per evitare di ottenere grandi numeri che superano i 32 bit. Per esempio, il calcolo di sigma è migliore in questo modo
doppio x = -y*u;
doppio e=exp(-|x|);
se(x<=0) ritorno(1./(1.+e))
if(x>0)return(e/(1.+e));
Queste formule sono derivate abbastanza semplicemente. Se l'argomento esponente è negativo, lasciamo la formula invariata. Se è positivo, moltiplichiamo il numeratore e il denominatore per l'esponente dello stesso argomento, ma con segno negativo.
Stranamente la sigmoide stessa funziona correttamente anche con grandi input negativi, ma la funzione ipertangente fallisce, così ho aggiunto una sigmoide spostata in aggiunta agli algoritmi classici. La funzione funziona nello stesso limite dell'ipertangente, ma è più veloce e non ha problemi di #IND.
Allo stesso modo, con la regolazione dell'angolo di attacco (per piccoli valori del coefficiente y) l'ipertangente non raggiunge -1;1, la sigmoide spostata non ha questi problemi.
In generale chi vuole finalizzare l'ipertangente, ma penso che la funzione è poco promettente, non solo che devo salvare il risultato perché l'esponente è usato due volte, quindi ancora bisogno di controlli, più problemi con il mancato raggiungimento dei limiti quando si regola l'attacco.
La mia conclusione è che l'ipertangente è un no-go, la regola del sigmoide spostato.
La mia conclusione è che l'ipertangente è un no-go, la regola del sigmoide spostato.
distaccato.
È possibile fare un'implementazione più semplice della sigmoide nel limite [-1;1]
ma questa implementazione ha anche un problema con #IND, quindi è meglio aggiungere un paio di semplici operazioni che scrivere numerosi controlli
qui aggiungiamo + - / , quindi 3 operazioni extra contro un sacco di controlli
Questa è l'opzione migliore, sia in termini di facilità del campo di lavoro [-1;1] che di velocità di funzionamento. L'area di definizione è l'intera linea numerica.
Questa è esattamente la funzione di attivazione che sto usando ultimamente, avendo provato molte alternative e testato la loro velocità di esecuzione.
E questo è il mio preferito nella griglia dell'eco:
A proposito.
È necessaria una funzione sigmoidea.
I requisiti sono una forma normale della funzione stessa e della sua derivata (non troppo difficile da calcolare) e una forma normale della funzione inversa e della sua derivata.