SVM một lớp so với SVM mẫu mực


16

Tôi hiểu rằng các SVM một lớp (OSVM) đã được đề xuất khi không có dữ liệu âm trong đầu và họ tìm cách tìm ranh giới quyết định tách biệt một tập hợp dương và một số điểm neo âm, nói nguồn gốc.

Một công việc vào năm 2011 đề xuất các SVM Exemplar (ESVM) đào tạo một "trình phân loại theo từng loại", tuyên bố là khác với OSVM, trong đó ESVM không "yêu cầu ánh xạ các mẫu vào một không gian đặc trưng chung mà hạt nhân tương tự có thể tính toán ". Tôi hoàn toàn không hiểu điều này có nghĩa là gì và ESVM khác với OSVM như thế nào. Và như vậy, chúng khác nhau như thế nào? Và làm thế nào để tính toán nhân tương tự này tránh được trong ESVM?

Câu trả lời:


20

(Bạn có thể muốn nhìn vào "bảng" bên dưới trước)

Hãy bắt đầu với các máy vectơ hỗ trợ "cổ điển". Những điều này học cách phân biệt giữa hai loại. Bạn thu thập một số ví dụ về loại A, một số loại B và chuyển cả hai cho thuật toán đào tạo SVM, tìm thấy dòng / mặt phẳng / siêu phẳng tách A tốt nhất khỏi B. Điều này hoạt động - và nó thường hoạt động khá tốt - khi bạn muốn phân biệt giữa các lớp được xác định rõ ràng và loại trừ lẫn nhau: nam so với nữ, các chữ cái trong bảng chữ cái, v.v.

Tuy nhiên, giả sử bạn muốn xác định "A" s thay vào đó. Bạn có thể coi đây là một vấn đề phân loại: Làm thế nào để tôi phân biệt "A" với "không-A". Khá dễ dàng để tập hợp một bộ huấn luyện bao gồm hình ảnh của những con chó, nhưng những gì nên đi vào bộ huấn luyện của bạn không phải là chó? Vì có vô số thứ không phải là chó, bạn có thể gặp khó khăn khi xây dựng một bộ huấn luyện toàn diện và đại diện cho tất cả những thứ không phải là chó. Thay vào đó, bạn có thể cân nhắc sử dụng trình phân loại một lớp. Trình phân loại hai lớp truyền thống tìm thấy một mặt phẳng (siêu) tách A khỏi B. Thay vào đó, SVM một lớp tìm thấy đường thẳng / mặt phẳng / siêu phẳng ngăn cách tất cả các điểm trong lớp ("A" s) với gốc ;

"Hệ thống" của Bộ đồng phục thực sự là một tập hợp của nhiều "tiểu đơn vị" SVM hai lớp. Mỗi tiểu đơn vị được đào tạo sử dụng một đơnví dụ tích cực cho một lớp và một tập hợp lớn các ví dụ tiêu cực cho lớp kia. Do đó, thay vì phân biệt chó so với ví dụ không phải chó (SVM hai lớp tiêu chuẩn) hoặc chó so với nguồn gốc (SVM một lớp), mỗi tiểu đơn vị phân biệt giữa chó cụ thể (ví dụ: "Rex") và nhiều chó không ví dụ. Các SVM tiểu đơn vị riêng lẻ được huấn luyện cho từng ví dụ về lớp dương, vì vậy bạn sẽ có một SVM cho Rex, một SVM khác cho Fido, một loại khác cho con chó neighbour của bạn sủa lúc 6 giờ sáng, v.v. Đầu ra của các SVM tiểu đơn vị này được hiệu chuẩn và kết hợp để xác định xem một con chó, không chỉ là một trong các mẫu cụ thể, có xuất hiện trong dữ liệu thử nghiệm hay không. Tôi đoán bạn cũng có thể nghĩ các tiểu mục riêng lẻ giống như các SVM một lớp, trong đó không gian tọa độ được dịch chuyển sao cho ví dụ tích cực duy nhất nằm ở gốc.

Tóm lại, sự khác biệt chính là:

Dữ liệu đào tạo

  • Hai lớp SVM: Ví dụ tích cực và tiêu cực
  • Một lớp SVM: Chỉ các ví dụ tích cực
  • "Hệ thống" của Bộ đồng phục: Các ví dụ tích cực và tiêu cực. Mỗi tiểu đơn vị được đào tạo trên một ví dụ tích cực duy nhất và nhiều ví dụ tiêu cực.

Số lượng máy

  • Hai lớp SVM: một
  • Một lớp SVM: một
  • Tập hợp "hệ thống" SVM: nhiều (một máy phụ cho mỗi ví dụ tích cực)

Ví dụ cho mỗi lớp (mỗi máy)

  • Hai lớp SVM: nhiều / nhiều
  • Một lớp SVM: nhiều / một (cố định tại điểm gốc)
  • Tập hợp "hệ thống" SVM: nhiều / nhiều
  • Tập hợp "tiểu đơn vị" SVM: một / nhiều

Hậu xử lý

  • Hai lớp SVM: Không cần thiết
  • Một lớp SVM: Không cần thiết
  • Bộ đồng phục SVM: Cần hợp nhất mỗi đầu ra của SVM thành dự đoán cấp lớp.

Phần tái bút: Bạn đã hỏi ý nghĩa của chúng bằng cách "[các cách tiếp cận khác] yêu cầu ánh xạ các mẫu vào một không gian tính năng chung mà hạt nhân tương tự có thể được tính toán." Tôi nghĩ rằng họ có nghĩa là một SVM hai lớp truyền thống hoạt động theo giả định rằng tất cả các thành viên của lớp đều giống nhau, và vì vậy bạn muốn tìm một hạt nhân đặt những con danesdachsund tuyệt vời gần nhau, nhưng cách xa mọi thứ khác. Ngược lại, hệ thống SVM đồng bộ vượt qua điều này bằng cách gọi một con chó nếu nó đủ giống như OR dachsund giống như OR pach, mà không phải lo lắng về mối quan hệ giữa các mẫu.


Cảm ơn câu trả lời tuyệt vời và toàn diện. Nói rõ hơn, ở một số nơi bạn thực sự có nghĩa là "Tập hợp" các SVM mẫu mực, nhưng ở những nơi khác, chỉ là "Exemplar" SVM? Tôi nghĩ là công bằng, nên so sánh với (1) một OSVM SINGLE với một ESVM SINGLE hoặc (2) ENSEMBLE của OSVM với ENSEMBLE của ESVM.
bjou

Tôi hy vọng nó không quá lạc đề để hỏi làm thế nào điều này khái quát cho nhiều lớp? Nếu tôi có mèo, chó và chim, điều đó có khiến esvm yêu cầu một "yếu tố" SVM cho fido so với mỗi con mèo VÀ một "yếu tố" SVM cho fido so với mỗi con chim không? Nếu tôi có 10 điểm dữ liệu cho mỗi 3 loại thì điều đó có nghĩa là tôi có 20 yếu tố SVM cho mỗi "con chó" hoặc một nhóm gồm 200 yếu tố? Điều gì xảy ra nếu tôi có 300 điểm dữ liệu và 20 kích thước, hoặc 50 nghìn điểm dữ liệu và 50 nghìn kích thước. Nếu tôi đang tạo một rừng SVM ngẫu nhiên, thì tôi có thể sử dụng các tập hợp con ngẫu nhiên để giảm tác động của "lời nguyền của sự giảm bớt" không?
EngrStudent - Phục hồi Monica

@bjou, tôi hơi cẩu thả với thuật ngữ ESVM, vì vậy tôi đã quay lại và dọn dẹp nó. Tôi đoán bạn có thể nghĩ về một "tiểu đơn vị" của hệ thống ESVM giống như một OSVM, ngoại trừ hệ thống tọa độ đã được tập trung lại để ví dụ tích cực nằm ở gốc.
Matt Krause

1
@EngrStudent, nó thực sự khái quát thực sự độc đáo. Trong bài báo, họ sử dụng tác vụ Pascal VOC, có ~ 20 loại. Để mở rộng ví dụ về động vật của chúng tôi, bạn sẽ có một tiểu đơn vị cho "Fido" so với (tất cả các loài chim, mèo và cá), một tiểu đơn vị khác cho "Rex" so với tất cả những người không phải là chó, v.v. Đối với các loài chim, bạn sẽ huấn luyện "Tweety" so với (tất cả mèo, chó, cá), "Polly" so với tất cả những người không phải chim, v.v. Cũng sẽ có một tiểu đơn vị cho mỗi ví dụ về mèo và cá, được huấn luyện chống lại tất cả những người không phải mèo và không phải cá. Bạn kết thúc với 1 SVM cho mỗi ví dụ được gắn nhãn, bất kể số lượng lớp.
Matt Krause

Nghe có vẻ như một người anh em của tăng cường (theo nghĩa của cây tăng cường độ dốc). Đồng phục, đó là lỗi đầu ra có trọng số, hay trọng số đồng đều?
EngrStudent - Phục hồi Monica

2

Nói tóm lại, mô hình ESVM là một tập hợp các SVM được đào tạo để phân biệt từng phần tử tập huấn đơn lẻ với tất cả các phần còn lại, trong khi OSVM là một tập hợp các SVM được đào tạo để phân biệt từng tập hợp các phần tử đào tạo thuộc về một lớp. Vì vậy, nếu bạn có 300 ví dụ về mèo và 300 con chó trong tập huấn luyện, ESVM sẽ tạo ra 600 SVM, mỗi con cho một thú cưng trong khi OSVM sẽ tạo ra hai SVM (thứ nhất cho tất cả mèo, thứ hai cho tất cả chó).

Theo cách này, ESVM không cần tìm một không gian trong đó toàn bộ cụm lớp mà thay vào đó là một không gian trong đó phần tử đơn này là một ngoại lệ, có thể đơn giản hơn và dẫn đến độ chính xác cao. Nhớ lại được cho là được cung cấp bởi đoàn.

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.