Discussão do artigo "Data Science e Machine Learning (Parte 21): Desvendando Redes Neurais, Algoritmos de Otimização Desmistificados"
O problema acabou sendo que o script não encontrou o arquivo com os dados de treinamento. Mas, de qualquer forma, o programa deve lidar com esse caso se o arquivo de dados não for encontrado.
Mas agora existe esse problema:
2024.11.21 17:27:37.038 Optimisation Algorithms testScript (EURUSD,M1) 50 undeleted dynamic objects found:
2024.11.21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 10 objetos da classe 'CTensors'
2024.11.21 17:21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 40 objetos da classe 'CMatrix'
2024.11.21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 14816 bytes de memória vazada encontrados
O problema acabou sendo que o script não encontrou o arquivo de dados para treinamento. Mas, de qualquer forma, o programa deve lidar com esse caso, se o arquivo de dados não for encontrado.
Mas agora existe esse problema:
2024.11.21 17:27:37.038 Optimisation Algorithms testScript (EURUSD,M1) 50 undeleted dynamic objects found:
2024.11.21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 10 objetos da classe 'CTensors'
2024.11.21 17:21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 40 objetos da classe 'CMatrix'
2024.11.21 17:27:37.038 Algoritmos de otimização testScript (EURUSD,M1) 14816 bytes de memória vazada encontrados
Isso ocorre porque apenas uma função "fit" deve ser chamada para uma instância de uma classe. Eu chamei várias funções de ajuste, o que resulta na criação de vários tensores na memória, para fins educacionais.
/* Chamar várias funções de ajuste de uma classe de rede neural em um programa é uma má ideia, pois muitos objetos serão deixados sem serem excluídos da memória; a melhor ideia seria excluir cada instância de uma classe e chamá-la novamente após cada função de ajuste. */ nn.fit(x_train, y_train, new OptimizerMinBGD(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); nn.fit(x_train, y_train, new OptimizerRMSprop(nn_learning_rate, 0.1), nn_epochs, nn_batch_size, show_batch); nn.fit(x_train, y_train, new OptimizerAdaGrad(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); nn.fit(x_train, y_train, new OptimizerAdam(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); nn.fit(x_train, y_train, new OptimizerAdaDelta(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); nn.fit(x_train, y_train, new OptimizerNadam(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); delete nn;
Deveria ser assim;
//--- nn = new CRegressorNets(hidden_layers, AF_RELU_, LOSS_MSE_); x_train = scaler.fit_transform(x_train); nn.fit(x_train, y_train, new OptimizerMinBGD(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); delete nn; //--- nn = new CRegressorNets(hidden_layers, AF_RELU_, LOSS_MSE_); x_train = scaler.fit_transform(x_train); nn.fit(x_train, y_train, new OptimizerAdam(nn_learning_rate), nn_epochs, nn_batch_size, show_batch); delete nn;
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Data Science e Machine Learning (Parte 21): Desvendando Redes Neurais, Algoritmos de Otimização Desmistificados foi publicado:
Mergulhe no coração das redes neurais enquanto desmistificamos os algoritmos de otimização usados dentro das redes neurais. Neste artigo, descubra as principais técnicas que desbloqueiam todo o potencial das redes neurais, impulsionando seus modelos a novos patamares de precisão e eficiência.
Parece que hoje em dia todo mundo está interessado em Inteligência Artificial, está em toda parte, e os gigantes da indústria de tecnologia, como Google e Microsoft por trás da openAI, estão impulsionando a adaptação da IA em diferentes aspectos e indústrias, como entretenimento, saúde, artes, criatividade, etc.
Vejo essa tendência também na comunidade MQL5 por que não, com a introdução de matrizes e vetores e ONNX ao MetaTrader5. Agora é possível criar modelos de negociação com Inteligência Artificial de qualquer complexidade. Você nem precisa ser um especialista em álgebra linear ou nerd o suficiente para entender tudo o que está envolvido no sistema.
Apesar de tudo isso, os fundamentos do aprendizado de máquina estão agora mais difíceis de encontrar do que nunca, e ainda assim são tão importantes quanto saber para solidificar sua compreensão de IA. Eles permitem que você saiba por que faz o que faz, o que te torna flexível e te dá opções. Há muitas coisas que ainda precisamos discutir sobre aprendizado de máquina. Hoje, veremos quais são os algoritmos de otimização, como eles se comparam entre si, quando e qual algoritmo de otimização você deve escolher para melhor desempenho e precisão em suas Redes Neurais.
Autor: Omega J Msigwa