Một hồi quy tuyến tính / phân loại hoàn toàn có thể được overfit nếu được sử dụng mà không được chăm sóc đúng cách.
Đây là một ví dụ nhỏ. Hãy tạo hai vectơ, đầu tiên chỉ đơn giản là lần lật đồng xu ngẫu nhiên:5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
Vectơ thứ hai là quan sát, mỗi quan sát được gán ngẫu nhiên cho một trong lớp ngẫu nhiên:5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
Không nên có mối quan hệ giữa các lần lật y
và các lớp ngẫu nhiên của chúng tôi rand.class
, chúng được xác định hoàn toàn độc lập.
Tuy nhiên, nếu chúng ta cố gắng dự đoán sự lật ngẫu nhiên với lớp ngẫu nhiên bằng cách sử dụng hồi quy logistic (một trình phân loại tuyến tính), thì chắc chắn nghĩ rằng có một mối quan hệ
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
Giá trị thực của mỗi một trong các hệ số này bằng không. Nhưng như bạn có thể thấy, chúng tôi có một sự lây lan. Phân loại tuyến tính này là chắc chắn overfit.
Lưu ý: Các cực trị trong biểu đồ này, trong đó các hệ số đã di chuyển đến và , là trường hợp một lớp không có quan sát nào có hoặc không có giá trị với . Các giá trị ước tính thực tế cho các hệ số này là cộng và trừ vô hạn, nhưng thuật toán hồi quy logistic được mã hóa cứng với giới hạn .- 1515y == 1
y == 0
15
"Quá mức" dường như không được xác định chính thức. Tại sao vậy?
Quá mức có thể được hiểu rõ nhất trong bối cảnh của một lớp các mô hình có một số tham số phức tạp. Trong trường hợp này, một mô hình có thể được cho là quá phù hợp khi giảm độ phức tạp một chút dẫn đến hiệu suất mẫu được mong đợi tốt hơn.
Sẽ rất khó để xác định chính xác khái niệm theo cách độc lập mô hình. Một mô hình duy nhất là phù hợp, bạn cần một cái gì đó để so sánh nó với nó là hơn hoặc dưới phù hợp. Trong ví dụ của tôi ở trên sự so sánh này là với sự thật, nhưng bạn thường không biết sự thật, do đó là mô hình!
Sẽ không có một số đo khoảng cách giữa hiệu suất tập huấn luyện và kiểm tra cho phép chính thức hóa như vậy?
Có một khái niệm như vậy, nó được gọi là sự lạc quan. Nó được định nghĩa bởi:
ω = Ekiểm tra- Exe lửa
trong đó là viết tắt của lỗi và mỗi thuật ngữ được tính trung bình trên tất cả các bộ kiểm tra và huấn luyện có thể có cho thuật toán học tập của bạn.E
Mặc dù vậy, nó không hoàn toàn có được bản chất của việc quá mức, bởi vì hiệu suất trên bộ thử nghiệm có thể kém hơn một chút so với tàu, mặc dù một mô hình có độ phức tạp cao hơn làm giảm cả hai .