Когда мы говорим о деревьях решений, два термина часто пересекаются: «Энтропия» и «Прирост информации», конечно, большинство претендентов на машинное обучение и инженеров будут иметь некоторое представление об этих терминах. Главный вопрос здесь: «Почему они важны?» если мы сможем ответить на этот один вопрос, то все остальное будет легкой прогулкой. Начнем с простого дерева решений.

Дерево решений

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

На приведенном выше рисунке показано простое дерево решений, в котором мы пытаемся классифицировать, собака это или кошка. Пока все хорошо, здесь возникает путаница, какие функции следует рассматривать как основной раскол, например, корневой раскол. Если у нас есть набор данных о животных, и мы классифицируем животных, у нас есть несколько функций в наборе данных, таких как звуки, размер, вес, рост и пища, которую они едят, где они живут и т. д., если мы рассматриваем функцию «еда». как корневой раскол, можем ли мы добиться наилучших результатов? Ну, это зависит от того, если у вас есть кошка, вы можете кормить кошку только вегетарианской пищей, тогда, в конце концов, она начинает ненавидеть невегетарианскую пищу, так что это зависит от пищи, которую мы даем, то же самое в случае с другими животными. Таким образом, рассматривать еду как корневой раскол было бы не лучшей идеей. Тогда как мы можем это сделать? А вот и «Энтропия», которая может помочь нам решить, какое разделение будет лучшим. Давайте не будем делать это математически, просто отобразите формулу и подставьте сюда значения, и вы получите наилучшее разделение, если в этой статье нет необходимости. Давайте поймем, что такое энтропия, а затем постепенно мы сможем понять лежащую в ее основе математику.

Энтропия

Когда мы хотим оценить вероятность того, что событие произойдет за одно испытание, мы используем энтропию. Давайте рассмотрим тот же старый классический пример подбрасывания монеты. Если мы подбрасываем монету 10 раз, когда последовательно выпадает 8 орлов, а в 9-й раз выпадает решка, а впереди снова 10-й, то здесь 9-й бросок будет неожиданным фактором, поэтому если вычислить вероятность,

Вероятность выпадения орла 10 раз = 9/10
Вероятность выпадения решки 10 раз = 1/10

Чтобы найти оценочное выходное значение фактора неожиданности, мы берем обратное (поскольку вероятность того, что случается редко, всегда обратна вероятности того, что случается часто). Итак,
P(H) = 1/1/10
P(T) = 1/1/10


Здесь может быть шанс, где расчетная (орел) и неожиданная (решка) вероятности будут равны, поэтому, чтобы избежать этого, мы берем журнал этого.

P(H) = log(1/9/10) =› log 1 — log(9/10) =› log1 — (log 9 — log 10) =› 0,05
P(T) = log(1/1/10) => log 1 — log 1 + log 10 => 1

Теперь энтропия будет = расчетный результат * вероятность + неожиданный результат * вероятность

E = 0,05 * 9/10 + 1 * 1/10 = › 0,045 + 0,1 =› 0,0145 — энтропия.

Теперь последний шаг, который мы видим, это формула для энтропии, которую мы находим повсюду,

E = — (P(+ve) log(P(+ve)) + P(-ve) log(P(-ve))

Здесь мы рассматриваем отрицательное, потому что мы оцениваем вероятности, которые мы берем в обратном порядке, где мы получаем log (1), который равен 0, поэтому мы в конечном итоге получаем там отрицательное значение.

Энтропия используется для проверки приоритета в каждом узле и принятия решения, является ли это чистым разделением или нечистым разделением. Чистый раскол означает, что если у нас есть какая-то информация, и мы можем разделить дальше, и мы можем получить либо полностью «да», либо «нет», нечистый раскол — это полная противоположность, у нас есть 50–50 шансов и на «да», и на «нет». "Нет".

Если мы рассмотрим приведенное выше решение (для простоты вычислений я рассмотрел очень простой DT), у нас есть главный корень с 10 да и 5 нет, поэтому после деления мы можем увидеть результаты, теперь, если мы вычислим энтропию на используя приведенную выше формулу,

E = — (P(+ve) log(P(+ve)) + P(-ve) log(P(-ve))), здесь +ve — да, а -ve — нет

E = — 6/8 log (6/8) — 2/8 log (2/8)‹

Здесь мы рассматриваем 8 слева, где общее число равно 8, если мы вычислим это, мы получим ==> 0,24. Теперь это будет продолжаться снова, пока мы не найдем чистый раскол, и этот чистый раскол называется листом. Листовой узел имеет либо только «Да», либо только «Нет». Если у нас есть чистое разделение, энтропия будет «0», а если у нас есть нечистое разделение (2 да / 2 нет), то мы получим энтропию как 1.

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

Получение информации

Чтобы решить, какой функции следует отдать приоритет для разделения, мы используем получение информации. Он вычисляет среднее значение энтропии для всего дерева решений при каждом разбиении, и после построения всего DT, в зависимости от самых высоких средних значений, решает, какой признак должен быть лучшим разбиением.

Формула используется для расчета IG, здесь энтропия для этого конкретного разделения, а Sv — количество значений после выполнения разделения, а S — общее количество значений.

Если мы снова рассмотрим тот же пример, Sv для разделения корневого узла составляет 8/15, поскольку значения после разделения равны 6 «да» и 2 «нет», а общее количество равно 15. Sv — это значение после разделения.

Если подставить значения в формулу,

IG для корневого узла = — 10/15 log (10/15) — 5/15 log (5/15) — 6/15 E (разделение 2) — 7/15 E (разделение 3). Если мы вычислим это, мы получим значение IG около 0,016.

Теперь этот IG вычисляется для этого DT с некоторой функцией x в качестве корневого узла, затем он вычисляет IG для некоторой функции y в качестве корневого узла и сравнивает оба значения IG, какое разделение имеет самое высокое значение IG, которое используется в этой структуре. построить ДТ.

Мы поняли, почему мы используем прирост энтропии и информации в DT, но это еще не конец истории. Есть еще один подход к выбору наилучшего разделения, который называется «примесь Джини». Многие слышали бы этот термин чаще, чем энтропия, потому что часто инженеры машинного обучения, которые пытаются решить проблему с помощью DT, используют примесь GINI вместо энтропии. Но почему?

Примесь Джини

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

Выше приведена формула для GI, мы можем переписать ее так:

GI = 1 — [P(+ve)² + P(-ve)²]

Но почему мы рассматриваем примесь GINI над энтропией, когда она используется для той же цели? Рассмотрим приведенную выше диаграмму, которая показывает вероятность положительного класса против отрицательного класса, где вычисляются энтропия и GINI. Посмотрите на формулу энтропии и на то, сколько вычислений в ней задействовано. Нам нужно рассчитать вероятность и логарифм вероятности для каждого разделения. Много времени и памяти тратится впустую, вместо этого, если мы используем примесь GINI, время вычислений будет сокращено. Поскольку значения энтропии находятся в диапазоне от 0 до 1, а примесь GINI находится в диапазоне от 0 до 0,5. Таким образом, для нечистого разделения значение будет равно 0,5.

Мы все еще можем использовать энтропию вместо примеси GINI, это зависит от того, на какую проблему мы пытаемся ответить и насколько глубоким будет DT.

Заключение

Было бы легко, если бы мы посмотрели на эти формулы, но если мы не выполним их самостоятельно, то запутаемся в терминах. Если мы понимаем лежащую в основе математику, нам будет легко найти решение. Деревья решений — это широко используемые алгоритмы, но нам нужно быть осторожными при их построении, поскольку они склонны к переоснащению. Именно поэтому мы используем алгоритм случайного леса над DT для конкретного подхода.