В теории информации и машинном обучении прирост информации является синонимом расхождения Кульбака–Лейблера ; количества информации, полученной о случайной величине или сигнале от наблюдения за другой случайной величиной. Однако в контексте деревьев решений этот термин иногда используется как синоним взаимной информации , которая является условным ожидаемым значением расхождения Кульбака–Лейблера одномерного распределения вероятностей одной переменной от условного распределения этой переменной с учетом другой.
Прирост информации случайной величины, полученный в результате наблюдения за случайной величиной, принимающей значение , определяется как:
т.е. расхождение Кульбака–Лейблера ( априорного распределения для ) от ( апостериорного распределения для заданного ).
Ожидаемое значение прироста информации – это взаимная информация и – т.е. уменьшение энтропии , достигаемое путем изучения состояния случайной величины .
В машинном обучении эта концепция может использоваться для определения предпочтительной последовательности атрибутов для исследования с целью наиболее быстрого сужения состояния X. Такая последовательность (которая зависит от результата исследования предыдущих атрибутов на каждом этапе) называется деревом решений , а при применении в области машинного обучения известна как обучение на основе дерева решений . Обычно атрибут с высокой взаимной информацией следует предпочесть другим атрибутам. [ почему? ]
В общих чертах ожидаемый прирост информации представляет собой уменьшение информационной энтропии Η от предыдущего состояния до состояния, которое воспринимает некоторую информацию как данность:
где — условная энтропия при заданном значении атрибута .
Это интуитивно правдоподобно, если интерпретировать энтропию Η как меру неопределенности случайной величины : узнавая (или предполагая) о , наша неопределенность относительно уменьшается (т.е. становится положительной), если, конечно, не зависит от , в этом случае , имея в виду .
Пусть T обозначает набор обучающих примеров , каждый из которых имеет вид , где — значение атрибута или признака примера , а y — соответствующая метка класса. Информационный прирост для атрибута a определяется в терминах энтропии Шеннона следующим образом. Для значения v, принимаемого атрибутом a , пусть определяется как набор обучающих входов T , для которых атрибут a равен v . Тогда информационный прирост T для атрибута a — это разница между априорной энтропией Шеннона обучающего набора и условной энтропией .
Взаимная информация равна полной энтропии для атрибута, если для каждого из значений атрибута можно сделать уникальную классификацию для результирующего атрибута. В этом случае относительные энтропии, вычитаемые из полной энтропии, равны 0. В частности, значения определяют разбиение обучающего набора данных T на взаимоисключающие и всеохватывающие подмножества , индуцируя категориальное распределение вероятностей для значений атрибута a . Распределение задано . В этом представлении прирост информации T при заданном a можно определить как разницу между безусловной энтропией Шеннона T и ожидаемой энтропией T , обусловленной a , где ожидаемое значение берется относительно индуцированного распределения для значений a .
Для лучшего понимания прироста информации давайте разберем его. Как мы знаем, прирост информации — это уменьшение энтропии информации, что такое энтропия? По сути, энтропия — это мера примеси или неопределенности в группе наблюдений. В инженерных приложениях информация аналогична сигналу , а энтропия аналогична шуму. Она определяет, как дерево решений выбирает разделение данных. [1] Крайний левый рисунок ниже очень нечист и имеет высокую энтропию, соответствующую более высокому беспорядку и более низкой информационной ценности. По мере продвижения вправо энтропия уменьшается, а информационная ценность увеличивается.
Теперь ясно, что прирост информации — это мера того, сколько информации предоставляет признак о классе. Давайте визуализируем прирост информации в дереве решений, как показано справа:
Узел t является родительским узлом, а подузлы t L и t R являются дочерними узлами. В этом случае родительский узел t имеет коллекцию образцов рака и не рака, обозначенных как C и NC соответственно. Мы можем использовать прирост информации, чтобы определить, насколько хорошо разделение узлов в дереве решений. С точки зрения энтропии прирост информации определяется как:
Чтобы понять эту идею, давайте начнем с примера, в котором мы создаем простой набор данных и хотим посмотреть, могут ли мутации генов быть связаны с пациентами с раком. Учитывая четыре различных мутации генов, а также семь образцов, обучающий набор для решения может быть создан следующим образом:
В этом наборе данных 1 означает, что образец имеет мутацию (True), а 0 означает, что образец не имеет мутации (False). Образец с C означает, что он был подтвержден как раковый, а NC означает, что он не является раковым. Используя эти данные, можно создать дерево решений с приростом информации, используемым для определения возможных разделений для каждого узла.
На следующем этапе энтропия в родительском узле t приведенного выше простого дерева решений вычисляется следующим образом:
H( t ) = −[ p C,t log 2 ( p C,t ) + p NC,t log 2 ( p NC,t )] [3]
где,
вероятность выбора образца класса «C» в узле t, p C,t = n ( t, C) / n ( t ),
вероятность выбора образца класса «NC» в узле t, p NC,t = n ( t, NC) / n ( t ),
n ( t ), n ( t, C) и n ( t, NC) — это общее количество выборок, выборок «C» и выборок «NC» в узле t соответственно .
Используя это с примером обучающего набора, процесс поиска прироста информации, начиная с мутации 1, выглядит следующим образом:
Примечание : будет одинаковым для всех мутаций в корне.
Относительно высокое значение энтропии (1 — оптимальное значение) предполагает, что корневой узел сильно загрязнен, а составляющие входных данных в корневом узле будут выглядеть как крайняя левая фигура на приведенной выше диаграмме энтропии . Однако такой набор данных хорош для изучения атрибутов мутаций, используемых для разделения узла. В определенном узле, когда возникает однородность составляющих входных данных (как показано на крайней правой фигуре на приведенной выше диаграмме энтропии), набор данных больше не будет пригоден для обучения.
Двигаясь дальше, энтропия в левых и правых дочерних узлах приведенного выше дерева решений вычисляется с использованием формул:
H( t L ) = −[ p C,L log 2 ( p C,L ) + p NC,L log 2 ( p NC,L )] [1]
H( t R ) = −[ p C,R log 2 ( p C,R ) + p NC,R log 2 ( p NC,R )] [1]
где,
вероятность выбора образца класса «C» в левом дочернем узле , p C,L = n ( t L , C) / n ( t L ),
вероятность выбора образца класса «NC» в левом дочернем узле , p NC,L = n ( t L , NC) / n ( t L ),
вероятность выбора образца класса «C» в правом дочернем узле , p C,R = n ( t R , C) / n ( t R ),
вероятность выбора образца класса «NC» в правом дочернем узле , p NC,R = n ( t R , NC) / n ( t R ),
n ( t L ), n ( t L , C) и n ( t L , NC) — общее количество выборок, выборок «C» и выборок «NC» в левом дочернем узле соответственно,
n ( t R ), n ( t R , C) и n ( t R , NC) — общее количество выборок, выборок «C» и выборок «NC» в правом дочернем узле соответственно .
Используя эти формулы, H(t L ) и H(t R ) для мутации 1 показаны ниже:
После этого средняя энтропия дочерних узлов из-за разделения в узле t приведенного выше дерева решений вычисляется как:
H( s , t ) = PL H ( t L ) + PR H ( t R )
где,
вероятность выборки у левого потомка, P L = n ( t L ) / n ( t ),
вероятность выборки у правого ребенка, P R = n ( t R ) / n ( t ),
Наконец, H(s,t) вместе с P L и P R для мутации 1 выглядит следующим образом:
Таким образом, по определению из уравнения (i):
(Прирост информации) = H( t ) - H( s , t )
После всех шагов gain( s ), где s — кандидат на разделение для примера, равен:
Использование этого же набора формул с тремя другими мутациями приводит к таблице возможных расщеплений, ранжированных по приросту информации:
Мутация, которая предоставляет наиболее полезную информацию, будет мутацией 3, поэтому она будет использована для разделения корневого узла дерева решений. Корень может быть разделен, и все образцы могут быть переданы и добавлены к дочерним узлам. Дерево, описывающее разделение, показано слева.
Образцы, которые находятся в левом узле дерева, будут классифицированы деревом как раковые, в то время как те, что справа, будут нераковыми. Это дерево относительно точно классифицирует образцы, которые использовались для его построения (что является случаем переобучения ), но оно все равно неправильно классифицировало бы образец C2. Чтобы исправить это, дерево можно снова разделить на дочерние узлы, чтобы, возможно, достичь чего-то еще более точного.
Чтобы разделить правильный узел, необходимо снова рассчитать прирост информации для всех возможных кандидатов на разделение, которые не использовались для предыдущих узлов. Таким образом, на этот раз единственными вариантами являются мутации 1, 2 и 4.
Примечание : на этот раз все по-другому, поскольку в правом дочернем узле всего четыре образца.
Из этого нового варианта можно рассчитать возможные разделения, используя те же формулы, что и для корневого узла:
Таким образом, правый потомок будет разделен с мутацией 4. Все образцы, имеющие мутацию, будут переданы левому потомку, а те, у которых ее нет, будут переданы правому потомку.
Чтобы разделить левый узел, процесс будет таким же, за исключением того, что будет проверяться только 3 образца. Иногда узел может вообще не нуждаться в разделении, если это чистый набор , где все образцы в узле просто раковые или нераковые. Разделение узла может привести к тому, что дерево станет более неточным, и в этом случае оно не будет разделено.
Дерево теперь достигло бы 100% точности, если бы образцы, которые использовались для его построения, были протестированы. Однако это не очень хорошая идея, поскольку дерево переобуло бы данные. Лучший курс действий — попробовать протестировать дерево на других образцах, которые не являются частью исходного набора. Два внешних образца приведены ниже:
Следуя дереву, NC10 был классифицирован правильно, но C15 был классифицирован как NC. Для других образцов это дерево больше не будет точным на 100%. Однако это можно улучшить с помощью таких опций, как увеличение глубины дерева или увеличение размера обучающего набора.
Прирост информации является основным критерием для принятия решения о том, следует ли использовать признак для разделения узла или нет. Признак с оптимальным разделением, т. е. наивысшим значением прироста информации в узле дерева решений, используется в качестве признака для разделения узла.
Концепция функции прироста информации подпадает под алгоритм C4.5 для генерации деревьев решений и выбора оптимального разделения для узла дерева решений. [1] Некоторые из его преимуществ включают в себя:
Хотя прирост информации обычно является хорошей мерой для определения релевантности атрибута, он не идеален. Заметная проблема возникает, когда прирост информации применяется к атрибутам, которые могут принимать большое количество различных значений. Например, предположим, что кто-то строит дерево решений для некоторых данных, описывающих клиентов компании. Прирост информации часто используется для определения того, какие из атрибутов являются наиболее релевантными, поэтому их можно протестировать вблизи корня дерева. Одним из входных атрибутов может быть номер членства клиента, если он является участником программы членства компании. Этот атрибут имеет высокую взаимную информацию, поскольку он уникально идентифицирует каждого клиента, но мы не хотим включать его в дерево решений. Решение о том, как обращаться с клиентом, на основе его номера членства, вряд ли будет обобщено на клиентов, которых мы раньше не видели ( переобучение ). Эта проблема также может возникнуть, если тестируемые образцы имеют несколько атрибутов с большим количеством различных значений. В этом случае это может привести к тому, что прирост информации каждого из этих атрибутов будет намного выше, чем у тех, у кого нет такого количества различных значений.
Чтобы решить эту проблему, Росс Куинлан предложил вместо этого выбирать атрибут с самым высоким коэффициентом прироста информации из числа атрибутов, прирост информации которых является средним или выше. [5] Это смещает дерево решений против рассмотрения атрибутов с большим количеством различных значений, в то же время не давая несправедливого преимущества атрибутам с очень низкой информационной ценностью, поскольку информационная ценность выше или равна приросту информации. [6]