Теоретическое изучение и практика дерева решений в машинном обучении

машинное обучение искусственный интеллект алгоритм прямая трансляция

Дерево решений — это традиционный алгоритм машинного обучения и один из начальных алгоритмов машинного обучения. На его основе выводятся такие алгоритмы, как random forest, GBDT, XGBOOST и др., очень эффективные в области CTR, поэтому изучение его можно рассматривать как единственный способ привести к продвинутым алгоритмам. в то же время он имеет очень сильную интерпретируемость, которая может решать проблемы регрессии и классификации, также считается хорошим выбором для демонстрации коммерческих приложений. Новичкам в изучении алгоритмов необходимо разбираться в деревьях решений, поэтому Pegasus.com пригласил г-на Хуан Кая, окончившего Лабораторию машинного зрения Университета Миссури, провести онлайн-трансляцию в прямом эфире вечером 27 марта Преподаватель поделился с вами актуальной теорией и практическим применением дерева решений.

微信图片_20180328152725.jpg

Ниже приводится основное содержание этого обмена:

один. Введение

1. Прежде чем перейти к введению, давайте обсудим несколько основных вопросов:

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

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

2. Введение в дерево решений:

幻灯片2.jpg

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

два. Структура дерева решений

幻灯片3.jpg

Мы видим, что левая часть рисунка выше представляет собой очень простую древовидную структуру, которая должна быть знакома тем, кто изучает структуры данных. Мы фокусируемся на корневом узле головы, листовые узлы ниже представляют результаты после классификации, а ветви ниже представляют условия оценки данных, например, первый слой больше 0,99, больше 1,20, больше 3,20 , и т.д.

3. Этапы использования дерева решений

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

幻灯片4.jpg

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

2. Пример:

Давайте узнаем на примере иностранной кредитной карты.

幻灯片5.jpg

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

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

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

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

Что касается модели одноклассника А, давайте посмотрим, как он ее оценил:

幻灯片6.jpg

幻灯片7.jpg

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

幻灯片8.jpg

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

4. Как рационально построить дерево решений

Теперь давайте рационально подумаем, как построить дерево решений?

1. Основные этапы построения дерева решений:

幻灯片9.jpg

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

2. Пример:

幻灯片10.jpg

幻灯片11.jpg

幻灯片12.jpg

幻灯片13.jpg

Поскольку все предыдущие оптимальные узлы вычислены, мы столкнемся с другими проблемами: «как выбрать оптимальный узел?» и «как работать с непрерывными данными при выборе узла?»

幻灯片14.jpg

3. Как выбрать оптимальный узел:

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

幻灯片15.jpg

Вот некоторые свойства информационной энтропии:

幻灯片16.jpg

При построении дерева решений мы выберем разницу в информационной энтропии для построения.Давайте рассмотрим пример:

幻灯片17.jpg

В примере выше у нас есть 14 образцов, 5 — «Нет», 9 — «Да», атрибуты — погода, температура, влажность, ветрено или нет. Через эти четыре измерения мы решаем, играть в теннис или нет.

При выборе первого узла у нас есть четыре альтернативы:

幻灯片18.jpg

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

幻灯片19.jpg

Для первой альтернативной погоды мы можем разделить на три значения (солнечно, облачно, дождливо):

幻灯片20.jpg

Получив соответствующие значения энтропии погоды, мы умножаем вероятность ее появления на соответствующие значения энтропии. Согласно атрибуту погоды мы получаем значение энтропии равное 0,693:

幻灯片21.jpg

Таким же образом мы можем поочередно вычислить информационный прирост температуры, влажности и ветра:

幻灯片22.jpg

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

Во-вторых, метод расчета влажности заключается в том, чтобы получить скорость получения информации о ней, как мы упоминали ранее, а затем выбрать, какой из ее узлов является оптимальным:

幻灯片23.jpg

После этих относительно простых методов построения выше мы можем получить окончательное дерево решений:

幻灯片24.jpg

5. Обдумывание после построения дерева решений

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

1. В машинном обучении есть термин «переоснащение». Это означает, что наша модель отлично работает на обучающих данных, но при столкновении с внешними данными она оказывается уязвимой.Давайте посмотрим на следующий рисунок:

幻灯片25.jpg

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

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

幻灯片26.jpg

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

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

幻灯片27.jpg

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

6. Дерево решений+

1. Отличия дерева решений:

Мы уже разъяснили этапы построения дерева.Упомянутый выше метод является более традиционным, который мы называем ID3.Кроме того,есть и другие методы.Давайте сравним:

幻灯片28.jpg

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

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

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

2. Пример:

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

幻灯片29.jpg

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

На следующем рисунке показан конкретный демонстрационный процесс:

幻灯片30.jpg

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

幻灯片31.jpg

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

В конце прямого эфира г-н Хуан Кай также терпеливо ответил на вопросы каждого.Давайте посмотрим:

1. Вы сами реализуете этот процесс расчета или сами вызываете встроенную функцию?

Учитель Хуан: Я предлагаю новичкам написать весь процесс расчета самостоятельно.Если пакет откорректирован, его можно использовать в работе, но он не подходит для углубления впечатления от обучения.

2. Требуют ли деревья решений большого количества математических формул?

Г-н Хуанг: Математическая формула дерева решений в основном отражена в расчете узлов, в том числе в том, как рассчитать прирост информации и теорию обрезки, в данном случае математических формул не так уж много.

3. Каковы сценарии применения деревьев решений?

Г-н Хуанг: На самом деле в нашей работе мы редко используем просто деревья решений, а обычно используем случайные леса и другие алгоритмы. С точки зрения представления данных, деревья решений дают людям очень интуитивное понимание и имеют уникальные преимущества.

Вышеупомянутые шесть частей являются основным содержанием этой онлайн-трансляции в прямом эфире.Для тех, кто хочет узнать все больше и больше подробностей, вы можете обратить внимание на сервисный номер: FMI Pegasus.Нажмите на строку меню Pegasus Live, чтобы узнать.

服务号.jpg