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

Эта статья является частью серии книг Наука о данных с нуля — Могу ли я, чтобы я смог. (Нажмите здесь, чтобы получить копию сегодня!)

Нажмите здесь, чтобы просмотреть предыдущую статью/лекцию на тему «A38: Логистическая регрессия против KNN — набор данных по раку молочной железы.»

💐Нажмите здесь, чтобы ПОДПИСАТЬСЯ на меня, чтобы получать новые материалы💐

🧘🏻‍♂️ 👉🎯 — Мирно на цели, чтобы освоить самые требовательные навыки!

🧘🏻‍♂️Добро пожаловать, ребята, на лекцию «Обучение дереву решений»!🧘🏻‍♂️

Деревья решений — ключевые понятия

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

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

So:

  • Дерево решений – это модель, используемая как для классификации, так и для регрессии (CART).
  • Отвечая на последовательные вопросы, дерево отправляет нас вниз по определенному маршруту, чтобы найти результаты / класс результатов.
  • Модель дерева решений ведет себя как условия «если это, то это», что в конечном итоге приводит к определенному результату.

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

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

  • Корневой узел. Начальная точка дерева, например. «Перспектива»
  • Ветви: линии (иногда показанные в виде стрелок), соединяющие узлы, показывающие поток от вопроса к ответу — сегменты деревьев, соединяющие узлы.
  • Листовой узел: конечные узлы, которые предсказывают результаты «Играет/не играет».
  • Внутренние узлы:узлы, которые разделяются по значению определенной функции/атрибута ›› «Ветер» и «Влажность».

Давайте двигаться дальше и рисовать маршруты в дереве.

  • И корневой, и конечный узлы содержат вопросы или критерии, на которые необходимо ответить на пути между ними.
  • Глубина дерева важна и представляет собой сколько вопросов задано, прежде чем мы достигнем конечного узла (класса прогнозирования).
  • Общая глубина дерева определяется его самым длинным маршрутом.

В нашем примере глубина равна 2 для солнечных и дождливых маршрутов, тогда как 1 для пасмурного маршрута. Наше дерево имеет глубину 2.

🧘🏻‍♂️››Теперь еще одна вещь, которую мы можем заметить в приведенном выше дереве, это Разделение в узлах‹‹🧘🏻‍♂️

Что ж, актуален и самый важный вопрос: как решить вопрос о разделении, которое могло бы быть САМЫМ ЛУЧШИМ при данных обстоятельствах?

Давайте двигаться дальше и попробуем понять это на простом примере!

Деревья решений — разделение в узлах

Мы можем создать таблицу с функциями A, B, C и результатом Target. Заметьте, B — единственная функция, которая точно разделяет цель на два класса — четкое разделение, верно? (см. диаграмму разделения на рисунке ниже)

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

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

  • Энтропия и получение информации
  • Индекс Джини

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

* Ссылка на опубликованную в 1948 году статью Математическая теория коммуникации Клода Э. Шеннона, отца теории информации.

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

IG = H(родительский узел) — H (дочерние_узлы)

H (child_nodes) – это взвешенная сумма энтропии дочерних элементов.

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

Давайте вычислим прирост информации (IG).

IG = H (родительский) − {(3/4) H (дочерний_1) + (1/4) H (дочерний_2)}
IG = 1 − {(3/4) 0,92 + (1/4) 0}
ИГ = 1 - {0,69 + 0}
ИГ = 1 - 0,69
ИГ = 0,31

Давайте создадим таблицу для всех вычисленных значений прироста информации.

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

🧘🏻‍♂️››Примечание. Разделение определяется на основе наивысшего значения прироста информации или наименьшего значения индекса Джини‹‹🧘🏻‍♂️

Деревья решений — преимущества/недостатки

Преимущества:

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

Недостатки:

  • В то время как деревья решений являются вычислительно дешевыми для прогнозов, обучение дерева решений может быть дорогостоящим в вычислительном отношении.
  • В деревьях решений использование разных обучающих и тестовых подмножеств одного и того же набора данных приводит к высокой дисперсии (разные разбиения обучающих данных могут привести к очень разным деревьям). Деревья решений могут быть очень легко переобучены (переоснащение — это создание чрезмерно сложных деревьев, которые плохо обобщают данные), и в результате получается «плохая производительность» на новых и невидимых данных. Эта основная слабость ограничивает их использование в прогнозном моделировании. Однако, используя ансамблевые методы, мы можем создать модель, которая использует базовые деревья решений в качестве основы для получения отличных результатов.

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

Продолжим и обсудим:

  • Начальная загрузка
  • Бэгинг
  • Случайные леса

Начальная загрузка

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

Предположим, у нас есть набор данных со 100 значениями, и мы хотим оценить среднее значение выборки.

среднее = сумма выборок или значение / количество. образцов или значений

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

  • Создайте много случайных подмножеств (скажем, 500) нашего набора данных с заменой — выбрав одно и то же значение несколько раз.
  • Вычислить среднее значение каждого подмножества.
  • Рассчитайте среднее значение всех собранных нами средних значений и используйте его в качестве среднего значения оценки для данных.

Например, у нас было 5 подмножеств со средними значениями 2,5, 3,5, 5,5, 4,3 и 2,9. Расчетное среднее (среднее значение средних) в этом случае будет равно 3,74.

Бэггинг (агрегация Bootstrap)

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

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

  • Создайте множество случайных подмножеств (скажем, 500) нашего набора данных с заменой.
  • Обучите модель каждому подмножеству.
  • Для нового набора данных рассчитайте и выведите средний прогноз для каждой модели.

Например, у нас было 5 собранных в пакеты деревьев решений, делающих прогнозы для классов G, G, B, G, B, наиболее запрашиваемый (режим) G будет окончательным прогнозом .

🧘🏻‍♂️ ‹‹Деревья решений жадные! ››Они выбирают переменную (узел) для разделения, используя жадный алгоритм, который минимизирует ошибку. Даже при использовании бэггинга деревья решений могут иметь большое структурное сходство и, в свою очередь, иметь высокую корреляцию в своих прогнозах.
Объединение прогнозов из нескольких моделей в ансамбли работает лучше, если прогнозы из подмоделей некоррелированы или в лучшем случае слабо связаны. коррелированный.

Вот где Random Forests вступает в игру как улучшение по сравнению с деревьями решений в мешках!

Случайные леса

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

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

Случайный лес делает свое дело:
случайным образом исключая объекты-кандидаты из каждого разделения, случайные леса «декоррелируют» деревья и делают их независимыми друг от друга. Таким образом, процесс усреднения может уменьшить дисперсию результирующей модели и не влияет на функции, которые хорошо предсказывают определенный класс.

Новая случайная выборка признаков выбирается для каждого отдельного дерева при каждом разделении. Количество случайно выбранных объектов (m), которые можно искать в каждой точке разделения, указывается в качестве параметра алгоритма.

Обычно, если p - это число полного набора функций:

  • Для классификации хорошее значение по умолчанию для m = sqrt p (если у нас есть 25 функций, m будет равно 5 для задачи классификации)
  • Для регрессии хорошее значение по умолчанию для m= p/3

Где m — количество случайно выбранных объектов, которые можно искать в точке разделения, а p — количество входных переменных (полный набор объектов).

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

*******************************************************************

💐Нажмите здесь, чтобы ПОДПИСАТЬСЯ на меня, чтобы получать новые материалы💐

🌹Продолжайте практиковаться, чтобы освежить навыки и добавить новые навыки🌹

✅🌹💐💐💐🌹✅ Похлопайте и поделитесь ››вы можете помочь нам связаться с тем, кто изо всех сил пытается изучить эти понятия.✅🌹💐💐💐🌹✅

Удачи!

Увидимся на следующей лекции на тему "A40: …………………….!!!».

Примечание. Полный курс, включая видеолекции и блокноты Jupyter, доступен по следующим ссылкам:

**************************************************************************************************************************************

О докторе Джунаиде Кази:

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

**************************************************************************************************************************************