Интуитивно понятное визуальное руководство по мощному алгоритму машинного обучения, применяемому для прогнозирования моделей голосования в штатах США.

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

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

Как следует из названия, модель визуально представлена ​​в виде перевернутой древовидной структуры, в которой набор данных разбивается на все меньшие и меньшие подмножества по мере роста дерева. Каждый внутренний узел или узел решения содержит простой вопрос типа «правда или ложь», на который нужно ответить, о конкретной переменной X. Исходя из этого, дерево разделяется на ветви - одна ветвь представляет истинную, а другая - ложную. В конце каждой ветки - другой вопрос. Этот рекурсивный процесс продолжается, и дерево становится все глубже и шире с каждым принятым решением, пока не заканчивается листовым узлом, который делает прогноз.

Возьмем пример набора данных. У нас есть переменная Y - независимо от того, является ли состояние красным или синим, и у нас есть 3 переменные X: Образование *, Доход ** и Расовое разнообразие ***. Теперь давайте попробуем построить дерево решений для прогнозирования политической ориентации государства, т. Е. Того, будет ли оно красным или синим, на основе этих трех переменных.

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

Теперь приступим к созданию дерева решений. Чтобы создать первый узел решения, мы должны выбрать переменную для разделения. Деревья решений используют критерий, называемый Информационный прирост, чтобы выбрать правильную переменную для просмотра. Информационный прирост - это мера того, сколько мы знаем о Y после взгляда на X. Например, если бы мы случайно спрогнозировали политическую ориентацию государства, не имея другой информации, вероятность того, что состояние красного цвета, равна ½. Однако, зная некоторую другую информацию об этом состоянии, мы можем обновить наше мнение об этой вероятности.

Давайте посмотрим, что произойдет, когда мы разделим дерево по каждой из трех переменных X по одной.

Когда мы разделяем образование, мы видим, что ИСТИННАЯ ветвь, которая содержит состояния с образованием выше медианы, имеет в основном синие состояния и одно красное состояние. Ветвь FALSE, или состояния с образованием ниже медианы, имеет в основном красные состояния и несколько синих.

Когда мы разделяем расовое разнообразие, мы видим, что ИСТИННАЯ ветвь, которая содержит состояния с разнообразием выше среднего, имеет в основном синие состояния. Ветвь ЛОЖЬ, или состояния с разнообразием ниже медианы, имеет почти равное количество красных и синих состояний. Это означает, что знание того, что государство не является разнообразным, не означает значимого политического пристрастия.

Наконец, давайте посмотрим, что происходит, когда мы делимся по доходу. Здесь ИСТИННАЯ ветвь, которая содержит состояния с доходом выше медианы, имеет в основном синие состояния. А ветвь ЛОЖЬ, или состояния с доходом ниже медианы, имеет почти равное количество красных и синих состояний. Это означает, что знание того, что в штате доход ниже среднего, также не означает значимых политических убеждений.

После сравнения каждой возможной переменной для разделения дерево решений выбирает ту, которая ведет к самым чистым ветвям. В нашем случае расщепление по обучению приводит к самым чистым ветвям, потому что ветвь ИСТИНА содержит только 1 красное состояние, а ветвь ЛОЖЬ содержит вдвое меньше синих состояний, чем красных. Информация, получаемая от образования, высока. Раскол по расовому разнообразию был бы худшим выбором. Хотя ветвь ИСТИНА содержит в основном синие состояния, ветвь ЛОЖЬ в основном состоит из красного и синего 50:50. Знание отсутствия разнообразия в государстве почти не добавляет новой информации в модель. Получение информации от расового разнообразия очень низкое.

После первого разделения по образованию, мы теперь смотрим на две результирующие ветви и еще раз смотрим, какие переменные мы можем разделить, чтобы еще больше очистить наши ветки. Это продолжается до тех пор, пока мы не достигнем чистых ветвей или максимальной глубины дерева. Наше окончательное дерево показано ниже, и его точность составляет около 80%. Это потрясающе, учитывая, что у нас было всего 3 переменные, с которыми нужно было работать.

Вы можете спросить: «Почему бы нам просто не разделить каждую функцию и не сделать дерево настолько длинным, насколько это необходимо, чтобы получить модель, идеально подходящую для данных?»

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

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

Чтобы реализовать эту модель самостоятельно, загляните в эту ссылку и запустите каждую ячейку с помощью кнопок воспроизведения слева!

* Средний доход домохозяйств по штатам (данные переписи)
**% Степень бакалавра или выше (Исследование американского сообщества 2013–2017 гг.)
***% Небелое население (Фонд семьи Кайзер оценки основаны на обследовании американских сообществ, проведенном Бюро переписи населения, 2008–2018 гг. »)