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

 

Всем доброго дня.


Позвольте уточнить, какими пакетами ML используют участники обсуждения, или все делается посредством MQL?

 

На удивление файл посчитался, качество модели слабенькое, кто хочет пусть првоеряет на валидации....

Файлы:
 
Mihail Marchukajtes:

На удивление файл посчитался, качество модели слабенькое, кто хочет пусть првоеряет на валидации....

В файле написано
 * TruePositives: 853
 * TrueNegatives: 1098
 * FalsePositives: 732
 * FalseNegatives: 985

т.е. почти 50/50.
У меня примерно такой же результат для чуть более простой логической задачки, потому я и предположил, что шумовые входы очень сильно портят результат RNN.

 
elibrarius:

В файле написано
 * TruePositives: 853
 * TrueNegatives: 1098
 * FalsePositives: 732
 * FalseNegatives: 985

т.е. почти 50/50.
У меня примерно такой же результат для чуть более простой логической задачки, потому я и предположил, что шумовые входы очень сильно портят результат RNN.


Так и есть, обобщающая способность модели 52 процента, так что...
 
Aleksey Terentev:

Всем доброго дня.


Позвольте уточнить, какими пакетами ML используют участники обсуждения, или все делается посредством MQL?

Как правило все делается в R, за исключением нескольких энтузиастов, которые пробуют переписать некоторые модели на МКЛ. По поводу пакетов - зависит какую модель кто пользует- деревья, нейросети, глубокие нейросети и т.д.

Вас какая модель интересует?

Удачи

 
Vladimir Perervenko:

Как правило все делается в R, за исключением нескольких энтузиастов, которые пробуют переписать некоторые модели на МКЛ. По поводу пакетов - зависит какую модель кто пользует- деревья, нейросети, глубокие нейросети и т.д.

Вас какая модель интересует?

Удачи


Вы забыли про оптимизатор Решетова, им тут тоже пользуются так то....
 
elibrarius:

В файле написано
 * TruePositives: 853
 * TrueNegatives: 1098
 * FalsePositives: 732
 * FalseNegatives: 985

т.е. почти 50/50.
У меня примерно такой же результат для чуть более простой логической задачки, потому я и предположил, что шумовые входы очень сильно портят результат RNN.


Обычный МLP 20-5-1 может такое выдать к той же задаче:

Средняя ошибка на обучающем     (60.0%) участке =0.116 (11.6%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на валидационном (20.0%) участке =0.111 (11.1%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на тестовом      (20.0%) участке =0.129 (12.9%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Время расчета=0.77 min

Хотя тногда тоже 50% дает, видимо надо циклов переобучения не 2 а побольше задать
---------------------------------

Сеть nnet 20-1-1 из R :
      Predicted
Actual    0    1 Error
     0 0.41 0.09  0.18
     1 0.24 0.26  0.48

Чуть похуже но всего за пару секунд решает.

Но RNN имеет ошибку = 0, на участке обучения. А это тоже круто. Я наверное в блог выложу свой эксперимент

 
elibrarius:

Обычный МLP 20-5-1 может такое выдать к той же задаче:

Средняя ошибка на обучающем     (60.0%) участке =0.116 (11.6%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на валидационном (20.0%) участке =0.111 (11.1%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на тестовом      (20.0%) участке =0.129 (12.9%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Время расчета=0.77 min
---------------------------------

Сеть nnet 20-1-1 из R :
      Predicted
Actual    0    1 Error
     0 0.41 0.09  0.18
     1 0.24 0.26  0.48

Чуть похуже но всего за пару секунд решает.

Тут нужно понимать немного другое, что решить задачу то дело не хитрое, а вот как будет вести себя модель дальше, вот это вопрос. Обучится мы можем быстро, и без ошибок. А на новых данных полный ноль. У Предикшина есть одна очень хорошая особенность, на новых данных он работет с таким же уровнем ошибки как и на обучении. Потому что не переобучается и бла бла бла. А остальные сети могут выучить этот пример очень быстро, но при этом на новых данных показать результат значительно хуже... ИМХО
 
Mihail Marchukajtes:

Тут нужно понимать немного другое, что решить задачу то дело не хитрое, а вот как будет вести себя модель дальше, вот это вопрос. Обучится мы можем быстро, и без ошибок. А на новых данных полный ноль. У Предикшина есть одна очень хорошая особенность, на новых данных он работет с таким же уровнем ошибки как и на обучении. Потому что не переобучается и бла бла бла. А остальные сети могут выучить этот пример очень быстро, но при этом на новых данных показать результат значительно хуже... ИМХО

Так вот новые данные:

Средняя ошибка на валидационном (20.0%) участке =0.111 (11.1%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на тестовом      (20.0%) участке =0.129 (12.9%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2

 
elibrarius:

Так вот новые данные:

Средняя ошибка на валидационном (20.0%) участке =0.111 (11.1%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2
Средняя ошибка на тестовом      (20.0%) участке =0.129 (12.9%) nLearns=2 NGrad=2297 NHess=0 NCholesky=0 codResp=2


Дык яж не спорю, всё могет быть... :-)
Причина обращения: