Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 245
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я говорю - надо упрощать, обобщать, а Вы - усложнять, детализировать.
Так это очень часто делается. Используются информационные критерии, например Акайка.
Смысл такой.
Штрафуется сложность модели. В результате оптимизации выбирается модель не самая точная, но более простая.
А теперь на примере.
Берем выборку более 5000 бар EURUSD на Н1. Строим случайный лес. Ставим максимальное число деревьев = 500. Смотрим график ошибки подгонки в зависимости от числа деревьев. Оказывается, что ошибка подгонки очень мало меняется после 100 деревьев. Кроме этого, увеличение выборки не приводит к увеличению числу деревьев. А деревья - это и есть вожделенные паттерны. Т.е. пара EURUSD на Н1 содержит около 100 паттернов. Но практически всегда модель переобучается.
Если огрубить модель, взять и радикально уменьшить максимальное число деревьев, например, 10, то может помочь в борьбе с переобучением.
Если огрубить модель, взять и радикально уменьшить максимальное число деревьев, например, 10, то может помочь в борьбе с переобучением.
С лесом переобучение возникает не от количества деревьев, а от неограниченной их глубины(сложности модели), количество уменьшает варианс, а переобучение это баес
Вот мне интересно, -
1. К чему сводится обучение нейросети в алготрейдинге?
2. Какие параметры рыночной динамики используют в обучении?
3. Помимо распознования паттернов на истории, может ли сеть "узнать" специфический характер изменения значения параметра в текущем моменте и среагировать на него?
(например резкий волнообразный подъем, или плавный спуск).
Думаю, характер текущего изменения значения параметра сеть не распознает... Вряд ли.
А это выглядит многообещающе для прогнозирования. Ведь достаточно было бы запомнить переходы этих изменений, чтобы потом предугадывать их.
всё это опьять таки сводится к монетке 50 на 50 ... пустая трата времени.
Нет, эйдж небольшой есть. Скажу проще: с помощью МО можно вытянуть гораздо больше, чем как либо иначе, включая “интуицию”, на рынке есть закономерности, с помощью МО их экстрагировать эффективнее всего.
С горем пополам вчера 0.69(0.68999) проколол. Все, наигрался вдоволь.
Круто!
Однако согласитесь что 0.69 это стена которую стандартными средствами можно только поцарапать, сдаётся мне что дело не в глубине нейросети и не количестве деревьев в лесу, у тех кто ниже 0.6, есть какие то хитрости которых мы не знаем и это на самом деле очень мотивирует не расслаблять булки))
Круто!
Однако согласитесь что 0.69
А что это за цифра? Где можно посмотреть?
Как человек, имеющий весьма косвенное отношение к МО, я не вмешиваюсь в обсуждение, но позволю себе высказать мнение со своей "колокольни".
Обычная многослойная нейронная сеть состоит из нейронов. Функция активации нейрона - это монотонная функция, которая растёт от -1 до 1 (или от 0 до 1, не важно). При минимальном значении на входе эта функция выдаёт минимальный результат, при максимальном значении - максмальный.
Мы обучаем нейросеть с N входами на некотором участке (облаке входных данных) в N-мерном пространстве. Нейросеть не имеет никакого представления, что делать с данными, которые лежат за пределами этого облака. Но мы подаём эти данные ей на вход и ждём от неё какой-то результат.
хы-хы. как вы заблуждатесь.
Бумажные очки оказались идеальным камуфляжем против нейросетей
Реter Konow:
3. Помимо распознования паттернов на истории, может ли сеть "узнать" специфический характер изменения значения параметра в текущем моменте и среагировать на него?
(например резкий волнообразный подъем, или плавный спуск).
Думаю, характер текущего изменения значения параметра сеть не распознает... Вряд ли.
А это выглядит многообещающе для прогнозирования. Ведь достаточно было бы запомнить переходы этих изменений, чтобы потом предугадывать их.
Допустим, произошла нештатная ситуация на рынке и был резкий скачок цены. Или НС, обученная на человеческих лицах, получает на вход изображение разноцветных очков. Нейроны перевозбуждаются и их выходной сигнал уходит далеко в левую или правую ветвь сигмоиды. А это значит, что на выходе НС мы получаем какой-то, непредсказуемый, но очень сильный сигнал.
Если такие выбросы имеются в обучающей выборке (например, 1% от всех данных), то алгоритм backprop "расшатывает" все веса, при этом НС не успевает ничему "научиться", но ухудшается её работа на 99% "нормальных" данных.
Было бы намного лучше не "загонять" НС в рамки невыполнимых требований, а научить её защищаться от "нештатных" входных данных. И здесь у нас есть, ИМХО, два варианта действия.
1. Ввести один или несколько слоёв нейронов с функцией активации в виде кривой Гаусса, вместо сигмоиды. Такой нейрон будет выдавать результат, близкий к 1, в ограниченном диапазоне значений входов, и близкий к 0 на всей остальной числовой оси.
2. Изменить интерпретацию выходов НС. Вместо обычной бинарной интерпретации (0 - нет сигнала торговли, 1 - есть сигнал торговли) предлагается такая: 0 - нет сигнала, 0.5 - есть сигнал, 1.0 - нет сигнала. В случае непредвиденных движений цены выход НС будет близок к одному из крайних значений - 0 или 1, и никаких ложных сигналов она не выдаст.
Уважаемые спецы, есть ли упоминания подобных вещей в литературе по МО и кажется ли вам это полезным ? Замечания приветствуются.