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

Сначала давайте поговорим о плюсах и минусах, а затем перефразируем их один за другим по ходу дела.

Преимущества:

1- Может использоваться как для классификации, так и для регрессии

2- Могут отображаться графически, поэтому их легко интерпретировать

3- Непараметрический

4- Функции не нуждаются в масштабировании

5- Автоматически учитывать взаимодействия

Недостатки:

1- Как правило, не очень хорошо работают по сравнению с современными моделями машинного обучения.

2- Рекурсивное бинарное разбиение принимает «локально оптимальные» решения, которые могут не привести к глобально оптимальному дереву (на каждом шаге он решает, какое разделение является лучшим, могут быть разные комбинации, которые приводят к общему лучшему результату, но он не знает тот)

3- Легкая переобучение

Расскажем о преимуществах подробнее:

1- Деревья решений можно использовать как для регрессии, так и для классификации.

Деревья регрессии:

Это точечный график двух наборов данных:

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

Например, посмотрите на дерево решений на следующем рисунке.

Первое, что он примет во внимание, это то, меньше ли X2 0,302548 или нет? Если да, то X1 меньше 0,800113 или нет? И если нет, то X1 меньше 0,883535. Кроме того, все вопросы заданы в форме Верно/Неверно. Для каждого истинного и ложного ответа есть отдельные ветки. Независимо от ответов на вопросы, мы в конечном итоге получаем предсказание (листовой узел). Начните с корневого узла вверху и продвигайтесь по дереву, отвечая на вопросы по пути.

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

Функция стоимости, используемая для обучения деревьев регрессии, представляет собой среднеквадратичную ошибку (также известную как MSE), а формула такова:

Наилучшее разделение определяется там, где общий MSE самый низкий:

Я знаю, что эти формулы немного пугают, но позвольте мне объяснить, как они работают. После каждого разделения мы берем среднее значение для обеих сторон разделения (R1 и R2) и получаем значение (ŷR1 для R1 и ŷR2 для R2). Затем мы собираемся вычесть все наши точки данных с каждой стороны из среднего значения этой точной стороны и возвести его в квадрат (для R1 это будет (yi — ŷR1)²), а затем просуммировать все значения. Там, где общий MSE самый низкий, это лучшее место для разделения.

Примечание: подход нисходящий и жадный. Сверху вниз означает, что вы идете от большого к меньшему, и вы можете разделить только те области, которые были разделены. Таким образом, каждый сплит становится все меньше и меньше (если у вас много сплитов, вы склонны к переобучению).

Жадный означает, что он будет решать, где находится лучшее разделение только в этот конкретный момент времени.

Деревья классификации:

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

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

Ось X показывает ширину лепестков, а ось Y показывает длину лепестков, и наша целевая переменная — это виды цветов, которые отображаются по цвету (3 оттенка фиолетового для 3 видов).

Вопрос в том, какой сплит лучше? Вопрос снова приводит нас к двум функциям стоимости для деревьев классификации. Во-первых, это функция стоимости Джини, которая находится в диапазоне от 0 до 0,5, а вторая — это энтропия, которая находится в диапазоне от 0 до 1. Основная идея этих двух функций стоимости заключается в том, что вы пытаетесь максимизировать чистоту после разделения. Он собирается попробовать разные разделения и измерить Джини или энтропию для каждого разделения и определить, где лучшее разделение.

Разделяет с помощью Джини:

На точечной диаграмме будет:

2- Они могут отображаться графически. Поэтому они легко интерпретируются. Если у вас нет сверхглубокого дерева, его можно легко визуализировать. Поскольку мы говорим о том, как мы можем графически отображать деревья решений, позвольте мне представить вам некоторые полезные термины деревьев решений:

- Корневой узел: он представляет всю совокупность или выборку, которая затем делится на два или более однородных набора.

- Разделение: это процесс разделения узла на два или более подузла.

- Узел принятия решения. Когда подузел разделяется на дополнительные подузлы, он называется узлом принятия решения.

- Листовой/конечный узел:узлы, которые не разделяются, называются конечными или конечными узлами.

- Сокращение: когда мы удаляем подузлы узла решения, этот процесс называется сокращением. Можно сказать обратный процесс расщепления.

- Ветвь/поддерево:подраздел всего дерева называется ветвью или поддеревом.

-Родительский и дочерний узел: узел, который разделен на подузлы, называется родительским узлом подузлов, тогда как подузлы являются дочерними по отношению к родительскому узлу.

3- Непараметрический означает, что этот алгоритм не делает никаких предположений об основном распределении данных.

4-Features не нуждается в масштабировании, потому что он ищет, где вы можете лучше всего разделить свои данные, поэтому масштаб ваших данных на самом деле не имеет значения.

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