Перейти к основному содержимому

Функции неопределённости решающих деревьев

Задача регрессии

При предсказании вещественного отклика yRy\in\mathbb{R} в качестве функции неопределённости (impurity function) используется дисперсия откликов:

ϕ(t)=1ItiIt(yimeaniIt(yi))2\phi(t)=\frac{1}{\left|I_{t}\right|}\sum_{i\in I_{t}}\left(y_{i}-\text{mean}_{i\in I_{t}}(y_{i})\right)^{2}

где

  • It={i1,...iK}I_{t}=\{i_{1},...i_{K}\} - множество индексов объектов, попадающих в узел tt

  • K=ItK=|I_t| - количество таких объектов.

  • meaniIt(yi)\text{mean}_{i\in I_{t}}(y_{i}) - выборочное среднее по откликам объектов, попадающих в узел tt,

Также используется среднее абсолютное отклонение (mean absolute deviation):

ϕ(t)=1ItiItyimedianiIt(yi)\phi(t)=\frac{1}{\left|I_{t}\right|}\sum_{i\in I_{t}}|y_{i}-\text{median}_{i\in I_{t}}(y_{i})|

где medianiIt(yi)\text{median}_{i\in I_{t}}(y_{i}) - выборочная медиана откликов объектов узла tt.

Для более неопределённых данных, где сложнее предсказать отклик, обе меры неопределённости будут давать более высокие значения. А в случае одинаковых откликов они будут равны нулю.

Задача классификации

Для классификации функции неопределённости ϕ(t)\phi(t) будут зависеть от вероятностей классов для объектов, попавших в узел tt. Ниже представлены популярные варианты этих функций:

названиена английскомформула
классификационная ошибкаclassification error1max{p1,p2,...pC}1-max\{p_1,p_2,...p_C\}
критерий ДжиниGinii=1Cpi(1pi)\sum_{i=1}^{C}p_{i}(1-p_{i})
энтропийный критерийentropyi=1Cpilnpi-\sum_{i=1}^{C}p_{i}\ln p_{i}

Обоснование функций неопределённости

Рассмотрим бинарную классификацию и некоторый узел дерева tt.

Пусть вероятность положительного класса p(y=+1t)=pp(y=+1|t)=p, а отрицательного p(y=1t)=1pp(y=-1|t)=1-p.

Зависимости функций неопределённости от pp приведены ниже:

impurityfunctionspng

Видим, что максимальная неопределённость функций достигается в наиболее сложном случае, когда p=0.5p=0.5 и оба класса равновероятны. А минимум неопределённости достигается, когда p=0p=0 либо p=1p=1. В этих случаях все объекты узла принадлежат одному из классов и неопределённость классификации отсутствует.

Для многоклассового случая представленные функции также измеряют степень неопределённости классов, достигая максимума при равномерном распределении классов, когда p1=p2=...=pC=1Cp_1=p_2=...=p_C=\frac{1}{C}, а минимума, когда все объекты принадлежат одному из классов:

p1=0,...pi1=0,pi=1,pi+1=0,...pC=0.p_1=0,\, ...\, p_{i-1}=0,\, p_i=1,\, p_{i+1}=0,\, ...\, p_C=0.

Интуитивно это можно понять следующим образом:

Классификационная ошибка измеряет ожидаемое число ошибок при классификации всех объектов максимально вероятным классом, у которого вероятность появления pmax=max{p1,p2,...pC}p_{max}=\max \{p_1,p_2,...p_C\}. Очевидно, что вероятность ошибки при такой классификации будет 1pmax1-p_{max}. Классификация будет безошибочной, когда в узле присутствуют объекты только одного класса, а максимум ошибок будет достигаться, когда все классы будут равновероятны.

Критерий Джини измеряет вероятность ошибки при случайном угадывании класса по правилу:

y^={1, с вероятностью p1,2, с вероятностью p2C, с вероятностью pC\hat{y}= \begin{cases} 1,& \text{ с вероятностью }p_1, \\ 2,& \text{ с вероятностью }p_2 \\ \cdots & \cdots \\ C, & \text{ с вероятностью }p_C \\ \end{cases}

Тогда, расписывая вероятность ошибки по формуле полной вероятности, как раз и получим критерий Джини:

p(y^y)=c=1Cp(y^yy=1)p(y=1)=c=1C(1pc)pcp(\hat{y}\ne y)= \sum_{c=1}^C p(\hat{y}\ne y|y=1)p(y=1)= \sum_{c=1}^C (1-p_c)p_c

Эта ошибка будет максимальном, когда все классы равновероятны, и равняться нулю, когда все объекты принадлежат одному из классов.

Энтропийный критерий вычисляет энтропию случайной величины yy:

y={1, с вероятностью p1,2, с вероятностью p2C, с вероятностью pCy= \begin{cases} 1,& \text{ с вероятностью }p_1, \\ 2,& \text{ с вероятностью }p_2 \\ \cdots & \cdots \\ C, & \text{ с вероятностью }p_C \\ \end{cases}

которая, как известно из теории вероятности, служит мерой её неопределённости. Покажем это. Определим количество информации, которую мы получаем при случайном событии, реализующимся с вероятностью pp, по формуле

Info(событие с вероятностью p)=lnp\text{Info(событие с вероятностью p)}=-\ln p

График этой зависимости показан ниже:

informationpng

Именно так определить получаемую информацию разумно, поскольку такая функция будет выдавать нулевую информацию при реализации события, у которого вероятность наступления 1 (происходит всегда) и стремится к бесконечности, когда pp\to\infty (происходит редко). Кроме того, для двух независимых событий AA и BB будет выполнено свойство

Info(A,B)=Info(A)+Info(B)\text{Info}(A,B)=\text{Info}(A)+\text{Info}(B)

Тогда энтропия случайной величины yy будет равна ожидаемому количеству информации, которую мы получим, узнав реализацию этой случайной величины:

entropy(y)=E{Info(y)}=c=1Cpclnpc\text{entropy(y)}=\mathbb{E}\{\text{Info(y)}\} = -\sum_{c=1}^C p_c \ln p_c

Максимум информации мы будем получать для случая, когда все классы равновероятны, а минимум - когда реализуется всегда только один из классов.

Задача

Докажите формально, что энтропия максимизируется, когда все классы равновероятны. Для этого нужно её промаксимизировать при ограничении, что вероятности суммируются в единицу. Технически для этого используется метод множителей Лагранжа.