Interpolazione, approssimazione e simili (pacchetto alglib) - pagina 13

 
Алексей Тарабанов:

Beh, si tratta proprio di questo. Qualsiasi polinomio di interpolazione non è adatto all'estrapolazione. Fourier è esattamente la stessa cosa della serie originale, e polinomi come Lagrange o Taylor producono curve a valanga con un tasso crescente di variazione del prezzo. Lo smoothing lenisce l'immagine, ma non molto, e non è giusto perché perde la connessione con la fonte originale.

Esiste un metodo di estrapolazione semplice, chiaro ed efficace, che non è collegato all'interpolazione. Tendenza.

Sei lento a riprenderti dallo stress di quello che hai letto, proprio come i lettori precedenti, è un altro argomento di discussione qui

 
Maxim Dmitrievsky:

Sei lento a riprenderti dallo stress della lettura come i lettori precedenti, ora è off-topic

Sì, è già fuori tema qui.

 

Ciao Maxim,

Qualche giorno fa stavi cercando le soluzioni del kernel per n vettori di input invece di 2. Hai trovato questa soluzione o stai cercando di implementare qualche altro modo?

Se non mi sbaglio, allora invece di K (x, y) dove K è la funzione kernel , stai cercando l'output di K (x1, x2, x3, ..., xn). Ho capito bene?

Quello che ho imparato è che il kernel della funzione è il valore scalare. Quindi dovrebbe essere la somma di tutti i prodotti di punti. Dovrebbe essere qualcosa del genere:

K (x1, x2, x3, ... xn) = Somma di tutte le z (i). Z (i + 1) per tutti gli i dove 0 <i < n

Può essere per un ciclo in MQL5 con la somma di tutte le funzioni della funzione kernel.

Non ho modo di testarlo. Ma avete provato e testato qualcosa di simile? O mi manca qualcosa nella comprensione?

 
FxTrader562:

Ciao Maxim,

Qualche giorno fa stavi cercando le soluzioni del kernel per n vettori d'ingresso invece di 2. Hai trovato questa soluzione o stai cercando di implementare qualche altro modo?

Se non mi sbaglio, allora invece di K (x, y) dove K è la funzione kernel , stai cercando l'output di K (x1, x2, x3, ..., xn). Ho capito bene?

Quello che ho imparato è che il kernel della funzione è il valore scalare. Quindi dovrebbe essere la somma di tutti i prodotti di punti. Dovrebbe essere qualcosa del genere:

K (x1, x2, x3, ... xn) = Somma di tutte le z (i). Z (i + 1) per tutti gli i dove 0 <i < n

Può essere per un ciclo in MQL5 con la somma di tutte le funzioni della funzione kernel.

Non ho modo di testarlo. Ma avete provato e testato qualcosa di simile? O mi manca qualcosa nella comprensione?

Ciao, in realtà non so come farlo ora, perché questi algoritmi (come SVM o processo gaussiano) funzionano solo con prodotti interni, non con una mappatura delle caratteristiche. Sto cercando ora una buona idea su come fare meglio

 
Maxim Dmitrievsky :

Ciao, in realtà non so come farlo ora, perché questi algoritmi (come SVM o processo gaussiano) funzionano solo con prodotti interni, non con una mappatura delle caratteristiche. Sto cercando ora una buona idea su come fare meglio.

Secondo la mia comprensione il trucco del kernel è un sottoinsieme dell'algoritmo SVM e quindi vuoi dire che non stai più cercando di implementare il trucco del kernel?

Quello che voi chiamate mappatura delle caratteristiche è espresso in termini di prodotto di punti o prodotto interno dei polinomi dello spazio superiore nel trucco del kernel e quindi nella mia comprensione è solo una semplice moltiplicazione delle funzioni del kernel.

Per chiarire, in K(x,y) hai intenzione di usare il prezzo di chiusura di due candele consecutive come x e y per ottenere il kernel o stai cercando di implementare qualcos'altro?

 
FxTrader562:

Secondo la mia comprensione il trucco del kernel è un sottoinsieme dell'algoritmo SVM e quindi vuoi dire che non stai più cercando di implementare il trucco del kernel?

Quello che lei chiama mappatura delle caratteristiche è espresso in termini di prodotto di punti o prodotto interno dei polinomi dello spazio superiore nel trucco del kernel e quindi nella mia comprensione è solo una semplice moltiplicazione delle funzioni del kernel.

Per chiarire, in K(x,y) hai intenzione di usare il prezzo di chiusura di due candele consecutive come x e y per ottenere il kernel o stai cercando di implementare qualcos'altro?

Voglio dire che non capisco come cambiare i vettori di ingresso dopo la moltiplicazione, sono assolutamente uguali allora. Dice che bisogna usare la matrice di Gram per posizionare i vettori (feature mapping), e poi alcune manipolazioni con essa. Ecco un codice di esempio con SVM

https://pythonprogramming.net/soft-margin-kernel-cvxopt-svm-machine-learning-tutorial/

def polynomial_kernel(x, y, p=3):
    return (1 + np.dot(x, y)) ** p

# Gram matrix
        K = np.zeros((n_samples, n_samples))
        for i in range(n_samples):
            for j in range(n_samples):
                K[i,j] = self.kernel(X[i], X[j]) ??? Gram matrix 'K' is simmetrical. What we must do next, dont understand the code below

        P = cvxopt.matrix(np.outer(y,y) * K)
        q = cvxopt.matrix(np.ones(n_samples) * -1)
        A = cvxopt.matrix(y, (1,n_samples))
        b = cvxopt.matrix(0.0)

Ora devo solo imparare gli spazi vettoriali per capirlo

forse meglio se andiamo su en forum )

Python Programming Tutorials
  • pythonprogramming.net
Python Programming tutorials from beginner to advanced on a massive variety of topics. All video and text tutorials are free.
 
Maxim Dmitrievsky:

Voglio dire che non capisco come cambiare i vettori di ingresso dopo la moltiplicazione, sono assolutamente uguali allora. Dice che bisogna usare la matrice di Gram per posizionare i vettori (feature mapping), e poi alcune manipolazioni con essa. Ecco un codice di esempio con SVM

https://pythonprogramming.net/soft-margin-kernel-cvxopt-svm-machine-learning-tutorial/

Ora devo solo imparare gli spazi vettoriali per capirlo

forse meglio se andiamo su en forum )

Naturalmente, il materiale di riferimento è dato negli altri forum dove la matrice di Gram è risolta nel video. Anche io sto cercando di capirlo.

Inoltre, avete già capito e implementato fino ad ora in MQL5? Altrimenti, non ha senso provare oltre:)

 
FxTrader562:

Naturalmente, il materiale di riferimento è dato negli altri forum dove la matrice di Gram è risolta nel video. Anche io sto cercando di capirlo. Qui c'è solo un altro rapido riferimento video specifico per la matrice del grammo:

https://www.youtube.com/watch?v=8JiMUqbByGA

Inoltre, avete già capito e implementato fino ad ora in MQL5? Altrimenti, non ha senso provare oltre:)

È un semplice ciclo che calcola la matrice dei grammi... ma poi lavorando solutore quadratico, non sono sicuro per cosa... o è solo la logica SVM già :)

grazie per il video

 
Maxim Dmitrievsky:

È un semplice ciclo che calcola la matrice dei grammi... ma poi lavorando solutore quadratico, non sono sicuro per cosa... o è solo la logica SVM già :)

grazie per il video

Esattamente... come ho detto può essere implementato probabilmente solo con un ciclo for in MQL5.

Beh, non dobbiamo preoccuparci di altre cose finché il nostro obiettivo finale è raggiunto:)

Voglio dire che finché possiamo prendere gli input in Mql5 e ottenere gli output come kernel come previsto, allora le altre cose non hanno importanza. Perché comunque la parte finale sarà la parte di test dove tutto sarà rivelato se è stato implementato correttamente o no in base ai risultati.

A proposito, SVM è solo una tecnica di classificazione e il trucco del kernel lo rende facile grazie al semplice prodotto di punti. Non credo che tutto ciò che riguarda SVM debba essere implementato nel trucco del kernel, perché nel trucco del kernel tutto è fatto dalla funzione stessa e quindi non c'è molto da fare.

Inoltre, questo video spiega SVM in dettaglio insieme al codice di esempio in python usando il trucco del kernel. Potete dare un'occhiata:

https://www.youtube.com/watch?v=N1vOgolbjSc&t=157s

 
FxTrader562:

Ma non capisco come lavorare con la matrice Gram ora, perché questa non è una nuova caratteristica trasformata, è solo una matrice con il prodotto scalare delle vecchie caratteristiche