Phạm vi tìm kiếm nào để xác định tham số gamma C và gamma tối ưu?


32

Tôi đang sử dụng SVM để phân loại và tôi đang cố gắng xác định các tham số tối ưu cho các hạt nhân tuyến tính và RBF. Đối với nhân tuyến tính, tôi sử dụng lựa chọn tham số xác thực chéo để xác định C và đối với nhân RBF, tôi sử dụng tìm kiếm lưới để xác định C và gamma.

Tôi có 20 tính năng (số) và 70 ví dụ đào tạo nên được phân loại thành 7 lớp.

Tôi nên sử dụng phạm vi tìm kiếm nào để xác định các giá trị tối ưu cho các tham số C và gamma?

Câu trả lời:


31

Kiểm tra Hướng dẫn thực tế về Phân loại SVM cho một số gợi ý, đặc biệt là trang 5.

Chúng tôi đề nghị một "lưới tìm kiếm" trên γ sử dụng cross-validation. Cặp khác nhau của ( C , γ ) giá trị được cố gắng và một với tính chính xác cross-validation tốt nhất được chọn. Chúng tôi thấy rằng cố gắng trình tự phát triển theo cấp số nhân của Cγ là một phương pháp thực tiễn để xác định các thông số tốt (ví dụ, C = 2 - 5 , 2 - 3 , ... , 2 15 ; γ = 2 - 15 , 2 - 13 ,Cγ(C,γ)Cγ ).C=25,23,,215;γ=215,213,,23

Hãy nhớ bình thường hóa dữ liệu của bạn trước và nếu bạn có thể, hãy thu thập thêm dữ liệu vì từ vẻ bề ngoài của nó, vấn đề của bạn có thể không được xác định rõ ràng.


Có nên thực hiện kiểm tra ngang hàng? không có một thư viện để đạt được nó?
x-rw

11

Kiểm tra phần 2.3.2 của bài viết này của Chapelle và Zien. Họ có một đẹp heuristic để chọn phạm vi tìm kiếm tốt cho của kernel RBF và C cho SVM. Tôi trích dẫnσC

Để xác định giá trị tốt của các tham số miễn phí còn lại (ví dụ: bằng CV), điều quan trọng là tìm kiếm theo đúng tỷ lệ. Do đó chúng tôi sửa chữa các giá trị mặc định cho σ có thứ tự đúng của cường độ. Trong một c đẳng cấp vấn đề chúng ta sử dụng 1 / c quantile của khoảng cách cặp D ρ i j của tất cả các dữ liệu điểm như một mặc định cho σ . Mặc định cho C là nghịch đảo của phương sai thực nghiệm s 2 trong không gian tính năng, có thể được tính bằng s 2 = 1Cσc1/cDijρσCs2 từ mộtn×nhạt nhân ma trậnK.s2=1niKii1n2i,jKijn×nK

Sau đó, họ sử dụng bội số (ví dụ cho k { - 2 , . . . , 2 } ) giá trị mặc định là phạm vi tìm kiếm trong một lưới tìm kiếm bằng cross-validation. Điều đó luôn làm việc rất tốt cho tôi.2kk{2,...,2}

Tất nhiên, chúng tôi @ciri nói, bình thường hóa dữ liệu, vv luôn là một ý tưởng tốt.


Tôi nghĩ rằng có một số công thức hạt nhân rbf bằng nhau. Một với gamma và một với sigma, tức là gamma = 1/2sigma ^ 2. Gamma trong heuristic ở trên có tương ứng với gamma, sigma hoặc sigma ^ 2 không? Tôi đã tìm thấy những mô tả khác về cùng một heurstic dành cho gamma.
máy móc

12σ2

@fabee Có nên thực hiện kiểm tra ngang hàng? không có một thư viện để đạt được nó?
x-rw
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.