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

Регрессия — это процесс прогнозирования непрерывного значения в отличие от прогнозирования метки дискретного класса в классификации.

Основная интуиция, лежащая в основе дерева решений, состоит в том, чтобы наметить все возможные пути принятия решений в виде дерева.

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

Мы пришли к выводу, что правило, которое изучает алгоритм классификации,

СОХРАНИТЬ = SENTIMENTAL_VALUE | (НЕОБХОДИМО_БУДУЩЕЕ И ДОРОГО)

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

Объясняя, разве ни у кого нет времени на это?

Давайте посмотрим, как мы пойдем в процессе построения дерева решений.

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

Мы можем разделить каждую возможную функцию на две, но это даст нам очень большое и крайне неэффективное дерево.

Как мы можем убедиться, что у нас есть разумное и хорошее дерево?

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

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

Что значит «достиг этого узла»?

Все обучающие примеры не охватывают все части дерева. Например, рассмотрим пункт 3 в нашем примере весенней уборки.

Он устраняется и классифицируется как "СОХРАНИТЬ" в самом корне нашего дерева решений и не попадает на более низкие уровни дерева.

Существуют алгоритмы построения деревьев решений. Тот, о котором я говорил выше, называется алгоритм ID3, который является базовым.

Есть также некоторые продвинутые, такие как алгоритм C4.5, CART (дерево классификации и регрессии) и CHAID (автоматический детектор взаимодействия CHi-squared).

Всем спасибо, в следующий раз я расскажу немного о неконтролируемом обучении и прочем.