Глоссарий

Кросс-валидация

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Как работает кросс-валидация

Наиболее широко используемый метод - K-Fold Cross-Validation. Этот процесс включает в себя следующие шаги:

  1. Перемешивание и разделение: Весь набор данных случайным образом перемешивается и делится на "K" одинаковых по размеру складок (подмножеств).
  2. Итеративное обучение и проверка: Модель обучается K раз. В каждой итерации 'i' (от 1 до K):
  3. Агрегирование производительности: Метрика производительности, зафиксированная в каждой из K итераций, усредняется, чтобы получить единую, более надежную оценку способности модели к обобщению.

Многие популярные ML-библиотеки, например Scikit-learn, предлагают эффективные реализации различных стратегий кросс-валидации, включая Stratified K-Fold (необходима для несбалансированных наборов данных) и Leave-One-Out CV.

Зачем использовать кросс-валидацию?

Кросс-валидация - краеугольный камень надежной оценки моделей по нескольким ключевым причинам:

  • Более надежные оценки производительности: Усредняя результаты по нескольким валидным наборам, CV уменьшает дисперсию, связанную с единственным разделением тренировок и тестов, давая более стабильную оценку того, как модель может работать на практике. Это способствует воспроизводимости результатов в исследованиях.
  • Эффективное использование данных: Он позволяет лучше использовать ограниченные наборы данных, так как каждая точка данных служит как обучающими, так и проверочными данными для разных складок. Это особенно полезно, когда сбор данных стоит дорого или затруднен.
  • Обнаружение избыточной/недостаточной подгонки: Он помогает выявить слишком сложные (overfitting) или слишком простые(underfitting) модели, обнаруживая несоответствие между результатами обучения и средними показателями проверки.
  • Надежная настройка гиперпараметров: CV обеспечивает более надежную основу для выбора оптимальных гиперпараметров. Различные наборы гиперпараметров можно оценивать на основе их средней кросс-валидированной производительности, что приведет к созданию моделей с лучшей обобщенностью. Ultralytics предлагает инструменты для настройки гиперпараметров, которые могут включать в себя принципы CV.

Кросс-валидация против простого разделения тренировки и валидации

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

Кросс-валидация решает эту проблему, систематически используя для проверки разные подмножества, гарантируя, что каждая точка данных участвует в процессе оценки ровно один раз. Это позволяет получить более стабильную и достоверную оценку робастности модели. Важно отметить, что для окончательной оценки выбранной модели все равно следует использовать финальный тестовый набор данных, который не был замечен ни во время обучения, ни во время настройки на основе CV. Ultralytics предоставляет подробное руководство по реализации K-Fold Cross Validation с помощью Ultralytics YOLO.

Применение в реальном мире

Кросс-валидация незаменима при создании надежных систем ИИ в различных областях:

  1. Анализ медицинских изображений: При разработке конволюционной нейронной сети (CNN) для анализа медицинских изображений, например, для обнаружения опухолей на снимках мозга с помощью таких наборов данных, как Brain Tumor dataset, CV используется для строгой оценки диагностической точности и обобщения модели на различных данных о пациентах, прежде чем рассматривать возможность клинических испытаний или добиваться одобрения регулирующих органов (например, FDA).
  2. Автономные транспортные средства: Для обнаружения объектов используются такие модели, как Ultralytics YOLO используемых в автономных автомобилях, CV помогает обеспечить надежную работу по обнаружению пешеходов, велосипедистов и других транспортных средств в различных условиях окружающей среды (освещение, погода, типы дорог), часто встречающихся в сложных наборах данных, таких как Argoverse. Такая надежная оценка, часто измеряемая такими метриками, как средняя точность (mAP), очень важна перед внедрением модели в критически важные для безопасности системы, например в решения AI in Automotive.

Среди других применений - оценка моделей для сегментации изображений, задач обработки естественного языка (NLP), таких как анализ настроения, и оценка рисков в финансовом моделировании. Платформы вроде Ultralytics HUB часто интегрируют или облегчают такие методы оценки, чтобы упростить жизненный цикл разработки.

Читать полностью