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

Давайте рассмотрим приведенные ниже 2 сценария, в которых бизнесу требуется решение, которое непрерывно увеличивает параметр, называемый Z, с учетом входных данных A, B, C.

  1. Сценарий 01:
    Техника, лежащая в основе модели: A + B - C = Z.

    - Это очень легко интерпретировать, и бизнес легко поймет мы должны либо увеличить A или B, либо уменьшить C, чтобы максимизировать Z.
  2. Сценарий 02:
    В основе модели лежит черный ящик.
    - Например, математические вычисления через слои. Он будет состоять из сотен слоев, и на каждом из них будет производиться расчет входных данных, и в конце он предоставит очень точный прогноз.

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

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

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

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

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

Корневой: корневой узел с данными, представляющими все население.

Ветви: представляют правила, разделяющие данные родительского узла.

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

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

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

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

Ниже приведены некоторые популярные критерии разделения.

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

Если все элементы принадлежат одному классу
Gini = 1 - (¹² + ⁰² + ⁰² +….) = 0, что указывает на то, что узел очень чистый.
Если классы распределены случайным образом, коэффициент Джини будет выше, а при равном распределении классов - 0,5.
Поэтому при разделении мы стараемся выбрать узел, который обеспечивает наименьший индекс примеси Джини.

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

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

  • Тест хи-квадрат
    В качестве узла разбиения выбирается переменная, которая имеет наиболее важное отношение к целевой переменной. Когда такой значимости нет, несущественные категории предикторов объединяются при построении дерева решений.
  • F-тест
    Вычисляет статистическую разницу средних значений двух популяций. Если две популяции существенно не отличаются, они объединяются при построении дерева решений.
  • Наименьшее квадратное отклонение
    Это пытается минимизировать сумму квадратов расстояний между наблюдаемыми и прогнозируемыми значениями (т. е. остатками). Узел, который обеспечивает наименьшее значение для остатков, выбирается в качестве узла разделения.

На что обращать внимание?

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

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

Как найти серебряную подкладку среди темного облака?

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

  • Назначение максимальной глубины
    Один из способов - указать алгоритму максимальную глубину. Например, в приведенном выше сценарии, если максимальная глубина задана равной 2, разделения, которое изолирует одну звезду, не произойдет.
  • Назначение минимального количества экземпляров для каждого узла
    Другой метод - назначить минимальное количество точек данных, которые будут там после разделения узла. В приведенном выше примере, если он снова указан как 3, звезда, о которой мы говорим, не будет изолирована. Когда это указано, модель не пытается генерировать правила из меньшего количества точек данных.
  • Определение соотношения между классами большинства и меньшинства
    Это еще один метод уменьшения переобучения. Например, мы можем остановить разбиение, когда 90% точек принадлежит одному классу.
  • Используйте методы обрезки
    Как следует из названия, он обрезает ветви и пытается улучшить дерево, удаляя лишние расщепления. Это можно сделать либо при построении дерева, называемого предварительной обрезкой или ранней остановкой, либо после подгонки дерева путем сокращения избыточных разделений, называемых последующей обрезкой. Критерии выявления избыточных разделений различаются. В некоторых методах он проверяет получение информации, перекрестную проверку ошибок и т. Д. И пытается получить меньшее дерево, которое не идеально подходит только для обучающей выборки.
  • Настройка гиперпараметров
    Хотя в дереве решений не обязательно должен быть правильный выбор функций, который нужно сделать в первую очередь, поскольку дерево имеет тенденцию выбирать лучший параметр, который разделяет данные, всегда лучше для итерации модели с подмножествами функций наряду с такими методами, как настройка гиперпараметров и перекрестная проверка.
  • Сбалансируйте набор данных
    Когда существует неравное распределение классов в наборе данных, мы говорим, что набор данных несбалансирован. Проблема здесь в том, что в задачах классификации модели становятся более склонными к классу большинства, поскольку этот набор данных более заметен. Например, в наборе данных о тесте на рак из 100 выборок, если 98 являются доброкачественными, модель может предсказать все как доброкачественные и все же иметь более высокую точность. Следовательно, всегда лучше использовать такие методы, как недостаточная выборка, передискретизация и т. Д., И обрабатывать набор данных перед моделированием.
  • Экспериментирование со знанием предметной области
    Хотя это и упоминалось в последнюю очередь, это одна из самых важных вещей, которые нужно сделать. Всегда лучше проверять, имеют ли правила модели бизнес-смысл, не завися только от каких-либо показателей оценки, особенно если набор данных не слишком велик. Когда деревья решений разделяются на новые данные или когда существует дисбаланс классов, это экспериментирование становится очень удобным инструментом.

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

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

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

Алгоритмы дерева решений

Существует несколько популярных алгоритмов построения деревьев решений.

В первую очередь они различаются тем,

  • выбор критерия расщепления
  • Способность соответствовать деревьям регрессионных или классификационных решений
  • Обработка недостающих значений или данных о дисбалансе
  • Методы борьбы с переобучением

Некоторые алгоритмы перечислены ниже.

  1. ID3 (Iterative Dichotomiser)
    - Может использоваться как для двоичной, так и для множественной классификации
    - Использует энтропию Шеннона для выбора функций с наибольшим объемом информации как узлы
    - Критерий разделения - это разделение, которое имеет наибольший информационный выигрыш (или наименьшую энтропию).
    - Разделение будет происходить рекурсивно до тех пор, пока узел не станет однородным.
    - При этом используется жадный поиск, который выбирает узел, используя критерий получения информации, и никогда не исследует возможность альтернативного выбора.
    - Это не обрабатывает отсутствующие значения или числовые данные
  2. C4.5
    - это преемник алгоритма ID3.
    - Критерии разделения - это коэффициент получения информации.
    - Может обрабатывать и то, и другое. непрерывные и дискретные атрибуты.
    Для непрерывных переменных он создает порог, а затем разбивает список на те, значение атрибута которых превышает пороговое значение, и те, которые меньше или равны ему.
    - Может использовать отсутствующие значения, которые просто не являются используется в расчетах прироста и энтропии.
    - Веса могут применяться к функциям, составляющим данные.
    - Разрешить обрезку после публикации.
  3. CART (модели классификации и регрессии)
    - этот алгоритм генерирует деревья классификации и регрессии
    - используется для двоичной классификации
    - при выборе функция разделения индекса Джини используется в случае дерева классификации, а наименьшее квадратичное отклонение используется в деревьях регрессии
  4. CHAID (автоматическое обнаружение взаимодействия с квадратом хи-квадрат)
    - создает несколько разделений
    - используется как для задач регрессии, так и для классификации
    - без замены пропущенных значений
    - нет возможности обрезки
    - используйте критерий независимости хи-квадрат для определения наилучшего разделения в деревьях классификации и F-тест в деревьях регрессии

Помимо этих алгоритмов, также существуют такие алгоритмы, как C5.0, CHAID, MARS и т. Д.

Последние мысли

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

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