Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1883

 
Evgeny Dyuka:
Кстати, может знатоки подскажут. Такой вопрос:

Задача, например, по фото отличить кошку от собаки. Какой правильно вариант обучения выбрать?
1. Показывать фотки только кошек и собак, т.е. бинарная классификация.
2. Отдельно бучать только показывая кошек и "не кошек" (протос хаос) + отдельно так же собак и "не собак", т.е. два цикла обучения и две модели на выходе.
3. Делать классификацию из трех - кошки, собаки и хаос. Т.е. модель будет одна, но ответ - классификация из трех вариантов.

Сейчас у меня первый вариант и он явно кривой. Проблема в том, что нейро хорошо обучается только одному из вариантов, условно хорошо видит только "кошек", а собак узнает плохо. Пример, на бэктестах модели хорошо определяют движение цены вверх и игнорят движение вниз. Если угадывание вверх доходит до 67%, то эта же модель угадывает вниз только 55%. "Вверх" и "вниз" от модели к модели может меняться местами.

Обычно говорят попробуйте все и выберете лучший вариант. Имхо, 2 сетки, каждая работает со своей задачей (кошки или собаки), плюс на выходе выставить порог. Потом нужно каким то образом определить, какие примеры распознаются хуже всего, их нужно обработать или провести дополнительную тренеровку. На вход подавать те примеры, которые будут использоваться на практике, нет смысла показывать дом при обучении, если его не будет в тесте. Так же картинки на трейне и тесте должны быть одинаково обработаны.

 
Evgeny Dyuka:
Кстати, я открыт для партнерства если есть какой то ресурс, необязательно материальный - аудитория для продвижения или возможность организовать дальнейшие исследования опираясь на то, что уже есть. Просто так, на коленке, эту тему до хорошего уровня не поднять. Нужны реальные спецы из разных областей.

Закиньте в свой профиль ссылку на телеграммканал. Интересно посмотреть.

 
Rorschach:

Обычно говорят попробуйте все и выберете лучший вариант. Имхо, 2 сетки, каждая работает со своей задачей (кошки или собаки), плюс на выходе выставить порог. Потом нужно каким то образом определить, какие примеры распознаются хуже всего, их нужно обработать или провести дополнительную тренеровку. На вход подавать те примеры, которые будут использоваться на практике, нет смысла показывать дом при обучении, если его не будет в тесте. Так же картинки на трейне и тесте должны быть одинаково обработаны.

Зачем цену рассматривать через призму картинки если есть точные координаты. Цена и время. Остается описать интересующую модель. А так как их много, то выборочно. Машина на 100% их распознаёт даже без обучения.

 
Uladzimir Izerski:

Закиньте в свой профиль ссылку на телеграммканал. Интересно посмотреть.

закинул
сигналы от индикаторов на паузе до понедельника, зайдите в кнопку "История" что бы увидеть как они выглядят, а нейро сигналит
 
Rorschach:

Обычно говорят 1. попробуйте все и выберете лучший вариант. Имхо, 2 сетки, 2. каждая работает со своей задачей (кошки или собаки), плюс на выходе выставить порог. Потом нужно каким то образом определить, какие примеры распознаются хуже всего, их нужно обработать или провести дополнительную тренеровку. На вход 3. подавать те примеры, которые будут использоваться на практике, нет смысла показывать дом при обучении, если его не будет в тесте. Так же картинки на трейне и тесте должны быть одинаково обработаны.

1. Все правильно, надо перебрать все варианты. Проблема в том, что слишком трудоемко.
2. Пробовал, хуже стало.
3. А как узнать какие она использует??? Это черный ящик, поэтому подаю все.
 
Uladzimir Izerski:

Зачем цену рассматривать через призму картинки если есть точные координаты. Цена и время. Остается описать интересующую модель. А так как их много, то выборочно. Машина на 100% их распознаёт даже без обучения.

Вопрос был про кошек и собак. А так можно сеть графическому анализу научить попробовать.

 
Uladzimir Izerski:

Зачем цену рассматривать через призму картинки если есть точные координаты. Цена и время. Остается описать интересующую модель. А так как их много, то выборочно. Машина на 100% их распознаёт даже без обучения.

Конечно не картинка, просто аналогия с картинкой прямая. Свеча описывается тремя значениями.
 
Rorschach:

Вопрос был про кошек и собак. А так можно сеть графическому анализу научить попробовать

Наверно можно показывать сети скрины, но после оптимизации всеравно придешь к Open, Close, High, Low

 
Evgeny Dyuka:
1. Все правильно, надо перебрать все варианты. Проблема в том, что слишком трудоемко.
2. Пробовал, хуже стало.
3. А как узнать какие она использует??? Это черный ящик, поэтому подаю все.

есть оптимизаторы гиперпараметров, типа оптимизатора в тестере МТ. Поставил на сутки и само подбирает.

Тоже заколебался ждать пока посчитает, но это особенность НС, нет точной науки, только опыт (чужой, свой) и интуиция. Можно делится результатами здесь или в личке.

Я ранее выложил пример для тренировки. Смысл обучить сеть сигналам на покупку. Затем переворачиваем вход и сеть должна выдать сигналы на продажу. Это бинарная классификация, есть сигнал или нету. Можно было учить сеть распознавать бай и сел, но имхо, это хуже. Диапазон выхода ограничен 0-1, если ищем только бай, то диапазон делится на 2 класса (есть бай, нет бая) и порог можно сдвинуть хоть на 0.8. Если искать бай сел, тогда 0-1 делится на 3 участка: бай, сел, что то среднее. Имхо, поиск только сигнала на покупку это: в 2 раза больше обучающих примеров (перевернуть вход), меньше размер сети (задача проще, нужно меньше нейронов), меньше время обучения, проще найти решение (думаешь только про 1 класс), но это только теория.

У меня идея, что бы сеть сама искала признаки, подаешь цену, желаемые сигналы, а она сама все делает. Начал с lstm, вроде как идеально подходит, но что то пока не очень. Хочу попробовать обычные сети, если не пойдет буду думать что дальше. CNN какие то геморные, замучаешься подбирать конфигурацию слоев и ядер. Наверно будет проще вейвлеты в обычную сеть подать. А если и это не подойдет, придется серьезнее запарится с отбором входных признаков, но тогда вопрос, а оно надо, проще "классическую" систему сделать и понятней, и надежней, и экономней, и тестить легче.

А как ты анализируешь результаты, только цифру смотришь? Такой код используешь?

plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])

Строится 2 графика, ошибка на трейне и тесте, по ним можно понять чего сети не хватает и в каком направлении двигаться.

 
Rorschach:

Тоже заколебался ждать пока посчитает, но это особенность НС, нет точной науки, только опыт (чужой, свой) и интуиция. Можно делится результатами здесь или в личке.

Речь про картинки или уже про рынок?легче.

А как ты анализируешь результаты, только цифру смотришь? Такой код используешь?

Строится 2 графика, ошибка на трейне и тесте, по ним можно понять чего сети не хватает и в каком направлении двигаться.

Сразу видно что человек в реальном процессе ))

По началу стандарно отрисовывал используя

import matplotlib.pyplot as plt

но толку мало, из-за большого шума уже после 10 эпох график ложится на горизонтальную.
У меня бинарная классификая и я анализирую степень уверенности сети в каждом ответе, т.е. например правильный ответ 0 1, а сеть выдает 0.4 0.6 - это хорший ответ, а чаще так: правильный ответ 0 1, а сеть выдает 0.49 0.51
Когда ответов тысячи их можно раскидать по группам по степени уверенности и проводить анализ.

 

Причина обращения: