Найти в Дзене
Pythons Magic

Как "деревья" могут решать задачи

В статье пойдёт речь об одной из моделей машинного обучения - решающем дереве. Для чего нужна эта модель? Решающее дерево позволяет решать следующие задачи машинного обучения: Классификации - это когда нужно предсказать класс объекта, например, купит ли человек новый телефон или нет. Регрессии - когда надо предсказать какое-либо значение, например, стоимость дома. Как оно выглядит? Вместо сотни слов, проще показать картинку: Действительно, вид напоминает дерево, но с одной особенностью - оно перевёрнуто. X_1 и X_2 - некоторые переменные samples - количество наблюдений того или иного класса values - в квадратных скобках указано, сколько в подвыборке наблюдений первого и второго классов (например, [0, 1]. Здесь 0 наблюдений 1-го класса и одно наблюдение 2-го класса. class - имя класса, к которому принадлежит большинство наблюдений в подвыборке (в случае, когда количество наблюдений 1-го и 2-го класса равно, значение class выбирается случайно) entropy - энтропия (почти как в физике). О н
Оглавление

В статье пойдёт речь об одной из моделей машинного обучения - решающем дереве.

Для чего нужна эта модель?

Решающее дерево позволяет решать следующие задачи машинного обучения:

Классификации - это когда нужно предсказать класс объекта, например, купит ли человек новый телефон или нет.
Регрессии - когда надо предсказать какое-либо значение, например, стоимость дома.

Как оно выглядит?

Вместо сотни слов, проще показать картинку:

Действительно, вид напоминает дерево, но с одной особенностью - оно перевёрнуто.

X_1 и X_2 - некоторые переменные
samples - количество наблюдений того или иного класса
values - в квадратных скобках указано, сколько в подвыборке наблюдений первого и второго классов (например, [0, 1]. Здесь 0 наблюдений 1-го класса и одно наблюдение 2-го класса.
class - имя класса, к которому принадлежит большинство наблюдений в подвыборке (в случае, когда количество наблюдений 1-го и 2-го класса равно, значение class выбирается случайно)
entropy - энтропия (почти как в физике). О ней речь пойдёт далее.

Все ветвления, которые вы видите, будем называть сплитами.

Как работает решающее дерево?

Как именно дерево понимает, по какой переменной необходимо сделать сплит? Ответ на этот вопрос - энтропия. В данной теме значение этого термина такое же, как в физике - мера неопределённости (или же мера хаоса). Если энтропия равна 1 - это полная неопределённость, если 0 - то всё понятно.

На самом деле, работа решающего дерева очень похожа на работу человека.

Пример: перед нами задача - узнать, какую из 4-х машин, приведённых на фото ниже, загадал товарищ П. Сделать это необходимо за минимальное количество вопросов.

Здесь не будет рассматриваться математическая сторона вопроса, сейчас главное - понять суть.

Фото из открытых источников
Фото из открытых источников

Вопрос "Эта машина стоит к нам передом?" будет абсолютно бессмысленным, потому что энтропия никак не уменьшилась и осталась равна единице.

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

А вопрос "Эта машина синего цвета?" делит нашу выборку на две равные подвыборки, энтропия уменьшилась в два раза!

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

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

Плюсы и минусы

Плюсы дерева:

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

Минусы:

В статье этот момент не рассматривается, но дерево очень склонно к переобучению (если его рост не ограничивать, то оно будет расти до тех пор, пока в каждом "листочке" энтропия не будет равна 0);
Деревья плохо работают в том случае, когда признаков слишком много.

Краткое заключение

Надеюсь, вам понравилась данная статья. Если же нет, то, пожалуйста, напишите об этом в комментариях.

Больше постов - в Телеграме!