Tại sao phải bận tâm với vấn đề kép khi lắp SVM?


50

Cho các điểm dữ liệu và nhãn , vấn đề tiên quyết về lề cứng SVM làx1,,xnRdy1,,yn{1,1}

minimizew,w012wTw
s.t.i:yi(wTxi+w0)1

đó là một chương trình bậc hai với các biến được tối ưu hóa cho và các ràng buộc . Bộ đôid+1i

maximizeαi=1nαi12i=1nj=1nyiyjαiαjxiTxj
s.t.i:αi0i=1nyiαi=0
là một chương trình bậc hai với biến được tối ưu hóa và bất đẳng thức và ràng buộc đẳng thức.n+1nn

Khi thực hiện một SVM lề cứng, tại sao tôi sẽ giải quyết vấn đề kép thay vì vấn đề nguyên thủy? Vấn đề cơ bản có vẻ 'trực quan' hơn đối với tôi và tôi không cần quan tâm đến khoảng cách đối ngẫu, tình trạng Kuhn-Tucker, v.v.

Nó sẽ có ý nghĩa với tôi để giải quyết vấn đề kép nếu , nhưng tôi nghi ngờ có những lý do tốt hơn. Đây có phải là trường hợp?dn


26
Câu trả lời ngắn gọn là hạt nhân. Câu trả lời dài là keeerneeels (-;

Điều quan trọng nhất của vấn đề kép là giới thiệu thủ thuật kernel, nhằm mục đích ánh xạ dữ liệu gốc vào không gian với kích thước cao hơn.
BigeyeDestroyer

Câu trả lời:


40

Dựa trên các ghi chú bài giảng được tham chiếu trong câu trả lời của @ user765195 (cảm ơn!), Những lý do rõ ràng nhất dường như là:

Giải quyết vấn đề cơ bản, chúng ta thu được tối ưu , nhưng không biết gì về . Để phân loại điểm truy vấn chúng ta cần tính toán rõ ràng sản phẩm vô hướng , có thể tốn kém nếu lớn.wαixwTxd

Giải quyết vấn đề kép, chúng ta thu được (trong đó cho tất cả trừ một vài điểm - các vectơ hỗ trợ). Để phân loại điểm truy vấn , chúng tôi tính toánαiαi=0x

wTx+w0=(i=1nαiyixi)Tx+w0=i=1nαiyixi,x+w0

Thuật ngữ này được tính toán rất hiệu quả nếu chỉ có một vài vectơ hỗ trợ. Hơn nữa, vì hiện tại chúng tôi có một sản phẩm vô hướng chỉ liên quan đến các vectơ dữ liệu , chúng tôi có thể áp dụng thủ thuật kernel .


6
Đợi chút. Giả sử bạn có hai vectơ hỗ trợ x1 và x2. Bạn không thể có ít hơn hai, phải không? Bạn đang nói rằng tính toán <x1, x> và <x2, x> nhanh hơn <w, x>?
Leo

1
@Leo: Lưu ý rằng tôi sử dụng <x1, x>wTx. Cái trước được sử dụng làm biểu tượng cho một đánh giá hạt nhân K (x1, x), chiếu x1 và x vào một không gian rất cao và tính toán ngầm định sản phẩm vô hướng của các giá trị được chiếu. Cái sau là sản phẩm vô hướng bình thường, do đó wxphải được chiếu rõ ràng, và sau đó sản phẩm vô hướng được tính toán rõ ràng. Tùy thuộc vào sự lựa chọn của hạt nhân, một phép tính rõ ràng có thể tính toán nhiều hơn so với nhiều đánh giá hạt nhân.
blubb

1
Theo tôi hiểu vấn đề nguyên thủy, là số nhân Lagrange, vậy tại sao chúng ta không thể giải quyết vấn đề nguyên thủy để tìm ? Ý tôi là có lẽ chúng ta không phải dùng đến vấn đề kép để tìm ra , phải không? ααα

2
"Hơn nữa, vì hiện tại chúng tôi có một sản phẩm vô hướng chỉ liên quan đến các vectơ dữ liệu, chúng tôi có thể áp dụng thủ thuật kernel." - Điều đó cũng đúng trong công thức nguyên thủy.
Firebug

2
Nếu mọi người muốn biết thêm chi tiết về nhận xét từ @Fireorms ... hãy xem các phương trình 10-12 của lib.kobe-u.ac.jp/reposeective/90001050.pdf (đây là phiên bản không giới hạn của số nguyên tố).
MrDrFenner

13

Đọc đoạn thứ hai trong trang 13 và thảo luận về nó trong các ghi chú sau:

http://cs229.stanford.edu/notes/cs229-notes3.pdf


17
Đó là một tài liệu tham khảo tuyệt vời và trả lời rõ ràng câu hỏi. Tôi nghĩ rằng câu trả lời của bạn sẽ được đánh giá cao hơn nếu bạn có thể tóm tắt câu trả lời ở đây: điều đó làm cho chủ đề này tự đứng vững.
whuber

3

Đây là một lý do tại sao công thức kép hấp dẫn từ quan điểm tối ưu hóa số. Bạn có thể tìm thấy các chi tiết trong bài báo sau :

Hsieh, C.-J., Chang, K.-W., Lin, C.-J., Keerthi, SS, và Sundararajan, S., Hội nghị quốc tế lần thứ 25 về Học máy, Helsinki, 2008.

Công thức kép liên quan đến một ràng buộc đẳng thức affine duy nhất và n ràng buộc ràng buộc.

1. Ràng buộc đẳng thức affine có thể được "loại bỏ" khỏi công thức kép.

Điều này có thể được thực hiện bằng cách chỉ cần xem dữ liệu của bạn trong R ^ (d + 1) thông qua việc nhúng R ^ d trong R ^ (d + 1) từ việc thêm tọa độ "1" duy nhất vào mỗi điểm dữ liệu, tức là R ^ d ----> R ^ (d + 1): (a1, ..., quảng cáo) | ---> (a1, ..., quảng cáo, 1).

Làm điều này cho tất cả các điểm trong tập huấn luyện sẽ tái diễn vấn đề phân tách tuyến tính trong R ^ (d + 1) và loại bỏ thuật ngữ không đổi w0 khỏi trình phân loại của bạn, từ đó loại bỏ ràng buộc đẳng thức affine khỏi đối ngẫu.

2. Đến điểm 1, kép có thể dễ dàng được đưa ra như một vấn đề tối ưu hóa bậc hai lồi mà các ràng buộc của nó chỉ là các ràng buộc ràng buộc.

3. Vấn đề kép bây giờ có thể được giải quyết một cách hiệu quả, tức là thông qua thuật toán gốc tọa độ kép mang lại giải pháp tối ưu hóa epsilon trong O (log (1 / epsilon)).

Điều này được thực hiện bằng cách lưu ý rằng việc sửa tất cả các bảng chữ cái trừ một cách mang lại giải pháp dạng đóng. Sau đó, bạn có thể quay vòng qua tất cả các chữ cái một (ví dụ: chọn ngẫu nhiên một chữ cái, sửa tất cả các chữ cái khác, tính toán giải pháp biểu mẫu đóng). Do đó, người ta có thể chỉ ra rằng bạn sẽ có được một giải pháp gần như tối ưu "khá nhanh" (xem Định lý 1 trong bài báo đã nói ở trên).

Có nhiều lý do khác khiến vấn đề kép hấp dẫn từ quan điểm tối ưu hóa, một số lý do khai thác thực tế là nó chỉ có một ràng buộc bình đẳng affine (các ràng buộc còn lại là tất cả các ràng buộc ràng buộc) trong khi các vấn đề khác khai thác quan sát tại giải pháp của vấn đề kép "thường là hầu hết các chữ cái" là 0 (các chữ cái khác không tương ứng với các vectơ hỗ trợ).

Bạn có thể có được một cái nhìn tổng quan tốt về các cân nhắc tối ưu hóa số cho các SVM từ bài thuyết trình của Stephen Wright tại Hội thảo học tập tính toán (2009).

PS: Tôi mới ở đây. Xin lỗi vì không giỏi sử dụng ký hiệu toán học trên trang web này.


1
Thông tin về cách sử dụng tính năng gõ toán học có tại đây: math.meta.stackexchange.com/questions/5020/ Kẻ
Tái lập Monica

-5

Theo ý kiến ​​của tôi trong các bài giảng của Andrew ng, đã đề cập rõ ràng rằng vấn đề cơ bản của 1 / || w ||, là một vấn đề không lồi. Vấn đề kép là một vấn đề lồi và luôn dễ dàng tìm thấy tối ưu của hàm lồi.


1
Các primal SVM như đã nêu ở trên là lồi.
Dougal
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.