Hãy khai sáng cho tôi với thuật toán SMO của Platt (cho SVM)


7

Từ A_Roadmap_to_SVM_SMO.pdf , trang 12.

một con mèo bận rộn
(nguồn: postimg.org )

Giả sử tôi đang sử dụng kernel tuyến tính, làm thế nào tôi có thể có được cả sản phẩm bên trong thứ nhất và thứ hai?

Tôi đoán, sản phẩm bên trong của datapoint với datapoint j có nhãn lớp A cho sản phẩm bên trong đầu tiên của phương trình và sản phẩm bên trong của datapoint j với datapoints được dán nhãn lớp B cho sản phẩm bên trong thứ hai?

Câu trả lời:


3

Sự am hiểu của bạn đa đung đăn. Vấn đề là phương trình (8)

yi(<w,ϕi>+b)1=0
không chính xác là một phương trình, mà là một hệ phương trình, mỗi phương trình i chỉ số của các vectơ hỗ trợ (những vectơ cho mỗi 0<αi<C.

Vấn đề là bạn không thể tính toán b trong quá trình tối ưu hóa vấn đề kép vì việc tối ưu hóa không thành vấn đề, bạn phải quay lại và tính toán b từ tất cả các phương trình khác mà bạn có (một cách có thể là (8)).

Gợi ý của Pinterestnick là không chỉ sử dụng một trong các phương trình đó, mà hai trong số đó, cụ thể là một vectơ hỗ trợ cho quan sát tiêu cực và một cho quan sát tích cực. Nói cách khác, hai vectơ hỗ trợ có dấu hiệu trái ngược nhau choyi.

Hãy đặt tên A chỉ số của một vectơ hỗ trợ và Bchỉ số của một vectơ siêu đối diện, ba bên bạn chọn từ hệ phương trình tại (8) chỉ có hai trong số chúng. Đánh giá cả hai và lấy ý nghĩa.

Từ:

yA(<w,ϕA>+b)=1
yB(<w,ϕB>+b)=1
Chúng tôi nhận được:
bA=1yA<w,ϕA>
bB=1yB<w,ϕB>
Ở đâu bAbB là hai ước tính, sau đó trung bình là
b=(bA+bB)/2=12(<w,ϕA>+<w,ϕB>)=12i=1nyiαi(<ϕ(xi),ϕ(xA)>+<ϕ(xi),ϕ(xB)>)
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.