SVM, Quá mức, lời nguyền của chiều


37

Tập dữ liệu của tôi nhỏ (120 mẫu), tuy nhiên số lượng tính năng lớn thay đổi từ (1000-200.000). Mặc dù tôi đang thực hiện lựa chọn tính năng để chọn một tập hợp con các tính năng, nhưng nó vẫn có thể quá phù hợp.

Câu hỏi đầu tiên của tôi là, làm thế nào để SVM xử lý quá mức, nếu có.

Thứ hai, khi tôi nghiên cứu thêm về việc quá mức trong trường hợp phân loại, tôi đã đi đến kết luận rằng ngay cả các bộ dữ liệu với số lượng nhỏ các tính năng cũng có thể phù hợp. Nếu chúng ta không có các tính năng tương quan với nhãn lớp, thì quá mức sẽ xảy ra. Vì vậy, bây giờ tôi đang tự hỏi điểm phân loại tự động là gì nếu chúng ta không thể tìm thấy các tính năng phù hợp cho nhãn lớp. Trong trường hợp phân loại tài liệu, điều này có nghĩa là tự tạo ra một từ điển liên quan đến các nhãn liên quan đến nhãn, rất tốn thời gian. Tôi đoán những gì tôi đang cố gắng nói là, nếu không chọn thủ công các tính năng phù hợp thì rất khó để xây dựng một mô hình tổng quát?

Ngoài ra, nếu kết quả thử nghiệm không cho thấy kết quả thấp / không quá mức thì nó trở nên vô nghĩa. Có cách nào để đo lường nó?

Câu trả lời:


41

Trong thực tế, lý do mà các SVM có xu hướng chống lại sự phù hợp quá mức, ngay cả trong trường hợp số lượng thuộc tính lớn hơn số lượng quan sát, là nó sử dụng chính quy. Chìa khóa để tránh sự phù hợp quá mức nằm ở việc điều chỉnh cẩn thận tham số chính quy, và trong trường hợp các SVM phi tuyến tính, lựa chọn cẩn thận kernel và điều chỉnh các tham số kernel.C

C

GC Cawley và NLC Talbot, Ngăn chặn sự phù hợp quá mức trong việc lựa chọn mô hình thông qua việc chuẩn hóa siêu tham số Bayes, Tạp chí Nghiên cứu Máy học, tập 8, trang 841-861, tháng 4 năm 2007 ( www )

GC Cawley và NLC Talbot, Quá phù hợp trong lựa chọn mô hình và sai lệch lựa chọn tiếp theo trong đánh giá hiệu suất, Tạp chí Nghiên cứu Máy học, 2010. Nghiên cứu, tập. 11, trang 2079-2107, tháng 7 năm 2010 ( www )

Cả hai bài viết này đều sử dụng hồi quy sườn hạt nhân, thay vì SVM, nhưng cùng một vấn đề phát sinh dễ dàng với các SVM (cũng có giới hạn tương tự áp dụng cho KRR, do đó không có nhiều lựa chọn giữa chúng trong thực tế). Vì vậy, theo một cách nào đó, các SVM không thực sự giải quyết vấn đề về sự phù hợp quá mức, họ chỉ chuyển vấn đề từ sự phù hợp mô hình sang lựa chọn mô hình.

Nó thường là một cám dỗ để làm cho cuộc sống dễ dàng hơn cho SVM bằng cách thực hiện một số loại lựa chọn tính năng đầu tiên. Điều này thường làm cho vấn đề tồi tệ hơn, vì không giống như SVM, các thuật toán lựa chọn tính năng có xu hướng thể hiện quá mức phù hợp khi số lượng thuộc tính tăng lên. Trừ khi bạn muốn biết đâu là thuộc tính thông tin, tốt hơn là bỏ qua bước chọn tính năng và chỉ sử dụng chính quy để tránh việc khớp dữ liệu quá mức.

Nói tóm lại, không có vấn đề cố hữu khi sử dụng một SVM (hoặc mô hình chính quy khác như hồi quy sườn, LARS, Lasso, lưới đàn hồi, v.v.) về một vấn đề với 120 quan sát và hàng ngàn thuộc tính, miễn là các tham số chính quy được điều chỉnh đúng .


Có bất kỳ giấy tờ nào cho thấy các phương pháp lựa chọn tính năng như xếp hạng dựa trên Information Gain có nhiều khả năng phù hợp hơn không?
dùng13420

1
Không phải tôi biết, vấn đề là SVM có một số kết quả lý thuyết cho thấy rằng chúng có khả năng chống quá khớp do số lượng thuộc tính, nhưng các phương pháp chọn tính năng thậm chí không có điều đó. FWIW, chuyên khảo của Miller về "lựa chọn tập hợp con trong hồi quy" khuyên nên sử dụng các phương pháp chính quy nếu hiệu suất dự đoán là tất cả những gì cần thiết. Đã có một số thách thức mở cửa vào lựa chọn tính năng, trong đó đề xuất quy tắc mà có xu hướng lựa chọn tính năng làm tốt hơn (xem nipsfsc.ecs.soton.ac.ukcausality.inf.ethz.ch/challenge.php ).
Dikran Marsupial

Như đã nêu trong đoạn đầu tiên, các SVM có xu hướng chống lại sự phù hợp quá mức, là nó sử dụng chính quy (tham số C) , do đó, theo mặc định, svmcó tham số chính quy C này không? Và tôi không chắc những biến nào được điều khiển bởi chữ C này , ý bạn là những biến chùng đó ?

10

Tôi sẽ bắt đầu với câu hỏi thứ hai và cuối cùng.

Vấn đề khái quát hóa rõ ràng rất quan trọng, bởi vì nếu kết quả học máy không thể khái quát hóa, thì chúng hoàn toàn vô dụng.

Các phương pháp đảm bảo khái quát hóa đến từ thống kê. Chúng ta thường cho rằng dữ liệu được tạo ra từ một số phân phối xác suất bắt nguồn từ thực tế. Ví dụ: nếu bạn là nam sinh năm 2000, thì có sự phân phối xác suất về cân nặng / chiều cao / màu mắt của bạn khi bạn đạt 10, kết quả từ nhóm gen có sẵn vào năm 2000, các yếu tố môi trường có thể, v.v. chúng ta có rất nhiều dữ liệu, chúng ta có thể nói điều gì đó về các phân phối cơ bản đó, ví dụ như với xác suất cao chúng là gaussian hoặc multinomial. Nếu chúng ta có bức tranh phân phối chính xác, sau đó đưa ra chiều cao, cân nặng và màu mắt của một đứa trẻ 10 tuổi vào năm 2010, chúng ta có thể có được một xấp xỉ tốt về xác suất đứa trẻ là nam. Và nếu xác suất gần bằng 0 hoặc 1, chúng ta có thể có được một bức ảnh đẹp về tình dục trẻ em thực sự là gì.

kδk+εk+ε

Bây giờ trở lại SVM. Nếu bạn không sử dụng hạt nhân hoặc sử dụng hạt nhân ánh xạ vào các không gian có chiều hữu hạn, thì cái gọi là kích thước của LinkedInnik-Chervonenkis là thước đo độ phức tạp của giả thuyết, là hữu hạn, và với điều đó và đủ các ví dụ đào tạo bạn có thể đạt được điều đó với mức cao xác suất lỗi trên tập kiểm tra sẽ không lớn hơn nhiều so với lỗi trên tập huấn luyện. Nếu bạn sử dụng các hạt nhân ánh xạ vào các không gian đặc trưng vô hạn, thì kích thước của Pinterestnik-Chervonenkis cũng là vô hạn, và điều tồi tệ hơn là các mẫu đào tạo không thể đảm bảo khái quát tốt, bất kể số lượng chúng là bao nhiêu. May mắn thay, kích thước của lề của một SVM hóa ra là một tham số tốt để đảm bảo khái quát hóa. Với biên độ lớn và tập huấn luyện, bạn có thể đảm bảo rằng lỗi kiểm tra sẽ không lớn hơn nhiều so với lỗi đào tạo.


7

Có ít nhất hai nguồn chính quá mức mà bạn có thể muốn xem xét.

  1. Quá mức từ một thuật toán đã suy ra quá nhiều từ các mẫu đào tạo có sẵn. Điều này được bảo vệ tốt nhất chống lại thực nghiệm bằng cách sử dụng thước đo khả năng khái quát hóa của mô hình. Xác nhận chéo là một phương pháp phổ biến như vậy.

  2. Quá mức vì phân phối cơ bản được gạch dưới. Thông thường có rất ít có thể được thực hiện về điều này trừ khi bạn có thể thu thập thêm dữ liệu hoặc thêm kiến ​​thức tên miền về vấn đề vào mô hình của bạn.

Với 120 mẫu và một số lượng lớn các tính năng, bạn rất có thể bị phạm lỗi 2 và cũng có thể dễ bị 1.

Bạn có thể làm gì đó khoảng 1 bằng cách quan sát cẩn thận ảnh hưởng của độ phức tạp của mô hình đối với các lỗi kiểm tra và huấn luyện.


Nhưng, làm thế nào để chúng ta phát hiện nếu chúng ta quá mức? Nếu các mô hình làm khá tốt trong việc xác thực chéo, thì chúng làm điều đó bởi vì nó thực sự tốt hay vì quá nhiều do 1 hoặc 2? Ngoài ra với hàng ngàn tính năng, việc phân tích từng tính năng bằng tay sẽ rất khó khăn. Nếu không thể xác định quá mức, làm thế nào chúng ta có thể tin tưởng vào bất kỳ kết quả xác thực chéo nào?
dùng13420

1
Nếu không có dữ liệu bổ sung, sẽ rất khó để biết liệu bạn có đang quá lạm dụng đối với dân số chưa được phân bổ hay không. Bạn có thể chia dữ liệu thành ba bộ bằng cách sử dụng bộ xác thực aa để điều chỉnh mô hình và sau đó là một bộ kiểm tra riêng để kiểm tra nó. Một cách tiếp cận khác là sửa đổi độ phức tạp của mô hình và xem độ chính xác của tập huấn luyện và kiểm tra khác nhau như thế nào. Sự gia tăng trong lỗi thiết lập thử nghiệm sẽ chỉ ra một số mức độ quá mức của mô hình từ dữ liệu.
image_doctor

Áp dụng các thử nghiệm nắm giữ 50/50 lặp đi lặp lại sẽ cho bạn cảm giác nếu bộ huấn luyện và kiểm tra được cân bằng. Có lẽ họ sẽ không như vậy. Một số mô hình, chẳng hạn như KNN, sẽ đạt được độ chính xác hoàn hảo trên tập huấn luyện, do đó, vốn đã bị quá mức trong một số ý nghĩa. Nhưng họ vẫn có thể đạt được hiệu suất chấp nhận được trên bộ thử nghiệm. Vì vậy, cũng như với nhiều thứ trong học máy, cuối cùng tất cả phụ thuộc vào các chi tiết cụ thể chính xác của dữ liệu.
image_doctor

@image_doctor Bạn có thể nói rõ hơn về "sửa đổi độ phức tạp của mô hình" không?
Keith Hughitt
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.