Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Перекрестная проверка (Кросс-валидация)

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

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

Как работает перекрестная проверка по методу K-Fold

Наиболее распространенной разновидностью этой техники является K-Fold Cross-Validation. В этом методе весь набор данных делится на k равных по размеру сегментов или "складок". Затем процесс обучения и оценки повторяется k раз. Во время каждой итерации определенная складка используется в качестве валидные данные для тестирования, а остальные k-1 складок используются для обучения.

  1. Разбиение на группы: Набор данных случайным образом перемешивается и разбивается на k групп.
  2. Итерация: Для каждой уникальной группы модель обучается с нуля, используя другие группы.
  3. Оценка: Производительность модели проверяется в сравнении с группой удержания, используя такие показатели, как точность или Средняя точность (mAP).
  4. Агрегация: Оценки всех k циклов усредняются, чтобы получить единую, надежную оценку производительности.

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

Отличие перекрестного валидирования от валидационных наборов

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

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

from ultralytics import YOLO

# Example: Iterating through pre-prepared K-Fold dataset YAML files
# A fresh model is initialized for each fold to ensure independence
yaml_files = ["fold1.yaml", "fold2.yaml", "fold3.yaml", "fold4.yaml", "fold5.yaml"]

for k, yaml_path in enumerate(yaml_files):
    model = YOLO("yolo11n.pt")  # Load a fresh YOLO11 model
    results = model.train(data=yaml_path, epochs=50, project="kfold_demo", name=f"fold_{k}")

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

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

Стратегические преимущества при разработке моделей

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

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

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас