Quá mức với phân loại tuyến tính


10

Hôm nay giáo sư của chúng tôi đã tuyên bố trong lớp rằng "quá mức với các phân loại tuyến tính là không thể". Tôi cho rằng đó là sai, vì ngay cả các trình phân loại tuyến tính cũng có thể nhạy cảm với các ngoại lệ trong tập huấn luyện - ví dụ như một máy vectơ cứng Hỗ trợ: Một biểu dữ liệu nhiễu có thể thay đổi siêu phẳng nào sẽ được sử dụng để tách các bộ dữ liệu. Hoặc là tôi sai? Rõ ràng, tính tuyến tính có thể sẽ ngăn không cho quá mức do độ phức tạp của mô hình thấp hơn, nhưng tôi vẫn không hiểu tại sao quá mức nên là không thể. Một điểm nữa là khi tôi cố gắng nghĩ về vấn đề này, tôi nhận ra rằng "quá mức" dường như không được định nghĩa chính thức. Tại sao vậy? 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 ơn


4
Tại sao bạn nói phân loại tuyến tính? Hầu hết các mô hình tuyến tính là để dự đoán, không phân loại. Và bạn đã đúng - các mô hình tuyến tính có thể rất dễ bị thừa. Không nhiều như các phương pháp học máy, nhưng vẫn quá mức có thể là một vấn đề.
Frank Harrell

5
Nó rất dễ dàng để phù hợp với phân loại tuyến tính. Chỉ cần điều chỉnh mô hình cho một số tập dữ liệu (ồn ào, thế giới thực) và không sử dụng bất kỳ quy tắc thông thường nào.
Vladislavs Dovgalecs

2
Coi chừng phân loại - thường không cần đặt tầm nhìn của bạn thấp.
Frank Harrell

2
@FrankHarrell ... và tại sao?
Pugl

1
Có, nếu ban đầu là nhị phân. Nếu ban đầu liên tục thì phân loại thậm chí còn có vấn đề hơn. YY
Frank Harrell

Câu trả lời:


12

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 yvà 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)

nhập mô tả hình ảnh ở đây

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 == 1y == 015

"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 .


wow, thật là một câu trả lời tốt, cảm ơn nhiều. một câu hỏi: các SVM tuyến tính ít có xu hướng quá mức hơn so với log. hồi quy bạn đã đề cập (do các cách tối ưu hóa khác nhau cho ranh giới quyết định tuyến tính)?
Pugl

1
Tôi phải thừa nhận, tôi không phải là chuyên gia về SVM và thiếu kinh nghiệm thực tế trong việc sử dụng chúng. Tôi không thực sự muốn mạo hiểm trả lời và có nguy cơ rất sai. Nếu bạn có thể xây dựng nó một cách chính xác, nó có thể là một câu hỏi của riêng nó.
Matthew Drury

Các SVM được thường xuyên hóa, và do đó ít có xu hướng quá phù hợp. Để nhận ra rằng bạn chỉ cần nhìn vào hàm bạn đang giảm thiểu: nó bao gồm định mức l1 hoặc định mức l2 của các trọng số, thu nhỏ chúng trong tối ưu hóa và do đó thích các mô hình "đơn giản" hơn các mô hình "phức tạp". Tham số điều khiển đây là tham số siêu C. Trong trường hợp giới hạn (C = vô cực), SVM phù hợp "hoàn hảo" với tập huấn luyện và do đó có lẽ nó quá phù hợp (lưu ý rằng tôi có thể nói, bạn cần một bộ kiểm tra để chắc chắn!). Cũng lưu ý rằng tôi đã sử dụng rất nhiều trích dẫn, nhưng điều này có thể được xác định đúng.
skd

2

Trong 70 mối quan hệ, các thử nghiệm với thuật toán nhận dạng mẫu trên các bộ dữ liệu lớn đã tiết lộ rằng việc thêm các tính năng bổ sung đã làm trong một số trường hợp làm tăng tỷ lệ lỗi của bộ kiểm tra. Đây là phản ứng trực quan vì người ta mong đợi rằng việc thêm một tính năng bổ sung luôn làm tăng hiệu suất của trình phân loại hoặc trong trường hợp tính năng được thêm là 'nhiễu trắng', việc bổ sung của nó hoàn toàn không ảnh hưởng đến hiệu suất phân loại. Hiệu quả của việc thêm các tính năng bổ sung vào phân loại, cuối cùng dẫn đến giảm hiệu suất của bộ kiểm tra được gọi là hiện tượng cực đại [1].

Đỉnh cao tính năng được gây ra bởi quá mức khái quát trong quá trình học. Các tính năng bổ sung gây ra bao gồm rất nhiều tham số bổ sung mà bộ phân loại bắt đầu phù hợp với dữ liệu. Do đó, điểm đạt đỉnh được thông qua.

Nói chung, chúng ta phải đối mặt với sự đánh đổi sai lệch khi đào tạo các nhà phân loại. Chúng ta càng sử dụng nhiều biến tính năng, cơ chế phân loại cơ bản ( chưa biết ) càng tốt có thể được mô hình hóa bởi trình phân loại của chúng ta. Do đó, độ lệch hệ thống giữa mô hình được trang bị và 'sự thật' sẽ giảm đi, tức là kết quả sai lệch nhỏ hơn. Mặt khác, việc tăng không gian tính năng của trình phân loại nhất thiết phải bao gồm việc thêm các tham số (những tham số phù hợp với các tính năng được thêm vào). Do đó, phương sai của phân loại được trang bị cũng tăng.

Vì vậy, bộ phân loại thực hiện điểm cực đại chỉ là một nhận thức ngẫu nhiên của một vấn đề phân loại chiều cao, và sự phù hợp mới sẽ dẫn đến một vectơ tham số rất khác nhau. Thực tế này phản ánh phương sai gia tăng.

[1. GV Trunk, "Một vấn đề về chiều: Một ví dụ đơn giản", trong các giao dịch của IEEE về phân tích mẫu và trí thông minh của máy, tập. PAMI-1, không. 3, trang 306-307, tháng 7 năm 1979]


1

Tôi nghĩ rằng quá mức đề cập đến sự phức tạp của mô hình hơn là khả năng khái quát hóa. Tôi hiểu câu trích dẫn "phân loại tuyến tính không thể bị quá mức" vì độ phức tạp của nó là nhỏ và không có phân loại đơn giản nào khác cung cấp hiệu suất tốt hơn.

Ví dụ này được liên kết với khả năng khái quát hóa của các phân loại tuyến tính (và những cái phức tạp). Ngay cả trong phần thứ hai này, các phân loại tuyến tính thường cung cấp ít phương sai hơn các phân loại phức tạp, do đó giá trị "quá mức" cho các phân loại tuyến tính, theo khái niệm này, cũng nhỏ hơn (mặc dù rủi ro thực nghiệm của chúng có thể rất lớn). atb


0

Giống như @ match-Maker-ee đã nói, phân loại tuyến tính có thể quá phù hợp tùy thuộc vào các tính năng đầu vào.

Mô hình f sau đây là tuyến tính trong các tham số a , bc , nhưng có thể được khớp với một đường cong bậc hai trong không gian đặc trưng của x :

f(x)= =mộtx2+bx+c

Các SVM cũng có thể quá phù hợp, ví dụ như khi họ sử dụng thủ thuật kernel, mặc dù về cơ bản là một mô hình tuyến tính trong một không gian tính năng tăng cường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.