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

 
Maxim Dmitrievsky:

Sim, então detecte-os no futuro e escolha um modelo que funcione bem neste cluster em particular.

Você também pode simplesmente arquivá-lo como um recurso, NS/forest irá sub-modelo em si
 
mcpd.mcpdreport C# (CSharp) Code Examples - HotExamples
  • csharp.hotexamples.com
C# (CSharp) mcpd.mcpdreport - 6 examples found. These are the top rated real world C# (CSharp) examples of mcpd.mcpdreport extracted from open source projects. You can rate examples to help us improve the quality of examples.
 

artigo interessante sobre treinamento de NS em Habra ( apenas uma leitura )Restaurando Fotos com Redes Neurais

os mais valiosos, como sempre, são os comentários do usuário - ao longo do artigo o autor descreve um grande avanço em seu trabalho, como de costume com uma comparação de software de terceiros, mas os usuários imediatamente apontaram a falha - a predominância do verde

conclusão - a preparação dos dados de entrada é mais importante do que a própria tecnologia de treinamento NS

Реставрируем фотографии с помощью нейросетей
Реставрируем фотографии с помощью нейросетей
  • habr.com
Всем привет, я работаю программистом-исследователем в команде компьютерного зрения Mail.ru Group. Ко Дню Победы в этом году мы решили сделать проект по реставрации военных фотографий. Что такое реставрация фотографий? Она состоит из трех этапов: находим все дефекты изображения: надломы, потертости, дырки; закрашиваем найденные дефекты...
 
Igor Makanu:

a conclusão é que a preparação dos dados de entrada é mais primária do que a própria tecnologia de treinamento NS

O feiticeiro disse isto há um bilião de páginas.

Cavalheiros, quando é que vão aprender a ouvir-se uns aos outros? O que é essa mesquinhez e estupidez? É realmente irritante e enfurecedor.

 
Igor Makanu:

artigo interessante sobre treinamento de NS em Habra ( apenas uma leitura )Restaurando Fotos com Redes Neurais

os mais valiosos, como sempre, são os comentários do usuário - ao longo do artigo o autor descreve um grande avanço em seu trabalho, como de costume com uma comparação de software de terceiros, mas os usuários imediatamente apontaram a falha - a predominância do verde

a conclusão - a preparação dos dados de entrada é mais importante do que a tecnologia de treinamento NS

A questão é que a imagem não está em movimento e não muda, assim como as impressões digitais. E na máquina de reconhecimento de padrões a aprendizagem é indispensável.

Mas quando o MO é aplicado sobre dados históricos em forex, ele só dá a ilusão de que ele encontrou a melhor opção.

Quando na verdade simplesmente aprendeu a contornar todas as áreas perigosas da história, resultando em um grande gráfico de ganhos.

Mas o preço é um processo dinâmico que está sempre mudando e avançando, e ninguém pode adivinhar para onde o preço vai: Assim, um robô baseado na aprendizagem da máquina sempre cometerá um erro na negociação real em situações incomuns.

 
Petros Shatakhtsyan:

Mas quando o MO é aplicado em dados históricos em Forex, ele só cria a ilusão de que encontrou a melhor opção.

E na realidade, ele simplesmente aprendeu na história a contornar todas as áreas perigosas, resultando em um grande gráfico de ganhos.

leia tudo istohttps://habr.com/ru/post/443240/

Mas não é assim tão mau, vou tentar mostrar a minha opinião pela centésima vez: MO não é melhor nem pior do que o testador de estratégia GA,

mas continua a ser um tema muito interessante, é fascinante ))))

Понимание Q-learning, проблема «Прогулка по скале»
Понимание Q-learning, проблема «Прогулка по скале»
  • habr.com
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Understanding Q-Learning, the Cliff Walking problem» автора Lucas Vazquez. В последнем посте мы представили проблему «Прогулка по скале» и остановились на страшном алгоритме, который не имел смысла. На этот раз мы раскроем секреты этого серого ящика и увидим, что это совсем не так...
 

Bem, afinal é bastante fácil de aplicar. Do exemplo 1.

Definimos o número de estados, e seqüências de transições (digamos, históricas). Isto é, as probabilidades de estar num determinado estado. E depois conta a probabilidade total para todos os estados.

Ou em MAshki para fazer um exemplo simples para o início, mas até agora ainda não sei como fazê-lo, talvez@mytarmailS explique.

//+------------------------------------------------------------------+
//|                                                          HMM.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Math\Alglib\dataanalysis.mqh>
CMCPDState states;
CMCPDReport report;
CMatrixDouble track0, track1, results;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   track0.Resize(5, 2);
   track1.Resize(4,2);
   
   track0[0].Set(0, 1.0);
   track0[0].Set(1, 0.0);
   
   track0[1].Set(0, 0.95);
   track0[1].Set(1, 0.05);
   
   track0[2].Set(0, 0.92750);
   track0[2].Set(1, 0.07250);
   
   track0[3].Set(0, 0.91738);
   track0[3].Set(1, 0.08263);
   
   track0[4].Set(0, 0.91282);
   track0[4].Set(1, 0.08718);
   
   track1[0].Set(0, 0.8);
   track1[0].Set(1, 0.2);
   
   track1[1].Set(0, 0.86);
   track1[1].Set(1, 0.14);
   
   track1[2].Set(0, 0.887);
   track1[2].Set(1, 0.113);
   
   track1[3].Set(0, 0.89915);
   track1[3].Set(1, 0.10085);
   
   CMarkovCPD::MCPDCreate(2, states);
   CMarkovCPD::MCPDAddTrack(states, track0, 5);
   CMarkovCPD::MCPDAddTrack(states, track1, 4);
   CMarkovCPD::MCPDSolve(states);
   CMarkovCPD::MCPDResults(states, results, report);
   
   for(int i=0;i<results.Size();i++)
     {
      Print(results[i][0]);
      Print(results[i][1]);
     }
  }
//+------------------------------------------------------------------+
 
Market Regime Detection using Hidden Markov Models in QSTrader | QuantStart
Market Regime Detection using Hidden Markov Models in QSTrader | QuantStart
  • www.quantstart.com
In the previous article on Hidden Markov Models it was shown how their application to index returns data could be used as a mechanism for discovering latent "market regimes". The returns of the S&P500 were analysed using the R statistical programming environment. It was seen that periods of differing volatility were detected, using both...
 
Maxim Dmitrievsky:

Bem, afinal é bastante fácil de aplicar. Do exemplo 1.

Definimos o número de estados, e seqüências de transições (digamos, históricas). Isto é, as probabilidades de estar num determinado estado. E depois conta a probabilidade total para todos os estados.

Ou em MAshki para fazer um exemplo simples para o início, mas até agora ainda não sei como fazê-lo, talvez@mytarmailS explique.

//+------------------------------------------------------------------+
//|                                                          HMM.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Math\Alglib\dataanalysis.mqh>
CMCPDState states;
CMCPDReport report;
CMatrixDouble track0, track1, results;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   track0.Resize(5, 2);
   track1.Resize(4,2);
   
   track0[0].Set(0, 1.0);
   track0[0].Set(1, 0.0);
   
   track0[1].Set(0, 0.95);
   track0[1].Set(1, 0.05);
   
   track0[2].Set(0, 0.92750);
   track0[2].Set(1, 0.07250);
   
   track0[3].Set(0, 0.91738);
   track0[3].Set(1, 0.08263);
   
   track0[4].Set(0, 0.91282);
   track0[4].Set(1, 0.08718);
   
   track1[0].Set(0, 0.8);
   track1[0].Set(1, 0.2);
   
   track1[1].Set(0, 0.86);
   track1[1].Set(1, 0.14);
   
   track1[2].Set(0, 0.887);
   track1[2].Set(1, 0.113);
   
   track1[3].Set(0, 0.89915);
   track1[3].Set(1, 0.10085);
   
   CMarkovCPD::MCPDCreate(2, states);
   CMarkovCPD::MCPDAddTrack(states, track0, 5);
   CMarkovCPD::MCPDAddTrack(states, track1, 4);
   CMarkovCPD::MCPDSolve(states);
   CMarkovCPD::MCPDResults(states, results, report);
   
   for(int i=0;i<results.Size();i++)
     {
      Print(results[i][0]);
      Print(results[i][1]);
     }
  }
//+------------------------------------------------------------------+

Em algibe, como eu entendo (provavelmente errado), você mesmo tem que compilar as faixas pelo número necessário de clusters. Nesses exemplos em Python, você pede o número certo de clusters e ele irá redistribuir os dados em si.

Embora se a classificação, com 2 classes, provavelmente poderíamos encadear da seguinte forma: começando com 0 até se tornar 1; e começando com 1 até se tornar 0. Como não temos 0,95, 0,8, etc.

 
elibrarius:

Em algibe, como eu entendo (provavelmente errado), você mesmo tem que compilar as faixas pelo número certo de clusters. E nesses exemplos de Python, você pede o número certo de clusters e ele redistribui os dados em si.

Embora se a classificação, com 2 classes, você provavelmente poderia encadear assim: começando com 0 até que se torne 1; e começando com 1 até que se torne 0. Como não temos 0,95, 0,8, etc.

Eu não entendo como funciona. Porque não usa a classificação via NS?

Eu não entendo como isso resulta em píton, incluindo novos dados. E em algibe como obter o estado previsto em novos dados, e para cada dimensão separadamente. Demasiados baldes de cada vez.

e parece haver algo de errado com a algibeira, um modelo diferente
Razão: