Важность перекрестной валидации в оценке модели дерева решений
Деревья решений являются одними из наиболее интуитивных и широко используемых алгоритмов машинного обучения, ценимых за их прозрачность и простоту интерпретации. Применяются ли эти модели к задачам классификации или регрессии, эти модели разбивают решения на ряд простых правил, которые отражают человеческое мышление. Эта интерпретируемость делает деревья решений выбором по умолчанию для анализа исследовательских данных и для областей, где объяснимость модели имеет первостепенное значение - таких как здравоохранение, финансы и юридическое соответствие. Однако сама гибкость, которая дает деревьям решений их привлекательность, также делает их восприимчивыми к критическому изъяну: переобучение. Дерево решений может расти чрезмерно глубоко, захватывая шум и случайные колебания в данных обучения, а не в базовой модели. Это приводит к плохой производительности на новых, невидимых данных, подрывая практическую ценность модели. Для обеспечения того, чтобы дерево решений хорошо обобщает, строгая оценка имеет важное значение. Среди наиболее надежных и широко принятых методов для этой цели является перекрестная валидация. Кросс-валидация обеспечивает надежную оценку производительности модели путем тестирования модели на нескольких подмножествах данных, показывая, насколько хорошо она будет работать в реальном мире
Что такое перекрестная проверка?
Кросс-валидация — это процедура повторного валидирования, используемая для оценки способности модели машинного обучения обобщать независимый набор данных. Вместо того, чтобы полагаться на один сплит-тест, кросс-валидация делит набор данных на несколько дополнительных подмножеств, называемых складками. Модель обучается на комбинации всех, кроме одной складки, а затем тестируется на оставшейся складке. Этот процесс повторяется несколько раз, причем каждая складка служит тестовым набором ровно один раз. Усредняя оценки производительности по всем итерациям, кросс-валидация дает более стабильную и надежную оценку точности прогнозирования модели, чем один сплит. Этот метод снижает изменчивость оценки, особенно когда набор данных ограничен, и помогает обнаружить переподгонку — распространенную ошибку с деревьями решений. Кросс-валидация также эффективно использует данные, потому что каждое наблюдение в конечном итоге используется как для обучения, так и для тестирования, что ценно, когда меченые данные скудны или дороги для получения.
Исторически перекрестная валидация возникла из необходимости оценки производительности модели без потери данных. Простейший вариант, проверка на отсутствие, отбрасывает фиксированную часть данных для тестирования. Однако задержка может производить оценки с высокой дисперсией, которые в значительной степени зависят от того, какие конкретные образцы приземляются в тестовом наборе. Кросс-валидация смягчает это путем усреднения по нескольким расколам. Методика стала видной в сообществе машинного обучения в 1990-х годах и остается краеугольным камнем оценки модели сегодня. Для деревьев решений перекрестная валидация особенно важна, потому что эти модели имеют высокую дисперсию; они могут резко меняться с небольшими возмущениями в данных обучения. Систематически вращая роли обучения и тестирования по всему набору данных, перекрестная валидация раскрывает эти колебания и предлагает честную картину стабильности модели.
Почему деревья решений склонны к переоборудованию
Переобучение происходит, когда модель слишком хорошо изучает данные обучения, включая его шум и выбросы, за счет захвата общей тенденции. Деревья решений особенно уязвимы для переобучения по нескольким причинам. Во-первых, они могут расти до любой глубины, расщепляя данные до тех пор, пока каждый лист не содержит только одно наблюдение или не является совершенно чистым. Это приводит к модели, которая запоминает набор обучения, но не обобщает. Во-вторых, деревья решений являются иерархическими: после того, как разделение сделано, все последующие решения обусловлены этим выбором. Эта нестабильность является формой высокой дисперсии. В-третьих, без ограничений, таких как максимальная глубина, минимальные образцы на лист или обрезка, деревья решений могут стать бесконечно сложными. Методы обрезки, такие как обрезка с сложностью затрат, помогают уменьшить переобучение, но они требуют тщательной настройки. Перекрёстная валидация обеспечивает прямой способ измерить, насколько хорошо дерево работает на невидимых данных, информируя решения о том, когда прекратить расщепление или где обрезать. Это также служит оградой от чрезмерно оптимистичных оценок производительности, которые возникают, когда модель оценивается на тех же
Рассмотрим дерево решений, обученное на небольшом наборе данных со 100 образцами и многими особенностями. Если дерево вырастет до 50 листьев, каждый лист может содержать только пару образцов. На тренировочном наборе дерево достигнет почти идеальной точности, потому что оно по существу запомнило каждый образец. Тем не менее, когда ему будут представлены новые данные, дерево будет работать плохо, потому что конкретные образцы, которые оно узнало, не являются общими. Кросс-валидация покажет это, показывая высокую дисперсию по складкам - точность от складки до складки будет резко колебаться, и средняя оценка теста будет намного ниже, чем оценка обучения. Это несоответствие является контрольным признаком переобучения. Кросс-валидация, таким образом, действует как система раннего предупреждения, позволяя практикующему упростить модель перед развертыванием.
Роль перекрестной проверки в выборе моделей и настройке гиперпараметров
Помимо простой оценки, перекрестная валидация играет центральную роль в выборе модели и оптимизации гиперпараметров. При построении дерева решений необходимо выбирать гиперпараметры, такие как максимальная глубина, минимальное количество образцов, необходимых для разделения внутреннего узла, и минимальное количество образцов на лист. Эти варианты напрямую контролируют сложность модели и ее тенденцию к переоборудованию. Без перекрестной валидации вы можете выбрать гиперпараметры, которые дают наилучшую производительность обучения, что является рецептом для переобучения. Кросс-валидация позволяет оценивать каждую комбинацию гиперпараметров, вычисляя среднюю производительность по складкам. Набор, который дает самую высокую перекрестную валидацию, с большей вероятностью обобщает хорошо. Этот процесс часто автоматизируется с помощью поиска по сетке или случайного поиска, с перекрестной валидацией в качестве движка оценки.
Кросс-валидация также помогает в сравнении различных моделей, таких как глубокое дерево решений против обрезанного дерева или дерево решений против случайного леса. Оценивая каждую модель с использованием одной и той же процедуры перекрестной валидации, вы получаете сравнение яблок с яблоками, которое учитывает дисперсию. Модель с лучшей перекрестной валидированной производительностью - это та, которую вы должны выбрать для развертывания, предполагая, что метрика оценки соответствует вашей бизнес-цели. Для классификационных деревьев точность, точность, точность, отзыв, показатель F1 или площадь под кривой ROC могут быть оценены через перекрестную валидацию. Для деревьев регрессии распространены средние квадраты ошибок или средние абсолютные ошибки. Кросс-валидация обеспечивает не только точечные оценки, но и доверительные интервалы - глядя на дисперсию по складкам, вы можете оценить, насколько стабильна производительность модели. Модель с низкой дисперсией по складкам более надежна, чем та, которая колеблется дико.
Типы кросс-проверочных методов
Существует несколько методов перекрестной валидации, каждый со своими сильными сторонами и компромиссами. Выбор зависит от размера набора данных, типа проблемы и вычислительного бюджета. Здесь мы рассмотрим наиболее актуальные методы оценки дерева решений.
К-Фолд перекрестная проверка
В k-кратном перекрестном валидировании набор данных случайным образом разбит на k равные по размеру складки.k-1 складки и протестирован на оставшейся складке. раз, при этом каждый складок повторяется ровно один раз в качестве тестового набора.k итоговая метрика производительности — среднее значение k — 5 и 10.Общие значения для k (например, 5) даёт меньший баланс вычислительной стоимости, но более высокий уклон, поскольку обучающий набор меньше, в то время как больший k (например, 10) уменьшает смещения, но увеличивает дисперсию и время вычислений. Для деревьев решений также сообщается стандартное отклонение по складкам, что даёт представление о стабильности модели
Стратифицированная перекрестная проверка K-Fold
Стандартная перекрестная валидация k-кратного разряда может производить складки с несбалансированным распределением классов, особенно когда целевая переменная редка. Если одна складка не имеет образцов из класса меньшинства, производительность модели на этой складке может вводить в заблуждение. Стратифицированная перекрестная валидация k-кратного разряда решает эту проблему, сохраняя процент образцов для каждого класса в каждой складке. Это имеет решающее значение для задач классификации, где присутствует дисбаланс классов, например, обнаружение мошенничества или медицинская диагностика. Деревья решений особенно чувствительны к дисбалансу классов, потому что они, как правило, предпочитают классы большинства. Стратифицированная выборка гарантирует, что каждая складка репрезентативна, что приводит к более надежным оценкам производительности. При оценке деревьев решений на несбалансированных наборах данных, стратифицированная k-кратная должна быть выбором по умолчанию.
Перекрестная валидация (LOOCV)
LOOCV является крайним случаем k-кратного перекрестного валидирования, где k равен количеству образцов в наборе данных. Каждый образец используется как один тестовый набор один раз, в то время как остальные образцы образуют тренировочный набор. LOOCV является вычислительно дорогостоящим, потому что он требует обучения столько моделей, сколько есть образцов. Для деревьев решений, которые относительно быстры для обучения, LOOCV осуществим на малых и средних наборах данных (до нескольких тысяч образцов). Основным преимуществом LOOCV является то, что он обеспечивает почти объективную оценку производительности модели, потому что почти все данные используются для обучения каждый раз. Однако LOOCV также имеет высокую дисперсию, потому что наборы тестов являются единичными точками, и модели очень коррелируют. На практике LOOCV редко используется для деревьев решений, если набор данных не очень мал и каждая точка данных драгоценна. Чаще используется 10-кратное перекрестное валидирование, которое предлагает хороший компромисс.
Повторная перекрестная проверка K-Fold
Повторное перекрестное валидирование k-кратного повторения повторяет процесс k-кратного повторения несколько раз, каждый раз с различными случайными разбиениями данных на складки. Это дополнительно уменьшает дисперсию в оценке производительности. Например, вы можете выполнить 5-кратное перекрестное валидирование, повторенное 3 раза, что приводит к 15 оценкам. Окончательная метрика является средней по всем повторам. Повторное перекрестное валидирование особенно полезно, когда набор данных мал, и вам нужна более надежная оценка производительности модели. Для деревьев решений, которые чувствительны к разбиению данных, повторное перекрестное валидирование может показать, насколько структура дерева изменяется с различными наборами обучения. Недостатком является увеличение времени вычислений, но это часто приемлемо, учитывая улучшенную надежность.
Холдаут Валидация против Кросс-Валидации
Проверка на отсутствие данных, когда данные разбиваются один раз на обучающий набор и тестовый набор (например, 80/20), проще и быстрее, но страдает от высокой дисперсии. Оценка производительности сильно зависит от того, какие образцы приземляются в тестовом наборе. Для деревьев решений один отказ может либо переоценить, либо недооценить истинную производительность, что приводит к плохим модельным решениям. Перекрестная валидация смягчает это путем усреднения по нескольким расколам. Когда набор данных велик (например, сотни тысяч образцов), отказ может быть приемлемым, потому что набор данных достаточно велик, чтобы обеспечить стабильную оценку. Но для небольших и умеренных наборов данных - где чаще всего применяются деревья решений - перекрестная валидация настоятельно рекомендуется. Как правило, если ваш набор данных имеет менее 20 000 образцов, перекрестная валидация должна быть вашим основным методом оценки.
Внедрение перекрестной проверки: практическое руководство
Большинство библиотек машинного обучения обеспечивают встроенную поддержку кросс-валидации. В Python библиотека является стандартом де-факто для моделей дерева решений. Функция автоматизирует процесс расщепления, обучения и подсчета баллов. Вы предоставляете модель (например, ), данные, цель и количество сгибов, и она возвращает массив баллов. Например, выполняет 5-кратную кросс-валидацию с использованием метрики оценки по умолчанию (точность для классификации). Вы также можете указать пользовательский скоринг, такой как для несбалансированных наборов данных. Кроме того, может возвращать несколько метрик и время обучения. Для настройки гиперпараметров и комбинируют кросс-валидацию с поиском параметров, автоматически находя лучшие гиперпараметры на основе кросс-валидированной производительности.
При реализации перекрестной валидации для деревьев решений обратите внимание на предварительную обработку данных. Любые преобразования, которые изучают параметры из данных, такие как масштабирование или кодирование, должны выполняться в каждой тренировочной складке, чтобы избежать утечки данных. Для деревьев решений масштабирование обычно не требуется, потому что деревья инвариантны к монотонным преобразованиям, но одногорячее кодирование категориальных переменных должно выполняться последовательно через складки. Используйте в scikit-learn для цепной предварительной обработки этапов с моделью и подавайте конвейер в . Это гарантирует, что обучающие данные каждой складки используются для соответствия этапов предварительной обработки, и тестовая складка трансформируется соответственно. Для данных временных рядов стандартная перекрестная валидация может утечка информации из будущего в прошлое, поэтому вместо этого следует использовать временные методы перекрестной валидации, такие как прямое связывание или разделение временных рядов.
Общие подводные камни и лучшие практики
В то время как перекрестная валидация является мощным инструментом, ее необходимо применять правильно. Одна распространенная ошибка заключается в использовании перекрестной валидации для выбора признаков перед оценкой модели. Если вы выбираете функции на основе всего набора данных, вы упускаете информацию из тестового набора, что приводит к чрезмерно оптимистичной производительности. Выбор признаков должен выполняться в рамках цикла перекрестной валидации, используя только данные обучения из каждой сгибки. Другая ошибка - игнорирование дисперсии баллов перекрестной валидации. Сообщение только о среднем балле может скрыть нестабильность. Всегда сообщайте о стандартном отклонении и учитывайте распределение баллов. Если оценки широко варьируются по складкам, модель может быть ненадежной. Для деревьев решений высокая дисперсия по складкам часто указывает на то, что дерево нестабильно и может извлечь выгоду из методов обрезки или ансамбля, таких как случайные леса.
Выбор значения k также важен. Для большинства наборов данных k=5k=10 работает хорошо. С очень большими наборами данных вы можете использовать k=3 для уменьшения вычислений. Для очень маленьких наборов данных рассмотрите LOOCV или повторные k-кратные. Убедитесь, что складки случайным образом перетасовываются перед расщеплением, особенно если данные упорядочены по времени или имеют некоторую систематическую структуру. Класс Scikit-learn не перетасовывается по умолчанию; используйте для рандомизации. Для классификации всегда используйте вместо . Эта простая практика может предотвратить предвзятые оценки, когда классы несбалансированы.
Еще одна лучшая практика заключается в использовании перекрестной валидации для сравнения моделей со статистическим тестированием значимости. Даже если модель А имеет более высокий средний перекрестный валидированный балл, чем модель В, разница может быть обусловлена случайностью. Используйте исправленный повторный выборочный t-тест или тест с подписью Wilcoxon, чтобы определить, является ли разница значительной. Эти тесты учитывают зависимости между складками. Для деревьев решений, которые быстро тренируются, вы можете выполнять перекрестную валидацию несколько раз и вычислять попарные различия.
Наконец, помните, что перекрестная валидация не является панацеей. Она оценивает производительность на данных, полученных из того же распределения, что и данные обучения. Если данные развертывания из другого распределения (сдвиг распределения), перекрестная валидация не покажет этого. В таких случаях вам нужна дополнительная валидация на данных, которые представляют целевой домен. Кросс-валидация также не говорит вам, почему модель не работает; она дает только числовую оценку. Совместите ее с диагностическими инструментами, такими как кривые обучения, кривые валидации и матрицы путаницы, чтобы получить более глубокое понимание.
Перекрестная проверка в контексте древовидных ансамблей решений
Деревья решений часто используются в качестве базовых учащихся в ансамблевых методах, таких как случайные леса и повышение градиента. В то время как ансамбли уменьшают переобучение по сравнению с одним деревом, перекрестная валидация остается важной для настройки гиперпараметров ансамбля (число деревьев, максимальная глубина, скорость обучения и т. Д. Для случайных лесов перекрестная валидация помогает определить оптимальное количество признаков, рассматриваемых при каждом расколе (]. Для повышения градиента используется перекрестная валидация для определения скорости обучения и количества оценщиков, чтобы избежать переобучения. Даже с ансамблями перекрестная валидация обеспечивает объективную оценку того, как будет работать окончательная модель. Она также полезна для сравнения различных типов ансамбля: дерево решений, случайный лес и дерево с повышением градиента могут быть оценены на одних и тех же кросс-валидациях, чтобы определить лучший подход для данных данных.
Заключение
Кросс-валидация является незаменимым инструментом в оценке моделей деревьев решений. Его способность обеспечивать надежную, низковариантную оценку производительности модели помогает обнаруживать переобучение, направляет настройку гиперпараметров и поддерживает информированный выбор моделей. Независимо от того, используете ли вы 5-кратную, стратифицированную k-кратную или повторную перекрестную валидацию, принцип остается тем же: тестируйте свою модель на нескольких подмножествах данных, чтобы понять ее истинную способность к обобщению. Деревья решений с их высокой дисперсией и восприимчивостью к шуму данных, извлекают огромную выгоду из этой строгой оценки. Включая перекрестную валидацию в рабочий процесс машинного обучения, вы снижаете риск развертывания модели, которая терпит неудачу в производстве, экономя время, ресурсы и доверие. Для дальнейшего чтения методологий перекрестной валидации и передовой практики, обратитесь к статье в Википедии о перекрестной валидации [[FLT: 1]], [[FLT: 2]] Википедия о перекрестной валидации [[FLT: 3]