Руководитель отдела аналитики данных Уилл Боннер о повышении градиента как «черном ящике»

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

  1. Понимание общей структуры модели
  2. Понимание индивидуальных прогнозов модели

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

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

Мы хотим понять, какие функции повлияли на прогноз.

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

Давайте рассмотрим предсказания нашей модели для двух наблюдений:

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

Внутренняя структура деревьев объясняет вклад каждой переменной.

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

Чтобы лучше это визуализировать, мы используем функцию pretty.gbm.tree. Ниже приведен код и выходные данные первого дерева в ансамбле:

›Pretty.gbm.tree (object = modelF, i.tree = 1)

Используя этот вывод и объект c.splits (который содержит информацию о разбиениях для категориальных переменных), мы можем пройтись по дереву для нашего наблюдения 1. На диаграмме ниже показана часть дерева, по которому мы идем:

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

Например, в приведенном выше дереве для наблюдения 1 функция Заголовка способствовала изменению прогнозируемого значения с 1,25e-4 на -8,20e-4. Чтобы понять общий вклад функции, нам нужно просуммировать эти вычисления по всем деревьям в ансамбле.

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

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

Из приведенных выше наблюдений можно сделать следующие выводы:

Наблюдение 1: Заголовок «Мистер» - это характеристика, которая в наибольшей степени снижает вероятность выживания, за ней следует класс кабины, равный 3. Все функции, кроме # родителей / детей, снижают прогнозируемую вероятность. для этого наблюдения.

Наблюдение 2: большинство особенностей повышают вероятность выживания, причем титул «Миссис» и класс кабины 1 делают это в наибольшей степени.

Наш расчет делает модели с градиентным усилением более понятными

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

Пожалуйста, свяжитесь с нами ([email protected]), чтобы поделиться своими мыслями!

Первоначально опубликовано на сайте blog.marketinvoice.com 29 июня 2018 г.