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

 

Немножко про избыточность рендом форест

берем датасет ирисов + тренируем форес + извлекаем правила из фореста + содаем датасет где каждое правило в виде признака.

получаем матрицу с правилами в колонках (около 700сот штук)

X <- iris[,-5]
target <- iris[,"Species"] 

library(inTrees)
library(RRF)

rules_dataset <- target |> 
                  RRF(x = X) |> 
                  RF2List() |> 
                  extractRules(X = X) |> 
                  sapply(\(r) eval(str2expression(r)))
ncol(rules_dataset)
[1] 698

Теперь выявляем все линейно связанные  правила и удаляем их как избыточные

remove_lin_comb <- caret::findLinearCombos(rules_dataset)$remove
clear_rules_dataset <- rules_dataset[, -remove_lin_comb]

и получаем

ncol(clear_rules_dataset)
[1] 32


Те весь датасет можно описать 32-мя правилами, а не 698


Такие дела..

форест в  698/32 = 21.8125 раз избыточней чем мог бы быть

 
mytarmailS #:

Немножко про избыточность рендом форест

берем датасет ирисов + тренируем форес + извлекаем правила из фореста + содаем датасет где каждое правило в виде признака.

получаем матрицу с правилами в колонках (около 700сот штук)

Теперь выявляем все линейно связанные  правила и удаляем их как избыточные

и получаем


Те весь датасет можно описать 32-мя правилами, а не 698


Такие дела..

форест в  698/32 = 21.8125 раз избыточней чем мог бы быть

А правила откуда взялись? Все правильно: горы информации на входе, сжимаем и получаем правила и потом их используем для предсказания, а не исходную информацию. Поэтому и называется "модель".

 
СанСаныч Фоменко #:

А правила откуда взялись? Все правильно: горы информации на входе, сжимаем и получаем правила и потом их используем для предсказания, а не исходную информацию. Поэтому и называется "модель".

читай внимательно что было написано

[Удален]  
mytarmailS #:
Ты же хотел статью по правилам, или перехотел уже? Тема интересная наверное, поинтереснее минимизации тестовых функций. Или проблемы с их валидацией на оос? Или нет проблем, а просто лень писать.
[Удален]  
Какой-то общий подход по отбору правил. Типа вот разбил дерево на правила, что потом.. в контексте ТС. Лучшие практики и инсайты. Было бы любопытно.

Только не случайные функции и рэндом волки, а ближе к профиту.
 
Maxim Dmitrievsky #:
Какой-то общий подход по отбору правил. Типа вот разбил дерево на правила, что потом.. в контексте ТС. Лучшие практики и инсайты. Было бы любопытно.

Только не случайные функции и рэндом волки, а ближе к профиту.

А не является "ближе к профиту" синонимом "переобучения"?
Получаем красивый ровненьний баланс на случайном профите, так как в основе лежит случайная величина приращения. А откуда красота баланса?

Баланс - это оценка ТС в терминале, где на этот баланс оказывает влияние не только ошибка классификации.

А вот если остаемся в рамках МО, то оценка - это НЕ профит

[Удален]  
СанСаныч Фоменко #:

А не является "ближе к профиту" синонимом "переобучения"?
Получаем красивый ровненьний баланс на случайном профите, так как в основе лежит случайная величина приращения. А откуда красота баланса?

Баланс - это оценка ТС в терминале, где на этот баланс оказывает влияние не только ошибка классификации.

А вот если остаемся в рамках МО, то оценка - это НЕ профит

Ближе к профиту - ближе к котировкам, а не обучение на всяком бессмысленном. Таких тестов в тырнете полно, и давно известны особенности разных МО. Что хуже и что лучше. 

Только не понимаю куда в иерархии вписывается извлечение правил.
 
Maxim Dmitrievsky #:
Ты же хотел статью по правилам, или перехотел уже? Тема интересная наверное, поинтереснее минимизации тестовых функций. Или проблемы с их валидацией на оос? Или нет проблем, а просто лень писать.
Да хз, по факту то и писать нечего.. 
Что напишу как разбить деревянную модель на правила, и что? 
По сути мой пост уже все показал. 

Или ты о моей старой писание? Если да то, в разбиении я супер целебных свойств не нашёл, есть плюшки которые не могут дать модели. 

1.  Можно сильно уменьшыть размерность модели



2.  Можно знать статистику по каждому правилу(это действительно важно) 

Например  есть у нас деревянная модель с 100 правилами и мы никогда не знаем сработало внутри 100 правил каждое по одному разу(нету закономерности)  или 10 правил сработало по 50 раз (есть закономерность) 
Вот если не разбить модель,  мы этого не узнаем и для нас обе модели будут одинаковы

[Удален]  
mytarmailS #:
Да хз, по факту то и писать нечего.. 
Что напишу как разбить деревянную модель на правила, и что? 
По сути мой пост уже все показал. 

Или ты о моей старой писание? Если да то, в разбиении я супер целебных свойств не нашёл, есть плюшки которые не могут дать модели. 

1.  Можно сильно уменьшыть размерность модели



2.  Можно знать статистику по каждому правилу(это действительно важно) 

Например  есть у нас деревянная модель с 100 правилами и мы никогда не знаем сработало внутри 100 правил каждое по одному разу(нету закономерности)  или 10 правил сработало по 50 раз (есть закономерность) 
Вот если не разбить модель,  мы этого не узнаем и для нас обе модели будут одинаковы

Ну в деревьях обычно можно посчитать влияние каждого наблюдения каждого признака, его вклад в модель, например через shap values. Если оставить только полезные и обучить что-нибудь только на них, то получится приближенный аналог поиска правил. С нейронками, кстати, тоже можно.

Сложно понять, когда только правила могут быть единственно полезными. Может для интерпретируемости результата. Хотя shap values тоже дают хорошую интерпретируемость, вроде как.
 
Maxim Dmitrievsky #:
Ну в деревьях обычно можно посчитать влияние каждого наблюдения каждого признака, его вклад в модель, например через shap values. Если оставить только полезные и обучить что-нибудь только на них, то получится приближенный аналог поиска правил. С нейронками, кстати, тоже можно.

Сложно понять, когда только правила могут быть единственно полезными. Может для интерпретируемости результата. Хотя shap values тоже дают хорошую интерпретируемость, вроде как.
 Влияние каждого признака, влияние каждого наблюдения и влияние каждого правила, это все разное