Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5
Um pacote python foi disponibilizado com o proposito de trazer integração com MQL, com isso abre-se as portas para enumeras possibilidades como, exploração de dados, criação e uso de modelos de machine learning. Com essa integração nativa entre MQL5 e Python, abriu-se as portas para muitas possibilidades de uso, podemos construir de uma simples regressão linear a um modelo de aprendizado profundo. Vamos entender como instalar e preparar o ambiente de desenvolvimento e usar algumas das bibliotecas de aprendizado de maquina.
Redes neurais de maneira fácil (Parte 13): normalização em lote
No artigo anterior, começamos a examinar métodos para melhorar a qualidade do treinamento da rede neural. Neste artigo, proponho continuar este tópico e considerar uma outra abordagem, em particular a de normalização de dados em lote.
Aprendizado de máquina em sistemas de negociação baseados em grade e martingale. Deveríamos apostar nele?
Este artigo apresentará ao leitor a técnica de aprendizado de máquina para negociação baseada em grade e martingale. Para minha surpresa, essa abordagem, por algum motivo, não é afetada de forma alguma na rede global. Após ler o artigo, podemos criar nossos próprios bots.
Redes Neurais de Maneira Fácil (Parte 12): Dropout
Como a próxima etapa no estudo das redes neurais, eu sugiro considerar os métodos de aumentar a convergência durante o treinamento da rede neural. Existem vários desses métodos. Neste artigo, nós consideraremos um deles intitulado Dropout.
Redes Neurais de Maneira Fácil (Parte 11): Uma visão sobre a GPT
Talvez um dos modelos mais avançados entre as redes neurais de linguagem atualmente existentes seja a GPT-3, cuja variante máxima contém 175 bilhões de parâmetros. Claro, nós não vamos criar tal monstro em nossos PCs domésticos. No entanto, nós podemos ver quais soluções arquitetônicas podem ser usadas em nosso trabalho e como nós podemos nos beneficiar delas.
Aplicação prática de redes neurais no trading (Parte 2). Visão computacional
O uso da visão computacional permite treinar redes neurais, usando uma representação visual do gráfico de preços e indicadores. Este método nos permite operar mais livremente com todo o conjunto de indicadores técnicos, uma vez que não requer feed digital para a rede neural.
Redes neurais de maneira fácil (Parte 10): Atenção Multi-Cabeça
Nós já consideramos anteriormente o mecanismo de self-attention (autoatenção) em redes neurais. Na prática, as arquiteturas de rede neural modernas usam várias threads de self-attention paralelas para encontrar várias dependências entre os elementos de uma sequência. Vamos considerar a implementação de tal abordagem e avaliar seu impacto no desempenho geral da rede.
Redes Neurais de Maneira Fácil (Parte 9): Documentação do trabalho
Nós já percorremos um longo caminho e o código em nossa biblioteca está se tornando cada vez maior. Isso torna difícil controlar todas as conexões e dependências. Portanto, eu sugiro criar uma documentação para o código criado anteriormente e mantê-lo atualizado a cada nova etapa. A documentação devidamente preparada nos ajudará a ver a integridade do nosso trabalho.
Gradient boosting no aprendizado de máquina transdutivo e ativo
Neste artigo, nós consideraremos os métodos de aprendizado de máquina ativo que se baseiam em dados reais e discutiremos seus prós e contras. Talvez você considere esses métodos úteis e os inclua em seu arsenal de modelos de aprendizado de máquina. A transdução foi introduzida por Vladimir Vapnik, que é o coinventor da Support-Vector Machine (SVM).
Redes Neurais de Maneira Fácil (Parte 8): Mecanismos de Atenção
Nos artigos anteriores, nós já testamos várias opções para organizar as redes neurais. Nós também estudamos as redes convolucionais emprestadas dos algoritmos de processamento de imagem. Neste artigo, eu sugiro estudarmos os Mecanismos de Atenção, cujo surgimento deu impulso ao desenvolvimento dos modelos de linguagem.
Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta
Este artigo descreve uma das possíveis abordagens para a transformação de dados com o objetivo de melhorar a generalização do modelo, ele também discute a amostragem e seleção dos modelos CatBoost.
Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R
O artigo fornece o código e a descrição das principais etapas do processo de aprendizado de máquina usando um exemplo específico. Para obter o modelo, você não precisa de conhecimento prévio em Python ou R. Além disso, um conhecimento básico de MQL5 já é suficiente — este é exatamente o meu nível. Portanto, eu espero que o artigo sirva como um bom tutorial para um público amplo, auxiliando os interessados em avaliar os recursos de aprendizado de máquina e implementá-lo em seus programas.
Perceptron Multicamadas e o Algoritmo Backpropagation
Recentemente, ao aumentar a popularidade desses métodos, tantas bibliotecas foram desenvolvidas em Matlab, R, Python, C++, e etc, que recebem o conjunto de treinamento como entrada e constroem automaticamente uma Rede Neural apropriada para o suposto problema. Vamos entender como funciona um tipo básico de Rede Neural, (Perceptron de um único neurônio e Perceptron Multicamadas), e um fascinante algoritmo responsável pelo aprendizado da rede, (Gradiente descendente e o Backpropagation). Tais modelos de rede serviram de base para os modelos mais complexos existentes hoje.
Redes Neurais de Maneira Fácil(Parte 7): Métodos de otimização adaptativos
Nos artigos anteriores, nós usamos o gradiente descendente estocástico para treinar uma rede neural usando a mesma taxa de aprendizado para todos os neurônios da rede. Neste artigo, eu proponho olhar para os métodos de aprendizagem adaptativos que permitem a mudança da taxa de aprendizagem para cada neurônio. Nós também consideraremos os prós e os contras dessa abordagem.
Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua
Treinamento do classificador CatBoost em Python e exportação do modelo para a mql5, bem como a análise dos parâmetros do modelo e um testador de estratégia customizado. A linguagem Python e a biblioteca MetaTrader 5 são usadas para preparar os dados e treinar o modelo.
Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural
Anteriormente, nós consideramos vários tipos de redes neurais junto com suas implementações. Em todos os casos, as redes neurais foram treinadas usando o método gradiente descendente, para o qual nós precisamos escolher uma taxa de aprendizado. Neste artigo, eu quero mostrar a importância de uma taxa corretamente selecionada e o seu impacto no treinamento da rede neural, usando exemplos.
Redes Neurais de Maneira Fácil (Parte 5): Cálculos em Paralelo com o OpenCL
Discutimos anteriormente alguns tipos de implementações da rede neural. Nas redes consideradas, as mesmas operações são repetidas para cada neurônio. Uma etapa lógica adicional é utilizar os recursos da computação multithread (paralelismo em nível de threads) fornecidos pela tecnologia moderna em um esforço para acelerar o processo de aprendizagem da rede neural. Uma das possíveis implementações é descrita neste artigo.
Redes Neurais de Maneira Fácil(Parte 4): Redes Recorrentes
Nós continuamos estudando o mundo das redes neurais. Neste artigo, nós analisaremos outro tipo de rede neural, as redes recorrentes. Este tipo de rede foi proposto para uso com as séries temporais, que são representadas na plataforma de negociação MetaTrader 5 por meio do gráfico de preços.
Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais
Como uma continuação do tópico das redes neurais, eu proponho ao leitor a análise das redes neurais convolucionais. Esse tipo de rede neural geralmente é aplicado para analisar imagens visuais. Neste artigo, nós consideraremos a aplicação dessas redes no mercado financeiro.
Redes neurais de maneira fácil (Parte 2): Treinamento e teste da rede
Neste segundo artigo, nós continuaremos a estudar as redes neurais e nós vamos considerar um exemplo utilizando a nossa classe criada CNet nos Expert Advisors. Nós trabalharemos com dois modelos de rede neural, que apresentam resultados semelhantes tanto em termos de tempo de treinamento quanto de precisão de predição.
Aplicação prática de redes neurais no trading. Embarquemos na prática
Este artigo apresenta uma descrição e instruções para o uso prático de módulos de redes neurais (MRN) na plataforma Matlab. Também aborda os principais aspectos para construção de um sistema de negociação usando o MRN. Para realizar uma apresentação concisa deste artigo, tive que modernizá-lo um pouco de forma a combinar várias funções da MRN num programa.
Redes Neurais de Maneira Fácil
A inteligência artificial é frequentemente associada a algo fantasticamente complexo e incompreensível. Ao mesmo tempo, a inteligência artificial é cada vez mais mencionada na vida cotidiana. Notícias sobre conquistas relacionadas ao uso de redes neurais geralmente aparecem em diferentes mídias. O objetivo deste artigo é mostrar que qualquer pessoa pode criar facilmente uma rede neural e usar as conquistas da IA na negociação.
Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles
O artigo considera três métodos que podem ser usados para aumentar a qualidade de classificação do bagging de ensembles, e a estimação de sua eficiência. Os efeitos da otimização dos hiperparâmetros da rede neural ELM e dos parâmetros de pós-processamento são avaliados.
Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking
Nós continuamos a construir os ensembles. Desta vez, o bagging de ensemble criado anteriormente será complementado com um combinador treinável — uma rede neural profunda. Uma rede neural combina as 7 melhores saídas ensemble após a poda. A segunda obtém todas as 500 saídas do ensemble como entrada, realizando a poda e combinando elas. As redes neurais serão construídas usando o pacote keras/TensorFlow para Python. Os recursos do pacote serão brevemente considerados. Serão realizados os testes e a comparação da qualidade de classificação do bagging e stacking de ensembles.
Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging
O artigo discute os métodos de construção e treinamento de ensembles de redes neurais com estrutura de bagging. Ele também determina as peculiaridades da otimização de hiperparâmetros para classificadores de redes neurais individuais que compõem o ensemble. A qualidade da rede neural otimizada obtida no artigo anterior da série é comparada com a qualidade do ensemble de redes neurais criado. São consideradas as possibilidades de melhorar ainda mais a qualidade da classificação do ensemble.
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN
O artigo considera a possibilidade de aplicar a otimização Bayesiana para os hiperparâmetros das redes neurais profundas, obtidas por diversas variantes de treinamento. É realizado a comparação da qualidade de classificação de uma DNN com os hiperparâmetros ótimos em diferentes variantes de treinamento. O nível de eficácia dos hiperparâmetros ótimos da DNN foi verificado nos testes fora da amostra (forward tests). As direções possíveis para melhorar a qualidade da classificação foram determinadas.
Redes Neurais Profundas (Parte IV). Criação, treinamento e teste de um modelo de rede neural
Este artigo considera novas capacidades do pacote darch (v.0.12.0). Contém uma descrição do treinamento de redes neurais profundas com diferentes tipos de dados, diferentes estruturas e sequências de treinamento. Os resultados do treino estão incluídos.
Redes Neurais Profundas (Parte III). Seleção da amostra e redução de dimensionalidade
Este artigo é uma continuação da série de artigos sobre redes neurais profundas. Aqui, nós vamos considerar a seleção de amostras (remoção de ruído), reduzindo a dimensionalidade dos dados de entrada e dividindo o conjunto de dados nos conjuntos de train/val/test durante a preparação dos dados para treinar a rede neural.
Redes Neurais Profundas (Parte II). Desenvolvimento e seleção de preditores
O segundo artigo da série sobre redes neurais profundas considerará a transformação e seleção dos preditores durante o processo de preparação de dados para treinar um modelo.
Redes Neurais Profundas (Parte I). Preparando os Dados
Esta série de artigos continua a explorar as redes neurais profundas (RNP), que são usadas em muitas áreas de aplicação, incluindo a negociação. Serão exploradas aqui novas dimensões deste tema juntamente com o teste de novos métodos e ideias usando experiências práticas. O primeiro artigo da série é dedicado a preparar os dados para a RNP (DNN).
Rede neural: Expert Advisor auto-otimizável
Será que é possível criar um Expert Advisor que, de acordo com os comandos do código, otimize os critérios de abertura e fechamento das posições automaticamente e em intervalos regulares? O que acontecerá se nós implementarmos no EA uma rede neural (um perceptron multi-camada) que, sendo módulo, analise o histórico e avalie a estratégia? É possível dar ao código um comando para uma otimização mensal (semanal, diária ou por hora) de rede neural com um processo subsequente. Assim, é possível criar um Expert Advisor que se auto-otimize.
Avaliação e seleção de variáveis para os modelos de aprendizado da máquina
Este artigo foca sobre as especificidades de escolha, o pré-condicionamento e avaliação das variáveis de entrada (preditoras) para uso em modelos de aprendizagem da máquina. Novas abordagens e oportunidades de análises preditoras profundas e suas influências no possível sobre-ajuste (overfitting) dos modelos serão consideradas. O resultado global do uso de modelos, em grande parte, depende do resultado desta etapa. Vamos analisar dois pacotes, oferecendo abordagens novas e originais para a seleção dos preditores.
Redes Neurais de Terceira Geração: Redes Profundas
Este artigo é dedicado a uma nova perspectiva na direção da aprendizagem de máquina - o aprendizado profundo ou, para ser mais preciso, redes neurais profundas. Esta é uma breve revisão das redes neurais de segunda geração, a arquitetura de suas conexões e tipos principais, os métodos e regras de aprendizagem e suas principais desvantagens seguido pela história do desenvolvimento da rede neural de terceira geração, os seus principais tipos, peculiaridades e métodos de treinamento. Conduzida por experimentos práticos sobre a construção e treinamento de uma rede neural profunda, iniciada pelos pesos de uma pilha de autoencoders (Stacked Autoencoders) contendo dados reais. Todas as etapas, desde a seleção dos dados de entrada até a derivação métrica, serão discutidas em detalhe. A última parte do artigo contém uma implementação de um programa de rede neural profunda em um Expert Advisor com um indicador embutido, baseado em MQL4/R.
Florestas Aleatórias na Previsão das Tendências
Este artigo considera o uso do pacote Rattle na busca automática de padrões para prever as posições compradas ou vendidas dos pares de moedas no Forex. Este artigo pode ser útil tanto para novatos quanto para profissionais experientes.
Redes Neurais Simples e Econômica - Conecte o NeuroPro com o MetaTrader 5
Se os programas de redes neurais específicos para negociação parecem ser caros e complexos ou, pelo contrário, muito simples, tente o NeuroPro. Ele é gratuito e contém o melhor conjunto de funcionalidades para amadores. Este artigo irá dizer-lhe como usá-lo em conjunto com o MetaTrader 5.
Aprendizagem de máquina: como as máquinas de vetores de suporte podem ser utilizadas nas negociações
As máquinas de vetores de suporte foram por muito tempo usadas em campos como de bioinformática e aplicava matemática para avaliar conjuntos de dados e extrair padrões úteis que podem ser usados para classificar dados. Este artigo visa em como é uma máquina de vetor de suporte, como trabalha e por que pode ser tão útil na extração de padrões complexos. Podemos investigar como elas podem ser aplicadas ao mercado e potencialmente usadas para aconselhar sobre negócios. Usando a Ferramenta de aprendizado da máquina de vetor de suporte, o artigo fornece exemplos trabalhados que permitem que os leitores experimentem com seus próprios negócios.
Redes neurais: Da teoria à prática
Atualmente, todo negociador já deve ter ouvido falar sobre redes neurais e sabe como é interessante utilizá-las. A maioria acredita que as pessoas que sabem lidar com redes neurais são algum tipo de super-humano. Neste artigo, tentaremos explicar a arquitetura da rede neural, descrever as suas aplicações e apresentar exemplos de uso prático.
Conectando NeuroSolutions Neuronets
Além da criação de neuronets, o suite de software NeuroSolutions permite exportá-los como DLLs. Este artigo descreve o processo de criação de um neuronet, gerando um DLL e conectando-o a um Expert Advisor para negociação no MetaTrader 5.