Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 560
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я имею аналогичные цифры для леса и ada.
А теперь, если вернуться к нашим "баранам" - как отбросить из произвольного перечня предикторов шум? У меня имеется некий эмпирический алгоритм, который отобрал мои 27 предикторов из 170. Кроме этого я его использовал для анализа чужих наборов предикторов и тоже удачно. На основании этого опыта я утверждаю, что все методы из R, которые в своих алгоритмах используют "важность" переменных, не могут очистить набор предикторов от шума.
Обращаюсь ко всем читателям ветки: готов сделать соответствующий анализ, если исходные данные будут представлены в виде RData или экселевском файле, не требующем обработки.
Кроме этого.
В аттаче прилагаю ряд статей, которые якобы решают проблему очистки первоначального набора предикторов от шума, причем с гораздо большим качеством. К сожалению в данный момент у меня нет времени попробовать. Может быть кто-нить попробует и выложит результат?
решил почитать тему сначала (оказывается, что не читал). И тут возник ряд вопросов, например:
1. леса обучаются на на случайном подмножестве признаков, значит ли это, что признаки, случайным образом не попавшие в обучение, будут промаркированы как "не важные"?
2. как быть\или понять, когда имеются категориальные признаки, и леса заранее будут отдавать им меньшую значимость чем признакам с бОльшим кол-вом категорий?
3. Разве PCA на каждой новой выборке не будет выделять "новые" компоненты, которые будут очень сильно отличаться от компонентов в обучающей выборке, как с этим бороться?
ну и еще в завершение статейка про несколько иной метод выбора признаков (recursive feature elimination): http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/
в статье есть также ссылки на предыдущие части, где описаны в т.ч. и леса
решил почитать тему сначала (оказывается, что не читал). И тут возник ряд вопросов, например:
1. леса обучаются на на случайном подмножестве признаков, значит ли это, что признаки, случайным образом не попавшие в обучение, будут промаркированы как "не важные"?
2. как быть\или понять, когда имеются категориальные признаки, и леса заранее будут отдавать им меньшую значимость чем признакам с бОльшим кол-вом категорий?
3. Разве PCA на каждой новой выборке не будет выделять "новые" компоненты, которые будут очень сильно отличаться от компонентов в обучающей выборке, как с этим бороться?
ну и еще в завершение статейка про несколько иной метод выбора признаков (recursive feature elimination): http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/
в статье есть также ссылки на предыдущие части, где описаны в т.ч. и леса
К сожалению, мой личный ответ ничего не добавит к тому, что написано здесь, или в другой литературе по этому вопросу.
Существует достаточно большое число алгоритмов определения "важности" признаков (регрессия или категория не имеет значения) - все это есть в R.
Я потратил много времени на их освоения и в конце выяснил, что ПРЕДВАРИТЕЛЬНО надо избавиться от шумовых, не имеющих отношение к целевой переменной признаков, а потом использовать из R, что даст уменьшение ошибки на 5-7%. Менее 20% ошибки добиться не удалось.
Еще раз замечу, что я на каждом баре делаю отбор важных компонент, и на полученном наборе переобучают лес.
Цифры такие.
Критерий качества этого подхода: беру два файла, на первом учу, тренирую, валидация = примерно одинаковая ошибка. Полученную модель проверяю на втором файле = примерно такая же ошибка как и на первом файле. На этом делаю заключение, что модель не переобучена и в будущем, хотя бы один бар, будет вести себя также как и при обучении.
Любые другие подходы у меня не работают, причем замена одного типа модели на другой ничего не улучшает в смысле переобучения.
По поводу РСА. У меня результат отрицательный, в том смысле, что использование главных компонент не уменьшало ошибку по сравнению с исходным набором. Почему так - не понял, хотя теоретически должно уменьшать ошибку.
PCA вообще бесполезен при использовании модели на неоднородных признаках, например на форексе.. по моему мнению. Т.к. обучали на одних компонентах, а не тесте появилась другая комбинация компонентов, вообще никак не учтенная моделью
если вернуться к лесам
Придется лезть в матчасть, похоже, что бы понять как оцениваются признаки, не попавшие в обучающую выборку, там об этом ничего не написано (скорее всего оцениваются как плохие)
+ процесс обучения леса рандомизирован, при нескольких обучениях подряд можно получить разные результаты, иногда значительно отличающиеся.. тоже не совсем понятно как работать с этим приколом. Ладно если мы зафитили модель, сохранили ее и используем потом.. а если модель самопереобучающаяся.. это нужно несоклько раз подряд обучить, выбрать минимальную ошибку, как-то так.. иначе при множественных прогонах в тестере получаются разные результаты, по моим наблюдениям до 5 и больше, потом они повторяются\чередуются при последующих прогонах
PCA вообще бесполезен при использовании модели на неоднородных признаках, например на форексе.. по моему мнению. Т.к. обучали на одних компонентах, а не тесте появилась другая комбинация компонентов, вообще никак не учтенная моделью
если вернуться к лесам
Придется лезть в матчасть, похоже, что бы понять как оцениваются признаки, не попавшие в обучающую выборку, там об этом ничего не написано (скорее всего оцениваются как плохие)
+ процесс обучения леса рандомизирован, при нескольких обучениях подряд можно получить разные результаты, иногда значительно отличающиеся.. тоже не совсем понятно как работать с этим приколом. Ладно если мы зафитили модель, сохранили ее и используем потом.. а если модель самопереобучающаяся.. это нужно несоклько раз подряд обучить, выбрать минимальную ошибку, как-то так.. иначе при множественных прогонах в тестере получаются разные результаты, по моим наблюдениям до 5 и больше, потом они повторяются\чередуются при последующих прогонах
Я не помню описанных Вами страстей. При одинаковом seed результат стабильно одинаков.
Я не помню описанных Вами страстей. При одинаковом seed результат стабильно одинаков.
за что там seed отвечает? уже не помню.. за кол-во признаков как раз? я юзаю alglib лес
Учителю, не знающему таблицу умножения и разработчику НС, не навязывающему ей, случайные, правильные решения - больше не наливать!
Поддерживаю.
Это просто пустое сотрясение воздуха. Выложите пример, потолочные данные, что бы можно было проверить.
Существует три основных способа обучения: без учителя (целевая не предъявляется), с учителем (целевая полностью размечена) и semisupervised (не знаю как перевести правильно). Это когда модели предъявляется целевая не полностью (частично) размеченная. Все остальное от лукавого.
Удачи
за что там seed отвечает? уже не помню.. за кол-во признаков как раз? я юзаю alglib лес
Да ладно...
set.seed устанавливает генератор случайных чисел в определенное состояние и при повторении вычислений иметь воспроизводимый результат.
Учите матчасть.
Да ладно...
set.seed устанавливает генератор случайных чисел в определенное состояние и при повторении вычислений иметь воспроизводимый результат.
Учите матчасть.
че да ладно то? у меня вообще нет такой настройки, поэтому и спросил
значит в мт5 тоже можно сделать, пасиб
Поддерживаю.
Это просто пустое сотрясение воздуха. Выложите пример, потолочные данные, что бы можно было проверить.
Существует три основных способа обучения: без учителя (целевая не предъявляется), с учителем (целевая полностью размечена) и semisupervised (не знаю как перевести правильно). Это когда модели предъявляется целевая не полностью (частично) размеченная. Все остальное от лукавого.
Удачи
Ну, ну.)) Если вы полностью знаете алгоритм, и можете найти целевую, то на фига вам НС? Можно и без нее все сделать.)
НС и прочее ДМ нужны именно тогда, когда вы не знаете.
Что касается алгоритмов обучения, то они разрабатываются и модифицируются под каждую конкретную задачу. В основном на основе базовых.
А вот то, что вы говорите, и есть сотрясение воздуха. Почитайте что-либо дальше введения. )
Удачи.
Ну, ну.)) Если вы полностью знаете алгоритм, и можете найти целевую, то на фига вам НС? Можно и без нее все сделать.)
Вы сами поняли, что написали? Целевая не ищется, она предварительно определяется как то, чему должна обучится модель. О каком алгоритме Вы говорите?
НС и прочее ДМ нужны именно тогда, когда вы не знаете.
Чего мы не знаем?
Что касается алгоритмов обучения, то они разрабатываются и модифицируются под каждую конкретную задачу. В основном на основе базовых.
Мы здесь говорим о двух решаемых задачах: регрессия и классифиация (опускаем кластеризацию и ранжирование). Какие другие "конкретные задачи" Вы имеете в виду?
А вот то, что вы говорите, и есть сотрясение воздуха. Почитайте что-либо дальше введения. )
???
Удачи.