Деревья принятия решений и архитектура модели

Завершено

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

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

Рассмотрим их более конкретно, взяв в качестве примера деревья принятия решений.

Что представляет собой дерево принятия решений?

По сути, дерево принятия решений — это блок-схема. Деревья принятия решений — это модель классификации, которая разделяет решения на несколько этапов.

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

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

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

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

Вес (функция) Возраст (функция) Получатель медали (метка)
90 18 No
80 20 No
70 19 No
70 25 No
60 18 Да
80 28 Да
85 26 Да
90 25 Да

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

Подмножество 1

Вес (функция) Возраст (функция) Получатель медали (метка)
90 18 No
80 20 No
70 19 No
60 18 Да

Подмножество 2

Вес (функция) Возраст (функция) Получатель медали (метка)
70 25 No
80 28 Да
85 26 Да
90 25 Да

Если остановиться здесь, у нас есть простая модель с одним узлом и двумя листьями. Лист 1 содержит победителей, не являющихся призерами с медалями, и в нашем обучающем наборе он имеет точность 75 %. Лист 2 содержит владельцев медалей и также имеет точность 75 %.

Однако останавливаться на этом не стоит. Мы можем продолжить этот процесс, разбив остальные листья.

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

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

Это даст нам дерево, которое может достичь точности в 100 % для обучающего набора.

Сильные и слабые стороны деревьев принятия решений

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

Основной недостаток деревьев принятия решений — это лжевзаимосвязь. Рассмотрим пример, приведенный ранее: модель дает точный способ вычисления того, кто, скорее всего, выиграет медаль, и это будет прогнозировать 100% обучающего набора данных правильно. Этот уровень точности нетипичен для моделей машинного обучения, которые обычно делают многочисленные ошибки в наборе данных для обучения. Хорошая производительность во время обучения сама по себе не является плохим моментом, но дерево становится настолько подстроенным под обучающий набор, что, скорее всего, не будет хорошо работать с тестовым набором. Это связано с тем, что дерево удалось узнать отношения в тренировочном наборе, который, вероятно, не является реальным, например, что наличие веса 60 кг гарантирует медаль, если вы в возрасте до 25 лет.

Архитектура модели влияет на наличие лжевзаимосвязей.

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

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