Часть 1 из серии «Машинное обучение для всех»: узнайте об алгоритмах дерева решений интуитивно…….
Деревья решений — это мощные, но интуитивно понятные алгоритмы машинного обучения, способные выполнять задачи как классификации, так и регрессии. Эта статья предназначена для начинающих объяснять, как работают деревья решений.
Статья построена следующим образом:
- Как дерево может принимать решения?
- Как измерить примесь для задач классификации?
- Дерево решений регрессии
- Гиперпараметры дерева решений
Как дерево может принимать решения?
Лучший способ понять, как работает дерево решений, — это посмотреть на визуализацию обученного дерева для задачи классификации. В отличие от посаженных деревьев, корневой узел дерева решений находится на самом верху, разделен двумя ветвями на еще два узла, как и остальные узлы. Корневой узел подобен мешку, содержащему все необработанные фактические классы, прежде чем выполнять над ними какую-либо обработку. Чтобы разделить этот узел, вы должны задать вопрос «Да/Нет» «Для каждого экземпляра данных в этом пакете функция n ниже или выше этого порогового значения t?», а затем дерево будет проходить по экземплярам данных и решите, должны ли они быть «Да» или «Нет», и сгруппируйте их в два отдельных пакета в зависимости от ответа. Также стоит отметить, что бинарные категориальные признаки не имеют порогового значения и достаточно только вопроса «Да» или «Нет».
Если вы посмотрите на эти новые пакеты, вы сможете оценить, насколько чистый каждый из них. Пакет является чистым на 100%, если он содержит только один класс, и может быть чистым на 90%, если есть только один экземпляр другого класса из 10 экземпляров данных. Используя свои вычислительные мощности, вы можете заставить свой компьютер задавать один и тот же вопрос много раз, перебирая все имеющиеся у вас функции, и для каждой функции пробуйте несколько пороговых значений, и пусть компьютер выбирает n, t, которые дают вам наименьшее значение. примесь, и это твой первый сплит! Если вы будете повторять одни и те же шаги снова и снова, вы сформируете очень красивое дерево, которое может быть эффективным для разделения ваших данных на классы на основе конкретных вопросов.
См. этот пример на изображении ниже:
Как измерить примесь для задач классификации?
В предыдущем абзаце для упрощения вычислялось наивное представление примеси. Однако либо «примесь Джини», либо «энтропия и прирост информации» являются используемыми измерениями в алгоритме дерева решений для расчета того, насколько «нечистым» является каждый узел. Когда вы получаете низкую примесь, это означает, что вы добились успеха в выборе функции и порогового значения. В большинстве случаев и «Джини», и «Энтропия» приводят к одинаковой производительности модели. Поэтому в этой статье я буду придерживаться более легкого «Джини», вот его формула:
где p — доля каждого класса, которая будет варьироваться от 0 до 1. Из этого уравнения можно построить график примесей Джини для всего пространства параметров и увидеть, что он варьировался от 0 (если узел содержит только один класс) до 0,5 (если это два равно существующих класса).
Таким образом, примесь Джини — это целевая функция, которую алгоритм дерева решений пытается минимизировать в каждом узле путем поиска признаков и их пороговых значений.
Дерево решений регрессии
До сих пор мы имели дело с деревьями решений классификации. Однако деревья регрессии работают точно так же, за исключением того, что целевая функция примеси Джини не будет работать с задачами регрессии, которые явно не имеют классов. В этом случае дисперсия является наиболее часто используемым измерением, потому что, если экземпляры данных в узле имеют НУЛЕВУЮ дисперсию, это означает, что это просто типичные экземпляры данных, и дерево решений успешно сгруппировало похожие данные вместе. Таким образом, алгоритм имеет ту же цель, что и в задачах классификации: для каждого узла искать признак и его пороговое значение, которое делит экземпляры данных в текущем узле на две группы, каждая из которых имеет наименьшую возможную дисперсию. Если вы не знаете, как рассчитать дисперсию, вот вам:
Гиперпараметры дерева решений и регуляризация
Дерево решений имеет параметры, ограничивающие его форму, и поэтому может использоваться для регуляризации. Регуляризация — это метод, используемый в машинном обучении, чтобы избежать переобучения, что означает, что модель может очень хорошо соответствовать обучающим данным, но не может обобщать тестовые данные (подробнее об этом в другой статье).
Наиболее известные гиперпараметры:
- Максимальная глубина: можно оставить неограниченной или определить максимальную глубину
- Минимальное разделение выборок: минимальное количество выборок в узле, прежде чем его можно будет разделить.
- Минимальный лист выборок: минимальное количество выборок в листовом узле.
- Max leaf nodes: максимально допустимое количество конечных узлов в дереве.
Заключение
Деревья решений — это мощные модели машинного обучения, которые можно использовать как в задачах классификации, так и в задачах регрессии. Одним из их преимуществ является то, что они интерпретируемы, и вы можете понять, как выполняется классификация или регрессия. Другими словами, в отличие от других моделей машинного обучения, таких как нейронные сети, дерево решений не считается моделью черного ящика.
Спасибо за прочтение статьи и, пожалуйста, следите за обновлениями для следующих публикаций, в которых мы продолжим изучение концепций, лежащих в основе других моделей машинного обучения.