Но это отличается от базовой формулы (+) или, например, от исходного кода Keras (+).
Пожалуйста, расскажите о вашем методе реализации. Почему вы просто используете лямбды вместо полной формулы и почему вы умножаете веса с помощью одной из них и суммируете с помощью другой.
Из какого скрипта мне генерировать этот study_data_not_norm.csv? Я пробовал создать скрипт create_initial data, но он не сработал. При запуске скрипта gpt_test_not_norm.mq5 я получил выход за пределы диапазона.
Большое спасибо за возможность обучаться в такой уникальной области!
Все же хочу вернуться к предыдущим постам касательно ошибки 5008.
У меня также не получилось загрузить тестер стратегий для обученной модели gpt_not_norm.net cошибкой 5008, не загружается файл модели.
При этом при запуске на графике робот ведет себя корректно, файл модели подцепляет, адекватные значения после прямого прохода, я вывел их на график, все хорошо.
Файл модели, как и положено, лежит в директории согласно флагу Trueдля Common\Terminal\Common\Files.
Более того, когда я запустил все то же самое на другом компе, на своем ноутбуке, тестер стратегий запустился без ошибки.
Может быть, это какие-то настройки системы мешают работать тестеру стратегий?
1.Тестер стратегии не работает на компе с
ПроцессоромIntel Core i5-9400F 2.90GHz, 16295 MB
Windows 10 домашняя.
2. Тестер стратегии работает на ноутбуке с
ПроцессоромIntel Core i7-2760QM 2.40GHz, 12238 MB
Windows 10 Pro.
Помогите пожалуйста решить эту проблему.
Мне очень нужно задействовать комп, на нем видеокарта стоит и быстрее он точно.
Vrajeshbhai тестер останавливается, показывая сообщение "Tester stopped because OnInit returns non-zero code 1" Please update it So everyone can test it and understand it what is exactly doing.
Привет. Написано много, получилась книга. Начал читать, думал, щас как запилю ченидь для маркета.
Это хороший труд. Потому что больше нет ничего настолько универсального, что объяснило бы, как подойти к машинному обучению средствами mql5.
Однако...
Выборка делится на 3 части - 60% обучение, 20% валидация и 20% тест. Из 40 баров каждой цепочки баров повторяется 35. Мораль - вы обучаете и проверяете, используя одни и те же данные. Я нарисовал картинку. Это не только беда этой книги, я встречаю это снова и снова.
Сначала я подумал, что индикатор Зигзаг - это то самое, что позволяет выделить неповторяющиеся движения. Типа от вершины к впадине, от впадины к вершине. Это были бы уникальные паттерны, как это названо в книге. Но нет, автор строит паттерны побарно, и в этом конечно грубейшая ошибка. И Зигзаг для этого не нужен. Можно просто смотреть вперед на 10 баров и считать, куда пошел рынок.
Это первый пункт - практический. И второй пункт технический - тоже не то. Автор проводит обучение с валидацией только в Тензорфлоу? Это круто, Тензорфлоу - библиотека машинного обучения, которую делает Гугл. Но ведь цель этого труда была в том, чтобы показать, как это сделать средствами mql5?
В mql5 нет примеров обучения с валидацией. Я пока не нашел примеров с валидацией. Потом допишу есливче. Конечно, надо пробовать делать самому. Конечно, надо. Работы много, чтобы подготовить историю и подобрать параметры обучения. Вот и в Тензорфлоу вроде все есть, а сколько всего нужно делать. А здесь получается, что и техническая часть не доделана.
Это те самые 95%, которые без 5% теряют ценность?
Я пока остановлюсь на том, что это хороший труд. Потому что больше нет ничего подобного.
Сколько я ни пробовал, историю нельзя выбрать по датам, если между датами больше 1 года. Иногда пролезает 2 года. Но если график пустой, и ты в пустой график заряжаешь, то сразу только 1 год. Чтобы надежно собрать данные за любой период, нужен "холостой" тест в тестере стратегий от одной даты к другой. Тогда сколько угодно лет, и в файл.
Разве метод оптимизации Adam не корректирует learning_rate исходя из скорости обучения? Там еще используется "потолок", а не постоянное значение.
Если делать рекуррентную сеть, зачем добавлять скрытые полносвязные слои? Полносвязная тема уничтожает тему lstm. Конечно, в конце сети нужен 1 полносвязный нейрончик для активации.
Dropout - это свойство слоя в любой нейронной сети. Например, в lstm свойство dropout обязательно должно быть, иначе привыкает к данным за несколько эпох. Я знаю, что в pytorch свойство dropout можно использовать только в переходе между двумя одинаковыми слоями, таким образом нужно 2 рекуррентных слоя. А в tensorflow любой слой может иметь dropout. Очевидное преимущество tensorflow перед pytorch.
Пакетная обработка в обратном распространении. Почему у автора пакет - это любое число?! Получается, что в каждую эпоху он выбирает случайное количество данных для обучения. Пакет - это количество! Например, выборка 1000 элементов, и это 10 пакетов по 100 значений. Каждая эпоха - это разные пакеты, но значений там всегда по 100. Я провожу обучение попакетно, и в конце каждого пакета корректирую веса. Это может гарантировать, что я не застряну в локальном минимуме. И я использую все данные выборки, а не какие-нибудь.
Еще не работает оптимизация торговли. Вылетает странная ошибка в диалоговом окне. Один раз выключился комп. То есть если обучить сеть, и потом с ней пытаться проводить оптимизацию торговли.
На мой взгляд, неправильно использовать графический стимулятор для форекса. Как ни крути, данных не много. Правильнее, на мой взгляд, было бы использовать агентов метатрейдера в оптимизаторе, чтобы запускать разные потоки обучения разных сетей. Например, в тензорфлоу я обучаю 7 потоков. Один закончился, добавился другой. И так по порядку 100 вариантов. Потом по ним прогон на истории.
Тут тема в том, что нейронная сеть может и хорошая. Но не любая нейронная сеть способна пройти свою историю обучения. Поэтому нужно много вариантов сетей.
ChatGPT подсказывает, что для классификации между двумя лучше всего использовать сигмоид. И его-то как раз я не нашел. А еще функции активации разные. Но функция потери одна и та же - MSE?
Тангенс все равно это не классификация, а регрессия. От -1 до 1 это не вероятность, а расчет значения.
Короче, сойдет. Больше ничего нет. Поэтому труд, безусловно, хороший. Буду использовать.
После загрузки нейробука и исходников я хотел бы узнать, существует ли версия полностью на Python? Предоставленная версия представляет собой проблему, особенно если выполнение openCl не может быть выполнено на машине. В настоящее время я пытаюсь осуществить конвертацию, но это немного титаническая задача! Я хотел бы сказать большое спасибо всем, кто уже занимался подобным проектом, или тем, кто знает, где найти исходники версии на Python.
Спасибо Дмитрию за все ваши усилия по созданию этой книги. Она действительно полезна.
В файле neuronbase.mqh вы реализуете метод ElasticNet Regularization следующим образом без объяснения в вашей книге.
m_cWeights.m_mMatrix -= m_cWeights.m_mMatrix * Lambda[1] + Lambda[0]
Но это отличается от базовой формулы (+) или, например, от исходного кода Keras (+).
Пожалуйста, расскажите о вашем методе реализации. Почему вы просто используете лямбды вместо полной формулы и почему вы умножаете веса с помощью одной из них и суммируете с помощью другой.
Из какого скрипта мне генерировать этот study_data_not_norm.csv? Я пробовал создать скрипт create_initial data, но он не сработал. При запуске скрипта gpt_test_not_norm.mq5 я получил выход за пределы диапазона.
Уважаемые администраторы,
Большое спасибо за возможность обучаться в такой уникальной области!
Все же хочу вернуться к предыдущим постам касательно ошибки 5008.
У меня также не получилось загрузить тестер стратегий для обученной модели gpt_not_norm.net c ошибкой 5008, не загружается файл модели.
При этом при запуске на графике робот ведет себя корректно, файл модели подцепляет, адекватные значения после прямого прохода, я вывел их на график, все хорошо.
Файл модели, как и положено, лежит в директории согласно флагу True для Common \Terminal\Common\Files.
Более того, когда я запустил все то же самое на другом компе, на своем ноутбуке, тестер стратегий запустился без ошибки.
Может быть, это какие-то настройки системы мешают работать тестеру стратегий?
1.Тестер стратегии не работает на компе с
Процессором Intel Core i5-9400F 2.90GHz, 16295 MB
Windows 10 домашняя.
2. Тестер стратегии работает на ноутбуке с
Процессором Intel Core i7-2760QM 2.40GHz, 12238 MB
Windows 10 Pro.
Помогите пожалуйста решить эту проблему.
Мне очень нужно задействовать комп, на нем видеокарта стоит и быстрее он точно.
При запуске скрипта gpt_test_not_norm.mq5 я получил выход за пределы диапазона.
В 40-й строчке программы:
if(!loss_history.Resize(0,Epochs))
Меняем на:
if(!loss_history.Resize(Epochs))
Привет. Написано много, получилась книга. Начал читать, думал, щас как запилю ченидь для маркета.
Это хороший труд. Потому что больше нет ничего настолько универсального, что объяснило бы, как подойти к машинному обучению средствами mql5.
Однако...
Выборка делится на 3 части - 60% обучение, 20% валидация и 20% тест. Из 40 баров каждой цепочки баров повторяется 35. Мораль - вы обучаете и проверяете, используя одни и те же данные. Я нарисовал картинку. Это не только беда этой книги, я встречаю это снова и снова.
Сначала я подумал, что индикатор Зигзаг - это то самое, что позволяет выделить неповторяющиеся движения. Типа от вершины к впадине, от впадины к вершине. Это были бы уникальные паттерны, как это названо в книге. Но нет, автор строит паттерны побарно, и в этом конечно грубейшая ошибка. И Зигзаг для этого не нужен. Можно просто смотреть вперед на 10 баров и считать, куда пошел рынок.
Это первый пункт - практический. И второй пункт технический - тоже не то. Автор проводит обучение с валидацией только в Тензорфлоу? Это круто, Тензорфлоу - библиотека машинного обучения, которую делает Гугл. Но ведь цель этого труда была в том, чтобы показать, как это сделать средствами mql5?
В mql5 нет примеров обучения с валидацией. Я пока не нашел примеров с валидацией. Потом допишу есливче. Конечно, надо пробовать делать самому. Конечно, надо. Работы много, чтобы подготовить историю и подобрать параметры обучения. Вот и в Тензорфлоу вроде все есть, а сколько всего нужно делать. А здесь получается, что и техническая часть не доделана.
Это те самые 95%, которые без 5% теряют ценность?
Я пока остановлюсь на том, что это хороший труд. Потому что больше нет ничего подобного.
Разве метод оптимизации Adam не корректирует learning_rate исходя из скорости обучения? Там еще используется "потолок", а не постоянное значение.
Если делать рекуррентную сеть, зачем добавлять скрытые полносвязные слои? Полносвязная тема уничтожает тему lstm. Конечно, в конце сети нужен 1 полносвязный нейрончик для активации.
Dropout - это свойство слоя в любой нейронной сети. Например, в lstm свойство dropout обязательно должно быть, иначе привыкает к данным за несколько эпох. Я знаю, что в pytorch свойство dropout можно использовать только в переходе между двумя одинаковыми слоями, таким образом нужно 2 рекуррентных слоя. А в tensorflow любой слой может иметь dropout. Очевидное преимущество tensorflow перед pytorch.
Пакетная обработка в обратном распространении. Почему у автора пакет - это любое число?! Получается, что в каждую эпоху он выбирает случайное количество данных для обучения. Пакет - это количество! Например, выборка 1000 элементов, и это 10 пакетов по 100 значений. Каждая эпоха - это разные пакеты, но значений там всегда по 100. Я провожу обучение попакетно, и в конце каждого пакета корректирую веса. Это может гарантировать, что я не застряну в локальном минимуме. И я использую все данные выборки, а не какие-нибудь.
Еще не работает оптимизация торговли. Вылетает странная ошибка в диалоговом окне. Один раз выключился комп. То есть если обучить сеть, и потом с ней пытаться проводить оптимизацию торговли.
На мой взгляд, неправильно использовать графический стимулятор для форекса. Как ни крути, данных не много. Правильнее, на мой взгляд, было бы использовать агентов метатрейдера в оптимизаторе, чтобы запускать разные потоки обучения разных сетей. Например, в тензорфлоу я обучаю 7 потоков. Один закончился, добавился другой. И так по порядку 100 вариантов. Потом по ним прогон на истории.
Тут тема в том, что нейронная сеть может и хорошая. Но не любая нейронная сеть способна пройти свою историю обучения. Поэтому нужно много вариантов сетей.
ChatGPT подсказывает, что для классификации между двумя лучше всего использовать сигмоид. И его-то как раз я не нашел. А еще функции активации разные. Но функция потери одна и та же - MSE?
Тангенс все равно это не классификация, а регрессия. От -1 до 1 это не вероятность, а расчет значения.
Короче, сойдет. Больше ничего нет. Поэтому труд, безусловно, хороший. Буду использовать.