Деревья решений в машинном обучении: функции, классификация, плюсы и минусы

Опубликовано: 2020-05-14

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

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

Оглавление

Что такое дерево решений?

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

Большинство решений в дереве решений следуют условным операторам — if и else. Чтобы модель дерева решений была лучше других, она должна иметь более глубокую структуру и более сложные правила, управляющие ею. Это одна из наиболее предпочтительных моделей обучения с учителем в машинном обучении, которая используется в ряде областей. Это может выглядеть как блок-схема, разработанная с учетом алгоритмических методов, чтобы гарантировать, что разделение выполняется в соответствии с условиями.

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

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

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

Как вы определяете дерево решений?

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

Предположим, что есть набор данных, над которым мы сейчас работаем. Мы создаем 2D-план, который можно разделить на разные области таким образом, чтобы точки в каждой области относились к одному и тому же классу. Разделения или расщепления обозначаются уникальным символом. Это бинарное дерево, над которым мы сейчас работаем.

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

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

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

Оформить заказ: типы бинарного дерева

Вы когда-нибудь участвовали в конкурсе «Двадцать вопросов»? Это очень похоже на то, как работают деревья решений. Разберемся как? Конечная цель игры «Двадцать вопросов» — выяснить, о чем думает человек, отвечающий на вопросы, отвечая на вопросы. На вопросы можно ответить только да или нет.

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

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

Как работает дерево решений?

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

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

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

Теперь мы переходим к функциям или атрибутам дерева, которые будут составлять внутренние узлы. На основе этих атрибутов будут приниматься решения – формирование ветвей дерева. Сделаем здесь еще одно предположение. Параметром для человека, который считается подходящим для работы, является его опыт работы от 5 лет и более. По этому параметру, который мы только что установили, будет происходить первое деление.

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

Как уже упоминалось, дерево решений имеет свое особое представление, позволяющее решить проблему за нас. У него есть корни, внутренние узлы, ветви и листья, каждый из которых служит определенной цели или выполняет определенную работу. Эти шаги помогут вам сделать представление дерева:

  1. В корне дерева находится оптимизированная версия лучшего атрибута.
  2. Разделите образцы данных на подмножества, используя соответствующие атрибуты. Убедитесь, что новые подмножества или группы данных не содержат разные значения одного и того же атрибута.
  3. Повторяйте два вышеуказанных шага, пока не получите листья для каждой ветви дерева решений.

Дерево классификации или регрессии (CART)

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

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

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

Значение целевого значения в этих ситуациях будет либо некоторым реальным значением, либо значением, связанным с непрерывным набором данных. Мы будем использовать регрессионную версию дерева решений для решения этих проблем. Это дерево будет учитывать наблюдения, сделанные для характеристик объекта, и обучать модель делать прогнозы и обеспечивать непрерывный вывод, который имеет абсолютный смысл.

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

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

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

Читайте: Идеи проекта машинного обучения

Как изучить модель CART?

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

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

1. Жадный алгоритм : входное пространство должно быть правильно разделено, чтобы построить двоичное дерево. Рекурсивное бинарное разбиение — это жадный алгоритм, используемый для этой цели. Это численный метод, который включает в себя выравнивание различных значений. Затем функция стоимости используется для проверки нескольких точек деления. Выбирается точка разделения с минимальной стоимостью. Этот метод используется для оценки всех точек деления, а также входных переменных.

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

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

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

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

Как избежать переобучения в дереве решений?

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

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

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

Узнайте больше о: Дерево решений в R

Преимущества подхода деревьев решений

  1. Его можно использовать как с непрерывными, так и с категориальными данными.
  2. Он может выдавать несколько выходов
  3. Он может интерпретировать точные результаты, и вы можете количественно оценить и доверять надежности деревьев.
  4. С помощью этого метода вы можете исследовать данные, находить важные переменные и находить отношения между различными переменными для укрепления целевых переменных и создания новых функций за гораздо меньшее время.
  5. Легко понять и объяснить другим
  6. Это полезно для очистки данных. По сравнению с другими методами, это не занимает много времени, так как на него не влияют пропущенные значения и выбросы после определенного момента.
  7. На эффективность и производительность деревьев решений не влияют нелинейные отношения между функциями.
  8. Подготовка данных не занимает много времени, так как не требует замены отсутствующих значений, нормализации данных и многого другого.
  9. Это непараметрический подход. Это не имеет отношения к проектированию и размещению классификаторов.

Недостатки деревьев решений

  1. Некоторые пользователи могут строить деревья решений, которые слишком сложны даже для них самих. Эти деревья не обобщают данные, как это делают более простые деревья.
  2. Смещенные деревья часто создаются из-за доминирования определенных классов. Вот почему очень важно сбалансировать выборочные данные перед их использованием.
  3. Иногда эти деревья не слишком стабильны. Изменения данных могут привести к созданию дерева, которое не отвечает всем требованиям. Эта аномалия называется дисперсией. С этим можно справиться, используя бустинг и бэггинг.
  4. Вы не можете ожидать получить лучшее дерево решений с помощью жадных алгоритмов. Чтобы избавиться от этой проблемы, вы можете обучить несколько деревьев.

Заключение

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

Если вам интересно узнать больше о машинном обучении и искусственном интеллекте, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, Статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Для чего используется алгоритм дерева решений?

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

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

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

Какие еще алгоритмы используются в искусственном интеллекте?

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