Обозначение $splits(label)$ в методе случайного леса

Вопрос или проблема

В статье “Справедливые Леса: Регуляризированное Породение Деревьев для Минимизации Модели Отклонения” написано, что

Мы предлагаем простой подход регуляризации для построения алгоритма индукции справедливого решения дерева. Это достигается путем изменения способа измерения информационной выгоды $G(T, a)$, где $T$ — это набор тренировочных примеров, а $a$ — атрибут для разделения. Мы обозначим набор точек в каждой из $k$ ветвей дерева как $T_{i \ldots k}$. Это обычно комбинируется с мерой чистоты $I(T)$, чтобы получить $$ G(T, a)=I(T)-\sum_{\forall T_{i} \in \text { splits }(a)} \frac{\left|T_{i}\right|}{|T|} \cdot I\left(T_{i}\right) $$ Информационная выгода оценивает качество атрибута для разделения $a$ по тому, насколько он уменьшает нечистоту по сравнению с текущей нечистотой. Чем больше выгода, тем более чистыми становятся метки классов, и, следовательно, должна улучшать производительность классификации. В алгоритме CART обычно используется нечеткость Джини для категориальных целей. $$ I_{\mathrm{Gini}}(T)=1-\sum_{\forall T_{i} \in \text { splits }(\text { label })}\left(\frac{\left|T_{i}\right|}{|T|}\right)^{2} $$

Особенно эти две вещи вызывают у меня большое замешательство.

  • Определение $\mathrm{splits(a)}$ не написано в статье.
  • Написано, что $T_i$ — это ветвь, однако, на мой взгляд, это кажется узлом.

Я уже изучал о Случайных Лесах в ESL, поэтому я знаю нормальное определение нечистоты как: $$ I_G(p) = 1 – \sum_{i=1}^{k} p_i^2 $$ Однако я не могу понять каждое определение в этой статье…

Вы правильно упомянули определение нечистоты, которое $$I_G(P) = 1 – \sum _{i=1}^k p_i^2$$ Это можно записать как $$I_G(P) = \sum _{i=1}^k p_i*(1 – p_i)$$

На любом разделении, для любой ветви $T_i$, Вы рассчитываете вероятность, используя классическое определение, то есть,

$$p_i = \frac{|T_i|}{|T|}$$

Используя это, Вы можете вывести определение нечистоты $I(T_i)$, данное в статье.

Как только Вы сможете рассчитать нечистоту ветви, Вы можете рассчитать нечистоту узла, используя взвешенную сумму каждой ветви, где веса — это вероятность этой ветви. Следовательно,

$$I_{node} = \sum_{\forall T_i \in splits(a)} \frac{|T_i|}{|T|} I(T_i)$$

Используя указанную выше нечистоту, Вы можете рассчитать изменение нечистоты или информационную выгоду, как указано в статье.

Надеюсь, это решает Ваше сомнение.

.

Ответ или решение

В рамках обсуждения алгоритмов “Fair Forests”, предложенных для уменьшения смещения в моделях с использованием регуляризации, возникает несколько важных аспектов, требующих уточнения. Прежде всего, нужно понимать, что под “splits(a)” подразумевается множество разбиений, получаемых при использовании атрибута \(a\) для деления набора данных \(T\) в процессе построения дерева решений.

Когда речь идет о терминологии, используемой в статье, и разных подходах к вычислению информации, ключевым является понимание уровня разбиения, на котором идет работа. В классической теории деревьев решений, используя такие алгоритмы, как CART, разбиение происходит на уровне узлов дерева, где каждый узел может производиться двумя или более ветвями (или “сплитами”).

### Понятие “splits(a)”

Когда говорят о “splits(a)”, на практике это представляет собой множество подмножеств \(T_i\), образовавшихся в результате применения критерия разбиения по атрибуту \(a\). Каждое подмножество соответствует ветви исходящего из родительского узла, который делит весь набор данных \(T\) на несколько частей.

### Понятие “ветвь” vs “узел”

Терминология «ветвь» и «узел» может ввести в заблуждение, так как в контексте принято говорить об узлах, когда обсуждается структура дерева решений. Узел — это точка принятия решения, в то время как ветвь представляет собой путь от родительского узла к дочернему.

### Вычисление нечистоты и прироста информации

Для вычисления нечистоты узла используется такое понятие, как Gini Impurity, который измеряет степень разнородности выборки. Формула нечистоты Gini имеет вид:

\[
I_{\text{Gini}}(T) = 1 – \sum_{i=1}^{k} \left(\frac{|T_i|}{|T|}\right)^2
\]

Эта функция указывает, насколько выборка в узле \(T_i\) отличается от идеально чистой, где все примеры принадлежат одному классу. Информационный прирост при разбиении на атрибуте \(a\) вычисляется как снижение нечистоты узла:

\[
G(T, a) = I(T) – \sum_{\forall T_{i} \in \text{{splits}}(a)} \frac{|T_i|}{|T|} \cdot I(T_i)
\]

Где \(I(T)\) — исходная нечистота набора \(T\), а \(I(T_i)\) — нечистота полученных подмножеств.

Таким образом, вся суть процесса вращается вокруг минимизации нечистоты выборки при каждом шаге разбиения, выбрав лучший атрибут, который максимизирует прирост информации. Этот подход улучшает способность модели к классификации, минимизируя ошибки, связанные с неоднородностью данных.

Надеюсь, это прояснит ваши сомнения относительно понятий и методов, использованных в обсуждаемом исследовании.

Оцените материал
Добавить комментарий

Капча загружается...