Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 376
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нашел в ALGLIB обучение методом раннего останова с валидационным участком:
Что-то мне это кажется неправильным, ведь в реальной торговле бары будут идти в своем порядке, а не в перемешанном с теми, что были час и день назад.
И если меняется "характер" рынка, значит надо заново обучаться или искать новые модели НС.
А у вас в сетке больше 500 связей? У них написано что L-BFGS менее эффективен чем L-M если мало нейронов
А у вас в сетке больше 500 связей? У них написано что L-BFGS менее эффективен чем L-M если мало нейронов
Пока меньше, для экономии времени - стадия разработки, как все доделаю буду уже на полную напрягать в поисках предикторов и схемы сети
Может статью напишете, когда полностью разберетесь? :) Статей нет хороших по алглибовской нейронке, есть одна переведенная сложноусваимая
Статья типа описание НС (т.к. у алглиб даже справки нормальной я не нашел) и примерчик обучения/переобучения, автооптимизации в боте. Ну это я так, просто заметил что не хватает инфы для изучения. За это вроде как еще и платят ) потратите время не даром
Может статью напишете, когда полностью разберетесь? :) Статей нет хороших по алглибовской нейронке, есть одна переведенная сложноусваимая
Статья типа описание НС (т.к. у алглиб даже справки нормальной я не нашел) и примерчик обучения/переобучения, автооптимизации в боте. Ну это я так, просто заметил что не хватает инфы для изучения. За это вроде как еще и платят ) потратите время не даром
За основу https://www.mql5.com/ru/articles/2279 и взял. Часов за 8 привел в рабочее состояние. Думаю у большинства программистов не займет больше времени.
А вот уже неделю занимает доработка, внесение доп. опций, тестов и т.д.
Вряд ли - на статью 100% времени не найду... к тому же я сам в НС только начинаю разбираться, ничего умного/нового сказать не смогу.
За основу https://www.mql5.com/ru/articles/2279 и взял. Часов за 8 привел в рабочее состояние. Думаю у большинства программистов не займет больше времени.
А вот уже неделю занимает доработка, внесение доп. опций, тестов и т.д.
я все еще пока смотрю в сторону байесовского классификатора + генетики, неплохие результаты. С сетками как-то мутно пока в голове, много нюансов
да, я про эту же статью, мне она не показалось удобоваримой, хотя я больше трейдер чем программист )
Обучение методом раннего останова на неперемешаных данных:
Такое ощущение что произошла подгонка к валидационному участку. Тестовый вообще удачный, но он в обучении не был и не сравнивался, видимо просто случайное совпадение.
За счет перемешивания ошибка выровнялась на обучающем и валидационном участках.Этой же ф-ей ансамбли считают, а там разделение 2/3 и все перемешивается между обоими участками, попробую так же сделать...
Перемешал:
А на тестовом ухудшилась.
Что-то мне кажется неправильным перемешивать данные, а потом делить на обучающий и валидационный, ведь в реальной торговле бары будут идти в своем порядке, а не в перемешанном с теми, что были час, день или неделю назад. Аналогично для кросс-валидационных алгоритмов, где валивационный участок, то в начале, то в середине, то в конце.
И если меняется "характер" рынка, значит надо заново обучаться или искать новые модели НС.
А если не перемешивать и валидировать на последнем участке, то как избежать подгонки под этот участок?
4 участка получается? Обучающий/валидационный/тестовый1/тестовый2 ?
Сколько циклов обучения/валидации нужно делать? Нигде про это не видел информации... 1 цикл всего? - и сразу после этого либо одобряем, либо что-то изменяем в наборе предикторов или схеме сети? Точнее за N циклов обучения нам покажут один лучший.
Участок тестовый2 - это приговор: не совпало, то начинаем все по новой, желательно с набора предикторов
ПС.
Кстати, еще имеется тестер, окончательный приговор ТС.
Осталась непонятной ситуация с перемешиванием результатов:
Обучение методом раннего останова на неперемешаных данных:
Такое ощущение что произошла подгонка к валидационному участку. Тестовый вообще удачный, но он в обучении не был и не сравнивался, видимо просто случайное совпадение.
За счет перемешивания ошибка выровнялась на обучающем и валидационном участках.Этой же ф-ей ансамбли считают, а там разделение 2/3 и все перемешивается между обоими участками, попробую так же сделать...
Перемешал:
А на тестовом ухудшилась.
Что-то мне кажется неправильным перемешивать данные, а потом делить на обучающий и валидационный, ведь в реальной торговле бары будут идти в своем порядке, а не в перемешанном с теми, что были час, день или неделю назад. Аналогично для кросс-валидационных алгоритмов, где валивационный участок, то в начале, то в середине, то в конце.
И если меняется "характер" рынка, значит надо заново обучаться или искать новые модели НС.
А если не перемешивать и валидировать на последнем участке, то как избежать подгонки под этот участок?
1. По моим представлениям у Вас вообще ничего не обучается - просто случайный результат на предикторах, которые не имеют никакого отношения к целевой переменной.
2. Перемешивание.
Не знаю НС.
Но в очень многих других алгоритмах МО обучение производится ровно на одной строке. Берется ОДНО значение каждого предиктора и ему сопоставляется целевая переменная. Поэтому перемешивание не имеет значения. Имеются алгоритмы МО, которые учитывают соседей.
Но по любому наши точки зрения совпадают и изначально тестирование на тестовом2 я всегда делаю без перемешивания.
ПС.
Еще раз.
Если ошибка на двух разных выборках разница так как у Вас - это означает, что Ваша система безнадежна, только на выброс.
блуждая по бездонной выгребной яме под названием интернет,наткнулся на такую бумажку.
Artificial Neural Networks architectures for stock price prediction:comparisons and applications
иначе говоря - архитектуры НС для предсказания акций-сравнение и применение
Осталась непонятной ситуация с перемешиванием результатов:
Что-то мне кажется неправильным перемешивать данные, а потом делить на обучающий и валидационный, ведь в реальной торговле бары будут идти в своем порядке, а не в перемешанном с теми, что были час, день или неделю назад. Аналогично для кросс-валидационных алгоритмов, где валивационный участок, то в начале, то в середине, то в конце.И если меняется "характер" рынка, значит надо заново обучаться или искать новые модели НС.
А если не перемешивать и валидировать на последнем участке, то как избежать подгонки под этот участок?
После разделения на train/test/valid перемешать train. Остальные наборы не перемешивать.
Это валидно для классификации нейросетями. Более того при обучении глубоких нейросетей перемешивают каждый minibatch перед подачей нейросети.
Удачи