Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2253

 
Vladimir Perervenko:

Digamos que (nem tudo no código Python faz sentido para mim). Onde está o treino para este BAE?

Está em pyTorch?

tudo em chamas

o codificador funciona, só que os resultados são piores.

em resumo, o modelo de distância Kullback-Leibner é muito difícil de aprender, é um problema descrito com os codificadores de variação

na verdade, o algoritmo "converge" após 2-3 épocas e nada acontece mais

Um dos principais inconvenientes dos autoencoders variacionais é que o integral do termo de divergência KL não tem uma solução analítica de forma fechada, exceto por um punhado de distribuições. Além disso, não é simples usar distribuições discretas para o código latentez z . Isto porque a retropropagação através de variáveis discretas geralmente não é possível, tornando o modelo difícil de treinar eficientemente. Uma abordagem para fazer isso na configuração da VAE foi introduzidaaqui
.
Discrete Variational Autoencoders
  • arxiv.org
Download PDF Probabilistic models with discrete latent variables naturally capture datasets composed of discrete classes. However, they are difficult to train efficiently, since backpropagation through discrete variables is generally not possible. We present a novel method to train a class of probabilistic models with discrete latent variables...
 
mytarmailS:

você tem acesso aos pesos da rede e a capacidade de mudá-los?

Claro, mas eu não preciso.

 
Maxim Dmitrievsky:

tudo na tocha.

o codificador funciona, só que os resultados são piores.

em resumo, o modelo de distância Kullback-Leibner é muito difícil de aprender, este é um problema descrito de codificadores de variação

na verdade, o algoritmo "converge" após 2-3 épocas e nada acontece mais

Um dos principais inconvenientes dos autoencoders variacionais é que o integral do termo de divergência KL não tem uma solução analítica de forma fechada, exceto por um punhado de distribuições. Além disso, não é simples usar distribuições discretas para o código latentez z . Isto porque a retropropagação através de variáveis discretas geralmente não é possível, tornando o modelo difícil de treinar eficientemente. Uma abordagem para fazer isso na configuração da VAE foi introduzidaaqui
.

O artigo fala de outra coisa. Trata do caso em que todos os palpiteiros são discretos [0,1]. Então há um problema. A rede neural não entende os preditores com variação zero.

O seu caso, como eu o entendo, é ligeiramente diferente. Você tem preditores combinados (contínuos) e o alvo (matriz discreta ncol=3) na entrada. Você tenta obter uma distribuição qualitativa dos latentes a partir da qual você gera (restaura) os de entrada, incluindo o alvo, praticamente sem treinamento. Eu entendi bem? Não terá sucesso qualitativamente. O artigo mostra o caminho da solução. Para converter o alvo discreto para contínuo usando RBM, conecte com outros preditores e mais adiante para VAE (treinamento!). E depois recuperar exemplos da VAE treinada e restaurar o alvo novamente com o RBM. É bastante complicado. Mas pode funcionar.

Vou tentar com um AE comum.

Boa sorte.

 
Vladimir Perervenko:

O artigo é sobre outra coisa. Trata do caso em que todos os palpiteiros são discretos [0,1]. Então há um problema. A rede neural não entende os preditores com variação zero.

O seu caso, como eu o entendo, é ligeiramente diferente. Você tem preditores combinados (contínuos) e o alvo (matriz discreta ncol=3) na entrada. Você tenta obter uma distribuição qualitativa de latentes a partir da qual você gera (restaurar) os de entrada, incluindo o alvo. Eu entendi bem? Não terá sucesso qualitativamente. O artigo mostra o caminho da solução. Para converter o alvo discreto para contínuo usando RBM, conecte com outros preditores e mais adiante para VAE (treinamento!). E depois recuperar exemplos da VAE treinada e restaurar o alvo novamente com o RBM. É bastante complicado. Mas pode funcionar.

Vou tentar com um AE comum.

Boa sorte.

Eu tenho CVAE. Em etiquetas de codificador e descodificador de classe (1,0), entre outras coisas. Mas eu comparei VAE e CVAE, os resultados não são muito diferentes (igualmente medíocres)

As metas não são reconstruídas, mas definidas ao gerar as características. Ou seja, para qual alvo gerar as características. Na geração de imagens exemplos isto é o que é feito, só que há mais alvos, então eles são feitos van-hot

Eu estava a olhar para as tabelas de comparação da VAE e do GAN. Este último é muito melhor a gerar, estou a pensar em cuspir nos codificadores. Não gosto muito de reinventar a roda.

Pode fazer sentido converter-se a contínuo, sim... mas não é uma certeza.

Há uma pequena chance de eu estar fazendo algo errado ... mas já pratiquei em gatinhos antes )

Z.U. mesmo no exemplo com os números, aprende apenas 10 épocas e depois o erro deixa de cair

 
Alguém tentou o método vectorial relevante?
 

Os autocodificadores são mais adequados para comprimir dados a dimensões mais baixas ou gerar vectores semânticos a partir deles. Onde os GANs são mais adequados para gerar dados

https://medium.com/lis-computer-vision-blogs/gans-cgans-ae-aae-ave-caae-cave-2e7d23255b52

Acho que os resultados estão desfocados por causa da compressão de dados. Mesmo se você aumentar o número de neurônios, ainda haverá alguma compressão, uma mudança para uma distribuição diferente. Os novos dados serão sempre manchados, suavizados, etc. E eu não quero uma mancha, quero amostras plausíveis.

Você pode obter exatamente a mesma aparência gelada comprimindo amostras em PCA, depois convertendo-as em GMM e depois descomprimindo a partir de PCA. Já o fiz, e também se tornou tão confuso.

Coder é PCA + GMM em uma garrafa, se você desenhar a analogia

GANs, cGANs, AE, AAE, AVE, CAAE, CAVE
GANs, cGANs, AE, AAE, AVE, CAAE, CAVE
  • Li Yin
  • medium.com
The difference between each other. The purpose of this article is to see the difference of concepts between GANs, conditional GANs, Autoencoder (AE), adversarial autoencoder (AAE), and conditional adversarial autoencoder (CAAE). Unconditional GAN The generator ( G ) and discriminator ( D ) are both feedforward neural networks which play a...
 
Aleksey Vyazmikin:
Alguém tentou o método vectorial relevante?

você será o primeiro

Maxim Dmitrievsky:

Você pode obter exatamente o mesmo visual difuso comprimindo atributos PCA, depois convertendo-os para GMM, e depois descomprimindo a partir de PCA. Já o fiz e fiquei com a mesma confusão.

O codificador é PCA + GMM em um pacote, se você desenhar a analogia.

Por isso, deixe todos os componentes PCA e não vai ter manchas, vai ter uma imagem nítida.

 
mytarmailS:

Vais ser o primeiro.

Portanto, deixe todos os componentes PCA e não terá uma mancha, você terá uma imagem clara.

Não, não vai, a conversão inversa acrescenta muito barulho.

ou talvez não... mas parece que sim.
 
Maxim Dmitrievsky:

não vai, a conversão inversa do nagenerado adiciona muito ruído

Eu não entendo, gmm já acrescenta barulho ou quê?

 
mytarmailS:

Não entendo, o gmm já aumenta o barulho? Ou o quê?

Eu não pensei muito nisso, apenas um palpite baseado em alguma bisbilhotice.

gmm vai dar-lhe características que nunca viu antes. Mas semelhante aos que você viu. Numa transformação inversa pode ter algum efeito, acho eu. Adiciona algum barulho.

É um palpite.