Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Cross-Validation

Explore cross-validation to prevent overfitting and boost model reliability. Learn how to implement K-Fold splits with YOLO26 to ensure your AI generalizes well.

Kiểm định chéo là một quy trình lấy mẫu lại thống kê mạnh mẽ được sử dụng để đánh giá hiệu suất của các mô hình học máy (ML) trên một mẫu dữ liệu hạn chế. Không giống như phương pháp giữ lại tiêu chuẩn, chia dữ liệu thành một tập huấn luyện và một tập kiểm tra duy nhất, kiểm định chéo liên quan đến việc phân vùng tập dữ liệu thành nhiều tập con để đảm bảo rằng mọi điểm dữ liệu đều được sử dụng cho cả huấn luyện và xác thực. Kỹ thuật này rất quan trọng để đánh giá xem kết quả của một phân tích thống kê sẽ khái quát hóa như thế nào đối với một tập dữ liệu độc lập, giúp detect Hiện tượng quá khớp (overfitting) xảy ra khi mô hình ghi nhớ các ví dụ huấn luyện thay vì học các mẫu có thể khái quát hóa.

Cơ chế của phương pháp kiểm định chéo K-fold

Biến thể được sử dụng rộng rãi nhất của kỹ thuật này là Kiểm định chéo K-Fold . Trong quy trình này, toàn bộ tập dữ liệu được chia ngẫu nhiên thành k nhóm có kích thước bằng nhau, hay còn gọi là "fold". Quá trình huấn luyện sau đó được lặp lại k lần. Trong mỗi lần lặp, một fold đóng vai trò là dữ liệu kiểm định để kiểm tra mô hình, trong khi k-1 fold còn lại được sử dụng làm dữ liệu huấn luyện .

Chỉ số hiệu suất cuối cùng thường được tính bằng cách lấy trung bình các điểm số — chẳng hạn như độ chính xác , độ chuẩn xác hoặc Độ chính xác trung bình ( mAP ) — thu được từ mỗi vòng lặp. Cách tiếp cận này làm giảm đáng kể phương sai liên quan đến một lần thử nghiệm duy nhất của việc chia tập dữ liệu huấn luyện và kiểm tra, cung cấp ước tính đáng tin cậy hơn về lỗi tổng quát hóa . Nó đảm bảo rằng việc đánh giá không bị thiên vị bởi việc lựa chọn dữ liệu kiểm tra một cách tùy ý.

Thực hiện với Ultralytics

Kiểm định chéo đặc biệt hữu ích khi làm việc với các tập dữ liệu nhỏ hoặc khi thực hiện tinh chỉnh siêu tham số nghiêm ngặt. Mặc dù các framework học sâu hiện đại như PyTorch giúp đơn giản hóa vòng lặp huấn luyện, việc quản lý các fold đòi hỏi sự chuẩn bị dữ liệu cẩn thận.

Ví dụ sau đây minh họa cách lặp qua các tệp cấu hình YAML được tạo sẵn cho một thí nghiệm kiểm định chéo 5 lần sử dụng mô hình YOLO26 . Giả sử bạn đã chia tập dữ liệu của mình thành năm tệp cấu hình riêng biệt.

from ultralytics import YOLO

# List of dataset configuration files representing 5 folds
fold_yamls = [f"dataset_fold_{i}.yaml" for i in range(5)]

for i, yaml_file in enumerate(fold_yamls):
    # Load a fresh YOLO26 Nano model for each fold
    model = YOLO("yolo26n.pt")

    # Train the model, saving results to a unique project directory
    results = model.train(data=yaml_file, epochs=20, project="cv_experiment", name=f"fold_{i}")

Để tìm hiểu sâu hơn về việc tự động tạo phân nhóm, hãy tham khảo hướng dẫn về Kiểm định chéo K-Fold .

Các Ứng dụng Thực tế

Kiểm tra chéo là không thể thiếu trong các ngành công nghiệp nơi dữ liệu khan hiếm, chi phí thu thập cao hoặc nơi yêu cầu độ tin cậy quan trọng đối với an toàn.

  • Chẩn đoán y khoa: Trong phân tích hình ảnh y khoa , tập dữ liệu về các bệnh hiếm gặp thường nhỏ. Một lần phân chia dữ liệu để kiểm chứng có thể vô tình loại trừ các trường hợp khó hoặc các bệnh lý hiếm gặp. Bằng cách sử dụng phương pháp kiểm chứng chéo, các nhà nghiên cứu phát triển trí tuệ nhân tạo trong lĩnh vực chăm sóc sức khỏe đảm bảo rằng các mô hình chẩn đoán của họ được kiểm tra trên mọi hình ảnh quét của bệnh nhân có sẵn, xác nhận rằng hệ thống hoạt động hiệu quả trên nhiều nhóm đối tượng và loại thiết bị khác nhau.
  • Nông nghiệp chính xác: Điều kiện môi trường ngoài trời thay đổi rất nhiều. Một mô hình được huấn luyện để phát hiện bệnh cây trồng có thể hoạt động tốt vào những ngày nắng nhưng lại thất bại dưới trời nhiều mây nếu chỉ sử dụng những hình ảnh đó trong tập dữ liệu huấn luyện. Kiểm định chéo đảm bảo mô hình có khả năng chống chịu tốt với những biến đổi như vậy, giúp nông dân dựa vào các công cụ học máy tự động (AutoML) để giám sát nhất quán bất kể điều kiện thời tiết.

Lợi thế chiến lược trong phát triển mô hình

Việc tích hợp kiểm định chéo vào vòng đời phát triển AI cung cấp những hiểu biết quan trọng về sự đánh đổi giữa độ lệch và phương sai .

  1. Đánh giá tính ổn định: Nếu các chỉ số hiệu suất thay đổi đáng kể giữa các lần phân chia dữ liệu, điều đó cho thấy mô hình rất nhạy cảm với các điểm dữ liệu cụ thể được sử dụng để huấn luyện, cho thấy độ biến thiên cao.
  2. Hiệu quả dữ liệu: Phương pháp này tối đa hóa việc sử dụng dữ liệu hạn chế, vì mọi quan sát cuối cùng đều được sử dụng cho cả quá trình huấn luyện và kiểm chứng.
  3. Tối ưu hóa siêu tham số: Phương pháp này cung cấp một tiêu chuẩn đáng tin cậy để lựa chọn tốc độ học , kích thước lô hoặc chiến lược tăng cường dữ liệu tốt nhất mà không cần "xem trước" tập dữ liệu kiểm thử cuối cùng.

Phân biệt các khái niệm liên quan

Điều quan trọng là phải phân biệt phương pháp kiểm định chéo với các thuật ngữ đánh giá khác:

  • So sánh với phương pháp kiểm định giữ lại (Hold-out Validation): Phương pháp giữ lại chỉ sử dụng một lần chia dữ liệu (ví dụ: 80/20). Mặc dù nhanh hơn và phù hợp với các tập dữ liệu khổng lồ như ImageNet , nhưng nó kém mạnh mẽ hơn về mặt thống kê so với phương pháp kiểm định chéo đối với các tập dữ liệu nhỏ hơn.
  • So sánh với phương pháp Bootstrap: Phương pháp Bootstrap liên quan đến việc lấy mẫu ngẫu nhiên có hoàn trả, trong khi phương pháp kiểm định chéo K-Fold phân chia dữ liệu mà không hoàn trả (mỗi mẫu nằm trong đúng một fold).

Việc quản lý các thành phần, số liệu và mô hình từ nhiều fold khác nhau có thể rất phức tạp. Nền tảng Ultralytics đơn giản hóa điều này bằng cách cung cấp tính năng theo dõi thử nghiệm tập trung, cho phép các nhóm so sánh hiệu suất giữa các fold khác nhau và trực quan hóa thông tin chi tiết về đánh giá mô hình một cách dễ dàng.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay