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

 
mytarmailS #:
Então, mostre-me seu negócio.
Por que essa conversa fiada?

E vamos ver como seu TS funciona de acordo com uma teoria de cem anos que funciona como um relógio...
Ah, vamos lá.

Perguntas como essa deixarão todo mundo tonto.

É como na escola.

Você precisa começar de longe e fazer perguntas simples.

Em que par você negocia?

E mostre a última negociação, entrada e saída com todos os parâmetros.

E depois, quantas negociações você faz por dia e, nesse ponto, há uma pausa.

P.Z.

Você não deve fazer mais de duas perguntas.

Você pode ofender os mestres. E se você começar a fazer isso?

P.Z.

Eu torço para o Spartak.

 
Forester #:

Você está entendendo mal o fogão. Parece que você nunca olhou para o código de construção de árvore.... Não há operações em uma única linha!!!, somente com conjuntos (completos ou em lotes).

Em resumo:
Um conjunto aleatório/completo de linhas passado para o treinamento é classificado um a um para cada preditor/coluna. Diferentes divisões são verificadas (média/percentual/aleatória), as estatísticas de cada uma são contadas e a melhor divisão é selecionada para todo o conjunto de linhas, e não para uma ou cada linha, como você sugeriu.
De acordo com a melhor divisão, o conjunto de cadeias de caracteres é dividido em dois conjuntos e, em seguida, cada conjunto é classificado novamente e a melhor divisão é selecionada para cada uma das partes etc. até que a regra de parada seja atingida (por profundidade, número de exemplos por linha etc.)

Você pode ver mais detalhes no editor, pois tem o arquivo:
\MQL5\Include\Math\Alglib\dataanalysis.mqh
Função ClassifierSplit() e a função a partir da qual ela é chamada.
Você entenderá isso em algumas horas e não precisará falar sobre a pesquisa de preditores em uma linha.
Será mais claro aqui, o código é mais conciso e tem comentários https://habr.com/ru/companies/vk/articles/438560/.

1. Classe RegressionTree()

Пишем XGBoost с нуля — часть 1: деревья решений
Пишем XGBoost с нуля — часть 1: деревья решений
  • 2019.02.06
  • habr.com
Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что-то новое почерпну), я решил сделать своё собственное руководство, каким...
 
Forester #:

Você está entendendo mal o fogão. Parece que você nunca olhou para o código de construção de árvore.... Não há operações em uma única linha!!!, somente com conjuntos (completos ou em lotes).

Em resumo:
Um conjunto aleatório/completo de linhas passado para o treinamento é classificado um a um para cada preditor/coluna. Diferentes divisões são verificadas (média/percentual/aleatória), as estatísticas de cada uma são contadas e a melhor divisão é selecionada para todo o conjunto de linhas, e não para uma ou cada linha, como você sugeriu.
De acordo com a melhor divisão, o conjunto de cadeias de caracteres é dividido em dois conjuntos e, em seguida, cada conjunto é classificado novamente e a melhor divisão é selecionada para cada uma das partes etc. até que a regra de parada seja atingida (por profundidade, número de exemplos por linha etc.)

Você pode ver mais detalhes no editor, pois tem o arquivo:
\MQL5\Include\Math\Alglib\dataanalysis.mqh
Função ClassifierSplit() e a função a partir da qual ela é chamada.
Você entenderá isso em algumas horas e não precisará falar sobre a busca de preditores por uma linha.

Você está certo sobre muitas linhas.

Vamos voltar ao início: o que é um padrão em uma floresta aleatória?

É uma única árvore. Aqui está um exemplo de uma dessas árvores da RF:

    left daughter right daughter split var split point status prediction
1               2              3         2  0.34154125      1          0
2               4              5         2  0.28238475      1          0
3               6              7         4  0.37505155      1          0
4               0              0         0  0.00000000     -1          2
5               8              9         5  0.64235664      1          0
6               0              0         0  0.00000000     -1          2
7              10             11         1  0.45438075      1          0
8              12             13         1  0.46271469      1          0
9              14             15         3  0.25803691      1          0
10             16             17         2  0.51942328      1          0
11             18             19         1  0.48839881      1          0
12             20             21         3  0.45243581      1          0
13              0              0         0  0.00000000     -1          2
14              0              0         0  0.00000000     -1          2
15             22             23         6  0.62789488      1          0
16             24             25         2  0.34224983      1          0
17             26             27         4  0.53845361      1          0
18             28             29         3  0.39207978      1          0
19             30             31         3  0.03596312      1          0
20             32             33         7  0.49380156      1          0
21              0              0         0  0.00000000     -1          2
22              0              0         0  0.00000000     -1          2
23             34             35         6  0.76472904      1          0
24              0              0         0  0.00000000     -1          1
25              0              0         0  0.00000000     -1          2
26             36             37         5  0.87588550      1          0
27             38             39         1  0.31089209      1          0
28             40             41         2  0.39193398      1          0
29             42             43         1  0.47068628      1          0
30             44             45         7  0.76420940      1          0
31             46             47         2  0.38380954      1          0

 [ reached getOption("max.print") -- omitted 185 rows ]

Total de linhas = 166+185! Todas elas não se encaixaram

Há 150 árvores desse tipo em meu modelo

split var - это номер переменной, всего их в модели 8
split point - лучшее значение конкретной переменной, которое использовалось для разделения.
 
СанСаныч Фоменко #:

Você está certo sobre as muitas linhas.

Voltando ao início: o que é um padrão em uma floresta aleatória?

É uma única árvore. Aqui está um exemplo de uma dessas árvores da RF:

Total de linhas = 166+185! Nenhuma delas se encaixa

Há 150 árvores desse tipo em meu modelo

Considere novamente o caminho que forma a folha. Em meu exemplo acima, há 5 divisões. Isso não é uma descrição do padrão de 2 vértices com uma depressão? Descrição.
7 divisões podem descrever a cabeça, os ombros etc.
Cada folha de uma árvore descreve um padrão diferente.

A floresta é a opinião da multidão (derviews).
A 1ª árvore diz: essa string se encaixa no meu 18º padrão/folha e a resposta = 1
2ª: a mesma string se encaixa no meu 215 padrão/folha e dá a resposta=0
3ª: = 1

...

Fazemos a média e obtemos a opinião média de 150 árvores. Por exemplo, = 0,78. Cada uma tinha uma folha/padrão ativado diferente.

 
Forester #:

Considere novamente a folha de formação de caminho. Em meu exemplo acima, há 5 divisões. Isso não é uma descrição do padrão de 2 topos com um vale? Descrição.
7 divisões podem descrever cabeças e ombros etc.
Cada folha de uma única árvore descreve um padrão diferente.

Uma floresta é a opinião de uma multidão de dervids.
A 1ª árvore diz: esta linha se encaixa no meu 18º padrão/folha e a resposta = 1
2ª: a mesma linha se encaixa no meu 215º padrão/folha e a resposta é = 0
3ª: = 1

...

Fazemos a média e obtemos a opinião média de 150 árvores. Cada uma tinha uma folha/padrão ativado diferente.

Não sabemos quantas folhas.

O número de árvores é um parâmetro que pode ser alterado para obter o tamanho mínimo da amostra para treinamento.

Vemos que 50 árvores são suficientes, portanto, é conveniente considerar uma árvore como um padrão.

 
СанСаныч Фоменко #:

O número de folhas é desconhecido.

O número de árvores é um parâmetro que pode ser alterado para obter o tamanho mínimo da amostra para treinamento.

Vemos que 50 árvores são suficientes, portanto, é conveniente considerar uma árvore como um padrão.

A árvore responde a cada situação/linha com uma folha/padrão. Em outras situações, a resposta será dada por outras folhas/padrões.
 
Forester #:
A árvore responde a cada situação/linha com uma folha/padrão. Em outras situações, a resposta será dada por outras folhas/padrões.

Parece que não apenas a folha, mas também a árvore não resolve nada.

Aqui encontrei a fórmula para o classificador final




Onde

  • N - número de árvores;
  • i - contador de árvores;
  • b - a árvore decisiva;
  • x - a amostra que geramos a partir dos dados.

Também vale a pena observar que, na tarefa de classificação, escolhemos a solução por votação majoritária, enquanto na tarefa de regressão escolhemos a solução pela média.

 
СанСаныч Фоменко #:

Parece que não apenas a folha, mas também a árvore não resolve nada.

Aqui está a fórmula para o classificador final

Também vale a pena observar que, na tarefa de classificação, escolhemos a solução por votação majoritária, enquanto na tarefa de regressão escolhemos a solução pela média.

Por que ele não resolve? Ela contribui com (1/150) para a resposta final.

De cada árvore, uma das folhas/padrões ativados participa da votação (média).

A resposta da floresta é a média das respostas de todas as árvores (ou folhas/padrões ativados) - essa fórmula a contabiliza. A maioria para classificação binária será se a média for >0,5, então 1, caso contrário, 0.
Mas a borda 0,5 provavelmente não é a melhor opção; se o pacote der acesso ao valor da média, você poderá experimentar diferentes bordas.

 
Forester #:
A árvore responde a cada situação/linha com uma folha/padrão. Em outras situações, a resposta será dada por outras folhas/padrões.
SanSanych Fomenko #:

Parece que não apenas a folha, mas também a árvore não resolve nada.

Não apenas uma folha, mas todas as árvores são responsáveis por cada situação, mas nem todas estão ativadas; a soma das previsões das que estão ativadas é a previsão do modelo....


De que diabos vocês estão falando, especialistas em modelos de árvores?

 
mytarmailS #:

Não uma folha, mas todas as árvores são responsáveis por cada situação, mas nem todas são ativadas; a soma das previsões das que são ativadas é a previsão do modelo.


De que diabos vocês estão falando, especialistas em modelos de árvores?

Você disse algo novo? Se não, então, de acordo com seus cálculos, isso também é lixo.