2010-10-19 32 views
14

Tôi đang sử dụng trình phân loại SVM đa chiều (SVM.NET, trình bao bọc cho libSVM) để phân loại một tập hợp các tính năng.SVM có thể học theo từng bước không?

Với mô hình SVM, có thể kết hợp dữ liệu đào tạo mới mà không phải tính toán lại tất cả dữ liệu trước đó không? Tôi đoán một cách khác để đặt nó sẽ là: là một SVM có thể thay đổi?

+0

tôi bắt đầu đi qua cuốn sách Bishop để giúp trả lời này nhưng tôi tin rằng bạn có thể nhận được một câu trả lời sâu sắc nhiều hơn tại http: //mathoverflow.net/ – wheaties

Trả lời

13

Thực ra, nó thường được gọi là học tập gia tăng. Câu hỏi đã xuất hiện trước đây và được trả lời khá tốt ở đây: A few implementation details for a Support-Vector Machine (SVM).

Tóm lại, có thể nhưng không dễ, bạn sẽ phải thay đổi thư viện bạn đang sử dụng hoặc tự mình thực hiện thuật toán đào tạo.

Tôi đã tìm thấy hai giải pháp khả thi, SVMHeavyLaSVM, hỗ trợ đào tạo gia tăng. Nhưng tôi đã không sử dụng một trong hai và không biết gì về chúng.

+0

Cảm ơn, tôi đã thay đổi tiêu đề câu hỏi của mình chính xác hơn. Câu hỏi mà bạn đề cập đến là một câu trả lời hay cho tôi. –

+6

Tôi thường thấy điều này được gọi là "học trực tuyến". –

+0

@larsmans Điểm tốt. Nó cũng đôi khi bị nhầm lẫn/conflated với học tập tích cực. – Stompchicken

1

Trực tuyến và gia tăng mặc dù tương tự nhưng hơi khác nhau. Trong trực tuyến, thông thường nó có thể được cấu hình một lần (epoch = 1) hoặc số epoch. Ở đâu, gia tăng sẽ có nghĩa là bạn đã có một mô hình; không có vấn đề làm thế nào nó được xây dựng, nhưng sau đó mô hình có thể được thay đổi bằng các ví dụ mới. Ngoài ra, một sự kết hợp của trực tuyến và gia tăng thường là những gì được yêu cầu.

Dưới đây là danh sách các công cụ với một số nhận xét về SVM trực tuyến và/hoặc gia tăng: https://stats.stackexchange.com/questions/30834/is-it-possible-to-append-training-data-to-existing-svm-models/51989#51989

Các vấn đề liên quan