L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 499

 
Maxim Dmitrievsky:

Secondo me nessuno ha bisogno di tutti questi codici) tranne che per alcune funzioni di servizio, quindi ognuno è impegnato a fare qualcosa per se stesso.

Questa è una conseguenza della gerarchia della perfezione della conoscenza, ciò che è accessibile a una giraffa non è accettabile per un ippopotamo e viceversa, ecco perché ci sono diversi tipi di educazione in base al livello di perfezione della conoscenza, dalla scuola primaria alle istituzioni accademiche.

con rispetto.

 


Ho visto questo schema di un percetron. Di solito c'è un sommatore, ma ce ne sono tre. Quindi ci sono tre neuroni di attivazione?

L'ho fatto in MQL4:

   a1 = iAC(Symbol(), 0, 0);
   a2 = iAC(Symbol(), 0, 3);
   a3 = iAC(Symbol(), 0, 7);
   
   perceptron1[0]=w11 * a1 + w21 * a2 + w31 * a3;
   perceptron2[0]=w22 * a2 + w12 * a1 + w32 * a3;
   perceptron3[0]=w33 * a3 + w13 * a1 + w23 * a2;

Mi chiedo: è corretto? Per quanto ne so, ognuno dei tre ingressi (a1,a2,a3) è moltiplicato per il proprio peso a seconda dell'addizionatore.

Poi cercherò di sostituire la funzione lineare con quella sigmoidale di attivazione.

Chi può dire, è meglio usare un sommatore o più sommatori, non è chiaro, ha senso usare gli stessi ingressi con pesi diversi?

E volevo anche chiedere, se prendiamo il minimo, una rete a due strati, allora avremo bisogno di un sacco di variabili per l'ottimizzazione, per non parlare di tre o quattro strati.

Cioè, se tutti i livelli sono ottimizzati in una volta sola. Quante variabili si possono usare al massimo per ottenere più o meno i test, c'è qualche software per questo scopo?

 
forexman77:

Sono interessato se questo è corretto? Per quanto ho capito, ognuno dei tre ingressi a1,a2,a3 è moltiplicato per il proprio peso a seconda di quale sommatore colpisce.

Quasi giusto, c'è anche un bias che si aggiunge al risultato

   perceptron1[0]=w11 * a1 + w21 * a2 + w31 * a3 + w01;
   perceptron2[0]=w22 * a2 + w12 * a1 + w32 * a3 + w02;
   perceptron3[0]=w33 * a3 + w13 * a1 + w23 * a2 + w03;

Molto probabilmente i valori y1,y2,y3 sono usati nello strato interno di neuroni, e questi valori stessi dovrebbero essere usati anche come valori di input per lo strato successivo

perceptron4[0] = w14 * perceptron1[0] + w24 * perceptron2[0] + w34 * perceptron3[0] + w04;

Oppure se Y1,Y2,Y3 sono valori di uscita, allora diversi neuroni di uscita sono usati per la classificazione - per esempio se il valore più grande tra Y1,Y2,Y3 è Y1, allora il risultato è "classe 1", se il valore più grande è Y2, allora il risultato è "classe 2", se il valore più grande è Y3, allora il risultato è "classe 3". Se il neurone sarà usato per la regressione invece della classificazione, allora il neurone di uscita sarà solo uno. Se abbiamo due classi, possiamo usare un solo neurone di uscita (se il risultato è <0,5, allora sarà classe1, se >=0,5, allora sarà classe2).

È molto facile aggiungere una sigmoide per la funzione di attivazione di un neurone, avete bisogno di una tale funzione -

double sigmoid(double sum)
{
    if (sum < -15.0)
        return (0.0);
    else if (sum > 15.0)
        return (1.0);
    else
        return (1.0 / (1.0 + MathExp(-sum)));
}

E con esso si ottiene un neurone completo con uno strato interno (con tre perceptron) e un perceptron di uscita.

   perceptron1[0] = Sigmoid(w11 * a1 + w21 * a2 + w31 * a3);
   perceptron2[0] = Sigmoid(w22 * a2 + w12 * a1 + w32 * a3);
   perceptron3[0] = Sigmoid(w33 * a3 + w13 * a1 + w23 * a2);
   perceptron4[0] = Sigmoid(w14 * perceptron1[0] + w24 * perceptron2[0] + w34 * perceptron3[0] + w04);

risultato = perceptron4[0]

 
forexman77:

Quante variabili possono essere utilizzate il più possibile per produrre più o meno test, c'è qualche software per questo scopo?

Il numero di pesi in un neurone può essere di decine di migliaia o più. In mql e R ci sono bibilotek speciali per creare e addestrare i neuroni, è meglio lavorare attraverso di essi, piuttosto che programmare il proprio neurone da zero.

 
SanSanych Fomenko:

Vedo che non ti lascio respirare... fai un bel respiro e calmati.


Più si va avanti, più si diventa categorici ;))

 
SanSanych Fomenko:


Questo è formulato molto succintamente come un assioma della statistica (e di tutta la matematica, a proposito): Litter IN - Litter OUT.

Una persona che non sa questo, o non lo applica nella pratica, secondo me, appartiene agli zoticoni densi, indipendentemente dal fatto che conosca o meno la parola Perseptron.


Abbastanza giusto. Sono d'accordo.

 
Maxim Dmitrievsky:

Ho accidentalmente confuso le parole perché stavo leggendo di approssimazione in questo momento


grande ;))))

 
Oleg avtomat:

Abbastanza giusto. Sono d'accordo.


Sostenete flussi di coscienza inadeguati in risposta a domande specifiche? Ho notato da tempo che con l'età la coscienza delle persone diventa stantia, gli dite una parola e vi danno una buona parte delle loro fantasie insoddisfatte. Beh, certo che sì, perché si comunica allo stesso modo. O forse non è l'età ma una fondamentale incapacità di concentrarsi sul punto.

L'arte di rispondere è immergersi nel problema dell'interrogante, diventare lui per un po', capire di cosa ha bisogno e rispondere in un modo che lui capisca. Ma il solo fatto di sputtanarsi verbalmente non è arte ma autoaffermazione.

 
Maxim Dmitrievsky:

Sostenete flussi di coscienza inadeguati in risposta a domande specifiche? Ho notato da tempo che con l'età la coscienza delle persone diventa stantia, dite loro una parola e vi danno una buona parte delle loro fantasie insoddisfatte. Beh, certo che sì, perché voi comunicate allo stesso modo. O forse non è l'età ma una fondamentale incapacità di concentrarsi sul soggetto.

L'arte di rispondere è immergersi nel problema dell'interrogante, diventare lui per un po', capire di cosa ha bisogno e rispondere in un modo che lui capisca. Faccio solo cazzate non è un'arte ma un'affermazione di sé.


Per evitare confusione e per essere in grado di distinguere cosa è cosa - approssimazione, interpolazione, estrapolazione, e altri termini difficili per voi - dovreste aprire i libri di testo e imparare. Ma tu vuoi punteggiare i pulsanti e poi cercare di capire cosa stai facendo. Non avete la base di conoscenza per dare un senso a tutto questo. Allora avrai una comprensione, e sarai in grado di pianificare consapevolmente gli esperimenti, e condurre esperimenti significativi, e i risultati dei tuoi esperimenti saranno comprensibili per te.

 
Oleg avtomat:

Per evitare confusione e per essere in grado di distinguere cosa è cosa - approssimazione, interpolazione, estrapolazione, e altri termini complicati - si dovrebbe aprire un libro di testo e imparare. Ma tu vuoi punteggiare i pulsanti e poi cercare di capire cosa stai facendo. Non avete la base di conoscenza per dare un senso a tutto questo. Studiate, e poi capirete, e sarete in grado di pianificare esperimenti significativi, e condurre esperimenti significativi, e i risultati degli esperimenti vi saranno chiari.

Scusa, ma non hai dimostrato il tuo valore in nessuna delle mie domande, almeno non l'ho visto

Non hai bisogno di scrivere come Capitan Ovvio e capovolgere tutto per farti sembrare ancora importante.