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

 
Maxim Dmitrievsky:

Na minha opinião ninguém precisa de todos estes códigos) excepto para algumas funções de serviço, por isso todos estão ocupados a fazer algo por si próprios.

Esta é uma consequência da hierarquia da perfeição do conhecimento, o que é acessível a uma girafa não é aceitável para um hipopótamo e vice-versa, por isso existem diferentes tipos de educação baseados no nível de perfeição do conhecimento, desde a escola primária até às instituições académicas.

com todo o respeito.

 


Eu vi este diagrama de um percetron. Normalmente há uma víbora, mas há três. Então, há três neurónios de activação?

Eu fiz isso na 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;

Estou a pensar, será que está correcto? Tanto quanto sei, cada uma das três entradas (a1,a2,a3) é multiplicada pelo seu próprio peso, dependendo da víbora.

Então vou tentar substituir a função linear pela função sigmoidal de ativação.

Quem pode dizer, é melhor usar um viciante ou vários viciantes, simplesmente não está claro, há algum sentido em usar os mesmos insumos com pesos diferentes?

E também queria perguntar, se pegarmos a rede mínima de duas camadas, então precisaremos de muitas variáveis para otimização, para não mencionar três ou quatro camadas.

Quero dizer, se todas as camadas forem optimizadas ao mesmo tempo. Quantas variáveis podem ser usadas ao máximo para mais ou menos fazer os testes, existe algum software para este fim?

 
forexman77:

Estou interessado se isto estiver correcto? Tanto quanto entendi, cada uma das três entradas a1,a2,a3 é multiplicada pelo seu próprio peso, dependendo de qual a víbora que atinge.

Quase certo, há também um viés que é adicionada ao resultado

   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;

Os valores mais prováveis de y1,y2,y3 são usados na camada interna da neurônica, e esses valores também devem ser usados como valores de entrada para a camada seguinte.

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

Ou se Y1,Y2,Y3 são valores de saída, então vários neurônios de saída são usados para classificação - por exemplo, se o maior valor entre Y1,Y2,Y3 é Y1, então o resultado é "classe 1", se o maior valor é Y2, então o resultado é "classe 2", se o maior valor é Y3, então o resultado é "classe 3". Se o neurônio será usado para regressão ao invés de classificação, então o neurônio de saída será apenas um. Se tivermos duas classes, podemos usar apenas um neurônio de saída (se o resultado for <0.5, então será classe1, se >=0.5, então será classe2).

É muito fácil adicionar um sigmóide para a função de ativação de um neurônio, você precisa de tal função -

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 com ele você obtém um neurônio completo com uma camada interna (com três perceptrons) e um perceptron de saída.

   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);

resultado = perceptron4[0]

 
forexman77:

Quantas variáveis podem ser usadas na medida do possível para produzir mais ou menos testes, existe algum software para este fim?

O número de pesos em um neurônio pode ser de dezenas de milhares ou mais. Em mql e R há bibiloteks especiais para criar e treinar neurônios, é melhor trabalhar através deles, em vez de programar seu próprio neurônio a partir do zero.

 
SanSanych Fomenko:

Estou a ver que não te vou deixar respirar... respirar e acalmar.


Quanto mais longe você for, mais categórico você se torna ;))

 
SanSanych Fomenko:


Isto é muito sucintamente formulado como um axioma de estatística (e toda a matemática, a propósito): Litter IN - Litter OUT.

Uma pessoa que não sabe disso, ou não o aplica na prática, é, na minha opinião, um lunático chato, quer conheça ou não a palavra perseptron.


Muito bem. Eu apoio isso.

 
Maxim Dmitrievsky:

Eu misturei acidentalmente as palavras porque estava a ler sobre aproximação neste momento.


ótimo ;))))

 
Oleg avtomat:

Muito bem. Eu apoio isso.


Você apóia fluxos inadequados de consciência em resposta a perguntas específicas? Eu tenho notado há muito tempo que com a idade a consciência das pessoas fica obsoleta, você diz uma palavra para elas e elas lhe dão uma boa parte de todas as suas fantasias insatisfeitas. Bem, claro que sim, porque você comunica da mesma maneira. Ou talvez não seja a idade, mas uma incapacidade fundamental para se concentrar no assunto.

A arte de responder é mergulhar no problema do questionador, tornar-se ele por um tempo, entender o que ele precisa e responder de uma forma que ele entenda. Mas só para lixar verbalmente não é arte, mas auto-afirmação.

 
Maxim Dmitrievsky:

Você apóia fluxos inadequados de consciência em resposta a perguntas específicas? Eu tenho notado há muito tempo que com a idade a consciência das pessoas fica obsoleta, você diz uma palavra para elas e elas lhe dão uma boa parte de suas fantasias insatisfeitas. Bem, claro que sim, porque é exactamente assim que se comunica. Ou talvez não seja a idade, mas uma incapacidade fundamental para se concentrar no assunto.

A arte de responder é mergulhar no problema do questionador, tornar-se ele por um tempo, entender o que ele precisa e responder de uma forma que ele entenda. Eu simplesmente estrago tudo não é uma arte, mas uma auto-afirmação.


Para evitar confusão e ser capaz de distinguir o que é o que -- aproximação, interpolação, extrapolação e outros termos difíceis para você -- você deve abrir livros didáticos e aprender. Mas você quer pontuar os botões e depois tentar entender o que você está fazendo. Você não tem a base de conhecimento para dar sentido a isso. Então você terá uma compreensão, e você será capaz de planejar conscientemente experiências, e conduzir experiências significativas, e os resultados de suas experiências serão compreensíveis para você.

 
Oleg avtomat:

Para evitar confusão e ser capaz de distinguir o que é o que - aproximação, interpolação, extrapolação e outros termos complicados - você deve abrir um livro didático e aprender. Mas você quer pontuar os botões e depois tentar entender o que você está fazendo. Você não tem a base de conhecimento para dar sentido a isso. Estude, e então você entenderá, e você será capaz de planejar experiências significativas, e conduzir experiências significativas, e os resultados das experiências serão claros para você.

Desculpe, mas não provou o seu valor em nenhuma das minhas perguntas, pelo menos eu não o vi.

Não precisa de escrever como o Capitão Óbvio e virar tudo de pernas para o ar para o ar para voltar a parecer importante.