Interpolação, aproximação e afins (embalagem de algibe) - página 13

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

Bem, é disso que se trata. Qualquer polinômio de interpolação não é adequado para extrapolação. Fourier é exatamente o mesmo que a série original, e polinômios como Lagrange ou Taylor produzem curvas em forma de avalanche com aumento da taxa de variação de preço. Suavizar suaviza o quadro, mas não muito, e não é correto, pois perde a conexão com a fonte original.

Existe um método de extrapolação simples, claro e eficaz, que não está ligado à interpolação. Tendência.

Você é lento para se recuperar do stress do que leu, assim como os leitores anteriores, é um tópico diferente para discussão aqui

 
Maxim Dmitrievsky:

Você está tão lento a recuperar do estresse da leitura quanto os leitores anteriores, agora está fora do tópico

Sim, já está fora de tópico aqui.

 

Oi Maxim,

Há poucos dias você estava procurando por soluções de kernel para n vetores de entrada em vez de 2. Você já encontrou essa solução ou está tentando implementar de outra forma?

Se eu não estou errado, então ao invés de K (x, y) onde K é a função do núcleo , você está procurando a saída de K (x1, x2, x3, ..., xn). Estou correto no entendimento?

O que eu aprendi é que o núcleo da função é o valor escalar. Portanto, deve ser a soma de todos os produtos de ponto. Deveria ser algo como isto:

K (x1, x2, x3, ... xn) = Soma de todos os z (i). Z (i + 1) para todos i onde 0 <i < n

Pode ser para um loop em MQL5 com a soma de todas as funções da função kernel.

Eu não tenho como testá-lo. Mas você já tentou e testou algo semelhante? Ou me está faltando algo aqui em entendimento?

 
FxTrader562:

Oi Maxim,

Há poucos dias você estava procurando por soluções de kernel para n vetores de entrada em vez de 2. Você já encontrou essa solução ou está tentando implementar de outra forma?

Se eu não estou errado, então ao invés de K (x, y) onde K é a função do núcleo , você está procurando a saída de K (x1, x2, x3, ..., xn). Estou correto no entendimento?

O que eu aprendi é que o núcleo da função é o valor escalar. Portanto, deve ser a soma de todos os produtos de ponto. Deveria ser algo como isto:

K (x1, x2, x3, ... xn) = Soma de todos os z (i). Z (i + 1) para todos i onde 0 <i < n

Pode ser para um loop em MQL5 com a soma de todas as funções da função kernel.

Eu não tenho como testá-lo. Mas você já tentou e testou algo semelhante? Ou me está faltando algo aqui em entendimento?

Olá, na verdade não sei como fazer isso agora, porque esses algoritmos (como SVM ou processo gaussiano) funcionam apenas com produtos internos, não com um mapeamento de características. Estou procurando agora por uma boa idéia de como fazer melhor

 
Maxim Dmitrievsky :

Oi, na verdade não sei como fazer isso agora, porque esses algoritmos (como SVM ou processo gaussiano) funcionam apenas com produtos internos, não com um mapeamento de características. Estou procurando agora uma boa idéia de como fazer melhor.

Segundo meu entendimento, o kernel trick é um subconjunto do algoritmo SVM e por isso você quer dizer que você não está mais procurando implementar o kernel trick?

O que você chama de mapeamento de características é expresso em termos de produto de ponto ou produto interno dos polinômios do espaço superior no truque do kernel e assim, no meu entendimento, é apenas uma simples multiplicação das funções do kernel.

Para deixar claro, em K(x,y) você está planejando usar o preço fechado da vela de duas velas consecutivas como x e y para obter o grão ou você está tentando implementar algo mais?

 
FxTrader562:

Segundo meu entendimento, o kernel trick é um subconjunto do algoritmo SVM e por isso você quer dizer que você não está mais procurando implementar o kernel trick?

O que você chama de mapeamento de características é expresso em termos de produto de ponto ou produto interno dos polinômios do espaço superior em truque de kernel e assim, no meu entendimento, é apenas uma simples multiplicação das funções do kernel.

Para deixar claro, em K(x,y) você está planejando usar o preço fechado da vela de duas velas consecutivas como x e y para obter o grão ou você está tentando implementar algo mais?

Quero dizer, eu não entendo como mudar os vetores de entrada após a multiplicação, então eles são absolutamente iguais. Diz a necessidade de usar a matriz de Gram para colocar vetores (mapeamento de características), e depois algumas manipulações com ela. Aqui está o código de amostra com 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)

Agora eu só estou aprendendo sobre espaços vetoriais para entendê-lo

talvez seja melhor se formos ao 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:

Quero dizer, eu não entendo como mudar os vetores de entrada após a multiplicação, então eles são absolutamente iguais. Diz a necessidade de usar a matriz de Gram para colocar vetores (mapeamento de características), e depois algumas manipulações com ela. Aqui está o código de amostra com SVM

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

Agora eu só estou aprendendo sobre espaços vetoriais para entendê-lo

talvez seja melhor se formos ao en forum )

Naturalmente, o material de referência é dado nos outros fóruns onde a matriz de Gram é resolvida no vídeo. Estou tentando entender isso também.

Além disso, você já entendeu e implementou até agora na MQL5? Caso contrário, não adianta tentar mais:)

 
FxTrader562:

Naturalmente, o material de referência é dado nos outros fóruns onde a matriz de Gram é resolvida no vídeo. Estou tentando entender isso também. Aqui está apenas mais uma rápida referência em vídeo específica para a matriz grama:

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

Além disso, você já entendeu e implementou até agora na MQL5? Caso contrário, não adianta tentar mais:)

É um laço simples que calcula a matriz em gramas. mas, depois, trabalhando em solver quadrático, não tenho certeza para o que... ou já é apenas a lógica SVM :)

obrigado pelo vídeo

 
Maxim Dmitrievsky:

É um laço simples que calcula a matriz em gramas. mas, depois, trabalhando em solver quadrático, não tenho certeza para o que... ou já é apenas a lógica SVM :)

obrigado pelo vídeo

Exatamente... como eu disse, ele pode ser implementado provavelmente apenas com um loop na MQL5.

Bem, não precisamos nos preocupar com outras coisas, desde que nosso objetivo final seja alcançado:)

Desde que possamos pegar as entradas em Mql5 e obter as saídas como grãos como o esperado, então outras coisas não importam. Porque de qualquer forma a parte final será a parte de teste onde tudo será revelado se foi implementado corretamente ou não com base nos resultados.

A propósito, SVM é apenas uma técnica de classificação e o truque do kernel facilita o processo devido ao simples produto de ponto. Não acho que tudo da SVM precise ser implementado no truque do kernel, porque no truque do kernel tudo é feito pela própria função e, portanto, nada para fazer muito.

Além disso, este vídeo explica SVM em detalhes junto com o código de amostra em python usando o truque do kernel. Você pode dar uma olhada:

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

 
FxTrader562:

Mas eu não entendo como trabalhar com a matriz de Gram agora, porque esta não é uma nova característica transformada, sua matriz justa com produto escalar de características antigas

Razão: