Tại sao mọi người sử dụng các kỹ thuật lập trình bậc hai (như SMO) khi xử lý các SVM được nhân? Điều gì sai với Gradient Descent? Có thể sử dụng với hạt nhân hay nó quá chậm (và tại sao?).
Đây là một bối cảnh nhỏ hơn: cố gắng hiểu các SVM tốt hơn một chút, tôi đã sử dụng Gradient Descent để huấn luyện một trình phân loại SVM tuyến tính bằng cách sử dụng hàm chi phí sau:
Tôi đang sử dụng các ký hiệu sau:
- là trọng số tính năng của mô hình và là tham số sai lệch của nó.
- làvectơ đặc trưng của trường hợp đào tạo thứ .
- là lớp đích (-1 hoặc 1) cho thể hiện thứ .
- là số lượng các trường hợp đào tạo.
- là siêu tham số chính quy.
Tôi đã nhận được một vectơ gradient (phụ) (liên quan đến và ) từ phương trình này và Gradient Descent hoạt động tốt.
Bây giờ tôi muốn giải quyết các vấn đề phi tuyến tính. Tôi chỉ có thể thay thế tất cả các sản phẩm chấm bằng trong hàm chi phí, trong đó là hàm nhân (ví dụ: Gaussian RBF, ), sau đó sử dụng tính toán để đưa ra một (sub) vector gradient và đi trước với Gradient Descent?
Nếu nó quá chậm, tại sao vậy? Là hàm chi phí không lồi? Hoặc là do độ dốc thay đổi quá nhanh (không phải là Lipchitz liên tục) nên thuật toán tiếp tục nhảy qua các thung lũng trong quá trình hạ xuống, vì vậy nó hội tụ rất chậm? Nhưng thậm chí sau đó, làm thế nào nó có thể tồi tệ hơn sự phức tạp thời gian Quadratic Programming, mà là ? Nếu đó là vấn đề của cực tiểu địa phương, Stochastic GD với mô phỏng ủ có thể vượt qua chúng không?