Обсуждение статьи "Машинное обучение и Data Science (Часть 21): Сравниваем алгоритмы оптимизации в нейронных сетях"
Скрипт из статьи выдаёт ошибку:
2024.11.21 15:09:16.213 Optimization Algorithms testScript (EURUSD,M1) Zero divide, check divider for zero to avoid this error in 'D:\Market\MT5\MQL5\Scripts\Optimization Algorithms testScript.ex5'
Проблема оказалась в том, что скрипт не нашел файл с данными для обучения. Но, в любом случае, программой должен обрабатываться такой случай, если файл с данными не найден.
Но теперь такая проблема:
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 50 undeleted dynamic objects found:
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 10 objects of class 'CTensors'
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 40 objects of class 'CMatrix'
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 14816 bytes of leaked memory found
Проблема оказалась в том, что скрипт не нашел файл с данными для обучения. Но, в любом случае, программой должен обрабатываться такой случай, если файл с данными не найден.
Но теперь такая проблема:
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 50 undeleted dynamic objects found:
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 10 objects of class 'CTensors'
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 40 objects of class 'CMatrix'
2024.11.21 17:27:37.038 Optimization Algorithms testScript (EURUSD,M1) 14816 bytes of leaked memory found
Это связано с тем, что для одного экземпляра класса должна быть вызвана только одна функция «подгонки». Я вызвал несколько функций подгонки, что приводит к созданию нескольких тензоров в памяти. Это было в образовательных целях.
/* Calling multiple fit functions of one neural network class in one program is a bad Idea, too many objects will be left undeleted from memory, the best Idea would be to delete each instance of a class and call it again after each fit fuction. */ 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;
Это должно быть так;
//--- 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;
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Машинное обучение и Data Science (Часть 21): Сравниваем алгоритмы оптимизации в нейронных сетях:
В этой статье мы заглянем в самую глубь нейронных сетей и поговорим об используемых в них алгоритмах оптимизации. В частности обсудим ключевые методы, которые позволяют раскрыть потенциал нейронных сетей и повысить точность и эффективность моделей.
Кажется, сегодня все интересуются искусственным интеллектом. Он повсюду, и крупные игроки в технологической индустрии, такие как Google и Microsoft, стоящие за openAI, продвигают использование ИИ в самых различных аспектах и отраслях, таких как развлечения, индустрия здравоохранения, искусство, творчество, и т. д.
Идея нейронных сетей и машинного обучения уже давно доступна и в MetaTrader 5. Например, в языке есть нативная поддержка матриц и векторов и архитектуры ONNX. Стало возможным создавать торговые модели с искусственным интеллектом любой сложности. Вам даже не нужно быть экспертом в линейной алгебре или других смежных науках, чтобы понимать все, что происходит в системе.
Несмотря на все это, сейчас труднее найти основы машинного обучения, чем когда-либо. Но без базовых знаний невозможно понять, как работает ИИ и как его можно использовать. Понимание того, что нужно делать и для чего, делает вас гибче и позволяет реализовать разные возможности. Есть очень много вещей, которые нам предстоит обсудить в области машинного обучения. Сегодня мы поговорим об алгоритмах оптимизации, узнаем, что это такое и как они соотносятся друг с другом, когда и какой алгоритм оптимизации следует выбрать для повышения производительности и точности нейронных сетей.
Автор: Omega J Msigwa