Подбирать веса для нейросети с использованием ГА имхо неэффективно. Попробуйте реализовать обратное распространение ошибки (благо найти алгоритм и реализации не проблема) - это будет гораздо быстрее. Впрочем, везде следует учитывать свои тонкости (локальные минимумы и т.п.).
Насчет переобучения - вопрос трудный. Во-первых, значение имеет конфигурация слоев НС. Во-вторых, можно попробовать разбивать исходное обучающее множество на отрезки для обучения и тестирования (если не ошибаюсь, это называется кросс-валидацией; найти также не проблема).
Имхо задача обучения при должном подходе должна решаться лишь при нормальных входах, т.е. пока на входах малоинформативные данные - отсутствие переобучения не даст хороших результатов.
Подбирать веса для нейросети с использованием ГА имхо неэффективно. Попробуйте реализовать обратное распространение ошибки (благо найти алгоритм и реализации не проблема) - это будет гораздо быстрее. Впрочем, везде следует учитывать свои тонкости (локальные минимумы и т.п.).
Насчет переобучения - вопрос трудный. Во-первых, значение имеет конфигурация слоев НС. Во-вторых, можно попробовать разбивать исходное обучающее множество на отрезки для обучения и тестирования (если не ошибаюсь, это называется кросс-валидацией; найти также не проблема).
Имхо задача обучения при должном подходе должна решаться лишь при нормальных входах, т.е. пока на входах малоинформативные данные - отсутствие переобучения не даст хороших результатов.
Ну возможно и неэффективно. Просто я не математик, я из других отраслей :) Для back propagation нужнен идеальный сигнал - а поди его нарисуй для форекса... Есть там всякие идеи, но почему-то мне ни один не нравится... Мне было проще сделать функцию для оценки "поведения" сети. Чего мы ждем от советника: результата в денежном выражении, надежности, низкой просадки и т.п. Все эти данные собираешь вместе и "затачиваешь" таким образом НС, пока не "выжмешь" из генетики весь потенциал. Примерно так.
Эта часть работает - сеть учится. Почему она, зараза, не хочет на новых данных-то... не понимаю
Данные старался нормализовать - в силу своего ограниченного интеллекта, разумеется :)
А Вы поменьше баров возьмите для выборки, что подгонять (перетренировывать) проще было. Тогда Ваш вопрос станет еще более актуальным.
не понял: 4.000 мало?
Я одно время "игрался" с 2.000 барами - но там дело скорее о отработке программной части шло. Что интересно, сетка "отзывалась". По большей части положительно (гонял на разных парах и таймфреймах). Иногда был минус. Но это было дано и процесс тренировки выглядел иначе... Без стоп лоссов, например...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здрассте всем. Может кто знает, что делать...
"Воспитываю" нейронную сеть (или как ее здесь зовут, перцептрон) на 4.000 барах данных М15 с помощью генетики. Как вариант - 17 входных сигналов, один скрытый слой в два раза больше, два нейрона на выходе (предполагается, что будет две сети, которые работают параллельно. Одна "заточена" на long, вторая на short. Два нейрона, соответственно, чтоб открыть/держать позицию и закрыть).
"Воспитывается" %) Собирает где-то 7000 пунктов на EURUSD (spread 18), процент попадания по сделкам где-то 85%. Только почему-то во время тестирования на новых данных ничего приличного не выходит. Что я не так делаю-то? Эффект "перетренировки" наступает или "кормлю" чем-то не тем?