Overfitting
Khám phá nguyên nhân và triệu chứng của hiện tượng overfitting trong machine learning. Tìm hiểu cách ngăn chặn phương sai cao và cải thiện tính tổng quát bằng Ultralytics YOLO26.
Overfitting xảy ra trong machine learning khi một model học dữ liệu huấn luyện quá mức, nắm bắt cả nhiễu và các biến động ngẫu nhiên thay vì phân phối dữ liệu cốt lõi. Thay vì học các quy luật tổng quát áp dụng cho dữ liệu mới, chưa từng thấy, một model bị overfitting thực chất sẽ ghi nhớ các ví dụ cụ thể trong tập huấn luyện. Điều này dẫn đến hiệu suất tuyệt vời trên dữ liệu huấn luyện nhưng khả năng tổng quát hóa kém trong các tình huống thực tế. Hiện tượng này thường được mô tả là "high variance," nghĩa là các dự đoán của model thay đổi đáng kể tùy thuộc vào tập dữ liệu cụ thể được sử dụng để huấn luyện.
Link to this sectionTại sao Overfitting xảy ra#
Nguyên nhân chính của overfitting là độ phức tạp của model quá mức so với lượng dữ liệu sẵn có. Nếu một neural network quá lớn—nghĩa là nó có quá nhiều lớp hoặc tham số—nó có thể dễ dàng ghi nhớ các ví dụ huấn luyện. Các yếu tố đóng góp khác bao gồm:
- Dữ liệu huấn luyện không đủ: Các tập dữ liệu nhỏ có thể chứa các tương quan sai lệch không tồn tại trong tổng thể rộng hơn. Các model được huấn luyện trên dữ liệu hạn chế thường có xu hướng học các quy luật ngẫu nhiên này.
- Nhiễu dữ liệu và ngoại lệ: Mức độ nhiễu cao hoặc các giá trị ngoại lệ không đại diện trong training data có thể làm sai lệch model, khiến nó điều chỉnh các tham số nội bộ để khớp với các điểm bất thường thay vì tín hiệu thực sự.
- Thời gian huấn luyện kéo dài: Huấn luyện quá nhiều epochs cho phép model tiếp tục tinh chỉnh các trọng số cho đến khi nó khớp với cả phần nhiễu trong tập huấn luyện. Điều này thường được giám sát bằng cách sử dụng validation data.
Link to this sectionOverfitting so với Underfitting#
Điều quan trọng là phải phân biệt overfitting với underfitting. Trong khi overfitting liên quan đến việc học quá nhiều chi tiết (bao gồm cả nhiễu), underfitting xảy ra khi một model quá đơn giản để nắm bắt cấu trúc cốt lõi của dữ liệu. Một model bị underfitted hoạt động kém trên cả dữ liệu huấn luyện và dữ liệu mới, thường dẫn đến high bias. Việc cân bằng hai thái cực này được gọi là bias-variance tradeoff.
Link to this sectionNgăn chặn Overfitting#
Các kỹ sư sử dụng một số kỹ thuật để giảm thiểu overfitting và cải thiện độ ổn định của model:
- Regularization: Các kỹ thuật như regularization L1/L2 hoặc thêm dropout layers đưa vào các hình phạt hoặc tính ngẫu nhiên trong quá trình huấn luyện, ngăn cản model trở nên quá phụ thuộc vào các tính năng cụ thể.
- Early Stopping: Việc giám sát loss function trên một tập validation cho phép dừng quá trình huấn luyện khi hiệu suất trên dữ liệu chưa thấy không còn cải thiện, ngay cả khi độ chính xác trong huấn luyện vẫn tiếp tục tăng.
- Data Augmentation: Việc tăng quy mô và sự đa dạng của tập huấn luyện một cách nhân tạo bằng cách sử dụng data augmentation khiến model khó ghi nhớ chính xác từng hình ảnh hơn.
- Cross-Validation: Sử dụng các kỹ thuật như k-fold cross-validation đảm bảo model được kiểm tra trên các tập con dữ liệu khác nhau, cung cấp ước tính tin cậy hơn về hiệu suất của nó.
Link to this sectionVí dụ thực tế#
Overfitting có thể gây ra những hậu quả nghiêm trọng khi triển khai AI trong môi trường production:
- Chẩn đoán y tế: Trong AI in healthcare, một model được huấn luyện để phát hiện ung thư da có thể bị overfit với các điều kiện ánh sáng hoặc dấu thước kẻ có trong hình ảnh huấn luyện. Khi triển khai tại một phòng khám với ánh sáng hoặc thiết bị khác, model có thể không xác định đúng các tổn thương ác tính vì nó đã dựa vào các tín hiệu nền không liên quan.
- Dự báo tài chính: Một model dự đoán giá cổ phiếu có thể overfit với các xu hướng thị trường lịch sử vốn bị thúc đẩy bởi một sự kiện cụ thể, không lặp lại (như một cuộc khủng hoảng kinh tế xảy ra một lần). Một model như vậy có khả năng không dự đoán chính xác các chuyển động cổ phiếu trong tương lai vì nó đã ghi nhớ các điểm bất thường trong quá khứ thay vì học các động lực thị trường cơ bản.
Link to this sectionVí dụ về mã: Early Stopping với YOLO26#
Sử dụng Ultralytics Platform hoặc các tập lệnh huấn luyện cục bộ, bạn có thể ngăn chặn overfitting bằng cách thiết lập độ kiên nhẫn (patience) cho early stopping. Điều này sẽ dừng huấn luyện nếu độ phù hợp của quá trình validation không cải thiện trong một số lượng epochs nhất định.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Train with early stopping enabled (patience=50 epochs)
# If validation metrics don't improve for 50 epochs, training stops.
results = model.train(data="coco8.yaml", epochs=100, patience=50)Link to this sectionCác khái niệm liên quan#
- Generalization: Khả năng của một model trong việc thích ứng và hoạt động tốt trên dữ liệu mới, chưa từng thấy trước đây, đây là khái niệm đối lập với overfitting.
- Cross-Validation: Một kỹ thuật dùng để đánh giá cách các kết quả của phân tích thống kê sẽ generalize như thế nào trên một tập dữ liệu độc lập.
- Regularization: Các phương pháp được sử dụng để giảm sai số bằng cách khớp hàm một cách thích hợp trên tập huấn luyện đã cho và tránh tình trạng overfitting.






