Câu trả lời:
Tìm kiếm lưới chậm vì nó dành nhiều thời gian để điều tra các cài đặt siêu tham số không ở đâu gần tối ưu. Một giải pháp tốt hơn là thuật toán đơn giản Nelder-Mead , không yêu cầu tính toán thông tin độ dốc và dễ thực hiện (cần có đủ thông tin trên trang Wikipedia). Cũng có thể có một số mã java trong hộp công cụ Weka , tuy nhiên tôi làm việc trong MATLAB và chưa xem Weka ở bất kỳ chi tiết tuyệt vời nào.
SMO là một thuật toán để tìm các tham số mô hình, thay vì các tham số siêu.
Phương pháp đơn giản Nelder-Mead có thể bao gồm nhiều đánh giá chức năng như một tìm kiếm lưới đơn giản. Thông thường bề mặt lỗi đủ mịn gần với các giá trị tham số tối ưu mà tìm kiếm lưới thô theo sau là một tìm kiếm tốt hơn trong một khu vực nhỏ hơn là đủ.
Nếu bạn quan tâm đến tối ưu hóa dựa trên độ dốc của C và gamma, có các phương pháp như tối ưu hóa giới hạn biên bán kính hoặc tối ưu hóa tỷ lệ lỗi trên bộ xác thực. Việc tính toán độ dốc của hàm mục tiêu liên quan đến một thứ giống như một chuyến tàu SVM nhưng một độ dốc đơn giản có thể chỉ liên quan đến vài chục lần lặp. (Xem http://olivier.chapelle.cc/ams/ để biết bài viết và triển khai Matlab.)
Đây là một mục trong blog của Alex Smola liên quan đến câu hỏi của bạn
Đây là một trích dẫn:
[...] chọn, giả sử 1000 cặp (x, x ') một cách ngẫu nhiên từ tập dữ liệu của bạn, tính khoảng cách của tất cả các cặp như vậy và lấy số trung vị, số lượng 0,1 và 0,9. Bây giờ chọn λ là nghịch đảo của bất kỳ số nào trong ba số này. Với một chút giá trị chéo, bạn sẽ tìm ra một trong ba cách tốt nhất. Trong hầu hết các trường hợp, bạn sẽ không cần phải tìm kiếm thêm nữa.