Bir sınıf SVM ile örnek SVM karşılaştırması


16

Bir sınıf SVM'lerin (OSVM'ler), akılda olumsuz veriler olmadan önerildiğini ve menşei, olumlu bir seti ve bir miktar negatif bağlantı noktasını ayıran karar sınırları bulmaya çalıştıklarını anlıyorum.

2011'deki bir çalışma, OSVM'lerden farklı olduğunu iddia eden "kategori başına tek bir sınıflandırıcıyı" eğiten Örnek SVM'ler (ESVM'ler) önermektedir ; hesaplanmış". Bunun ne anlama geldiğini ve ESVM'lerin OSVM'lerden nasıl farklı olduğunu tam olarak anlamıyorum. Peki, nasıl farklılar? ESVM'lerde bu benzerlik çekirdek hesaplaması nasıl önlenir?

Yanıtlar:


20

(Önce aşağıdaki "tabloya" bakmak isteyebilirsiniz)

"Klasik" destek vektör makineleri ile başlayalım. Bunlar iki kategori arasında ayrım yapmayı öğrenir. A kategorisinin bazı örneklerini, B kategorisinin bazılarını toplar ve her ikisini de A'yı B'den en iyi ayıran çizgi / düzlem / hiper düzlemi bulan SVM eğitim algoritmasına iletirsiniz. Bu işe yarar - ve genellikle oldukça iyi çalışır - iyi tanımlanmış ve birbirini dışlayan sınıfları birbirinden ayırmak istersiniz: erkekler ve kadınlar, alfabenin harfleri, vb.

Ancak, bunun yerine "A" ları tanımlamak istediğinizi varsayalım. Bunu bir sınıflandırma problemi olarak ele alabilirsiniz: "A" ları "A-değil" lerden nasıl ayırt edebilirim? Köpek resimlerinden oluşan bir eğitim seti toplamak oldukça kolaydır, ancak köpek olmayan eğitim setinize ne girmelidir? Köpek olmayan sonsuz sayıda şey olduğundan, köpek olmayan şeylerin kapsamlı ancak temsili bir eğitim setini oluşturmakta zorlanabilirsiniz. Bunun yerine, tek sınıflı bir sınıflandırıcı kullanmayı düşünebilirsiniz. Geleneksel, iki sınıflı sınıflandırıcı, A'yı B'den ayıran bir (hiper) düzlem bulur. Bunun yerine, bir sınıf SVM, sınıftaki tüm noktaları ("A" lar) başlangıç ​​noktasından ayıran çizgi / düzlem / hiper düzlemi bulur. ;

Ensemble SVM "sistemi" aslında birçok iki sınıf SVM "alt biriminin" bir koleksiyonudur. Her alt birim bir tek birbir sınıf için olumlu örnek ve diğeri için muazzam negatif örnek koleksiyonu. Bu nedenle, köpeklere karşı köpek olmayan örneklere (standart iki sınıf SVM) veya köpeklere karşı kökene (tek sınıf SVM) ayrım yapmak yerine, her alt birim belirli köpek (örn., "Rex") ve birçok köpek olmayan köpek arasında ayrım yapar örnekleri. Bireysel alt ünite SVM'leri pozitif sınıfın her örneği için eğitilir, bu nedenle Rex için bir SVM, Fido için bir diğeri, saat 6'da havlayan komşunuzun köpeği için başka bir SVM'ye sahip olursunuz. Bu alt birim SVM'lerin çıktıları, yalnızca belirli örneklerden biri değil, bir köpeğin test verilerinde görünüp görünmediğini belirlemek için kalibre edilir ve birleştirilir. Tek tek alt birimleri bir dereceye kadar tek sınıf SVM'ler gibi düşünebilirsiniz, burada koordinat alanı kaydırılır, böylece tek pozitif örnek başlangıç ​​noktasındadır.

Özet olarak, temel farklar şunlardır:

Eğitim verileri

  • İki sınıf SVM: Olumlu ve olumsuz örnekler
  • Bir sınıf SVM: Yalnızca olumlu örnekler
  • Topluluk SVM "sistemi": Olumlu ve olumsuz örnekler. Her alt birim, tek bir pozitif örnek ve birçok olumsuz örnek üzerinde eğitilir.

Makine Sayısı

  • İki sınıf SVM: bir
  • Bir sınıf SVM: bir
  • Topluluk SVM "sistemi": çok (pozitif örnek başına bir alt birim makinesi)

Sınıf başına örnek (makine başına)

  • İki sınıf SVM: çok / çok
  • Bir sınıf SVM: çok / bir (başlangıç ​​noktasında sabit)
  • Topluluk SVM "sistemi": çok / çok
  • Topluluk SVM "alt birimi": bir / çok

Rötuş

  • İki sınıf SVM: Gerekli değil
  • Bir sınıf SVM: Gerekli değil
  • Topluluk SVM'si: Her bir SVM çıktısını sınıf düzeyinde bir tahminde birleştirmek için gereklidir.

Postscript: "[diğer yaklaşımlar] ile örneklerin benzerlik çekirdeğinin hesaplanabileceği ortak bir özellik alanına eşlenmesini gerektirdiğini sormuştunuz. Geleneksel iki sınıflı bir SVM'nin , sınıfın tüm üyelerinin bir şekilde benzer olduğu varsayımı altında çalıştıklarını düşünüyorum ve bu nedenle, büyük danalar ve dachsunds'ları birbirine yakın, ancak diğer her şeyden uzak tutan bir çekirdek bulmak istiyorsunuz . Aksine, topluluk SVM sistemi, yeterince iyi bir dane benzeri VEYA daksund benzeri VEYA kaniş benzeri ise, bu örnekler arasındaki ilişki hakkında endişe duymadan bir köpek diyerek bunu ortadan kaldırır.


Harika ve kapsamlı cevap için teşekkürler. Açıkça söylemek gerekirse, bazı yerlerde gerçekten Örnek SVM'lerin "Topluluğu" anlamına gelirken, diğerlerinde sadece "Örnek" SVM? Adil olmak gerekirse, (1) TEK ESVM'li TEK OSVM veya (2) ESVM ENSEMBLE'li OSVM ENSEMBLE ile bir karşılaştırma yapılmalıdır.
bjou

Umarım bunun birden fazla sınıfa ne kadar iyi genelleştiğini sormak konu dışı değildir? Kedilerim, köpeklerim ve kuşlarım varsa, bu esvm her bir kediye karşı fido için bir "eleman" SVM gerektiriyor mu VE her bir kuşa karşı fido için bir "eleman" SVM gerektiriyor mu? 3 kategorinin her biri için 10 veri noktası olsaydı, "köpek" başına 20 element SVM'ye veya 200 elementten oluşan bir topluluğa sahip olduğum anlamına mı gelir? 300 veri noktası ve 20 boyutu veya 50k veri noktası ve 50k boyutu varsa ne olur? SVM'lerin rastgele bir ormanını yapsaydım, "boyutsallığın laneti" nin etkisini azaltmak için rastgele altkümeler kullanabilir miyim?
EngrStudent - Monica

@bjou, ESVM terminolojisi ile biraz özensiz davrandım, bu yüzden geri döndüm ve temizledim. Sanırım ESVM sisteminin bir "alt birimini" bir OSVM gibi olarak düşünebilirsiniz, tek fark, koordinat sisteminin yeniden merkezlenmesi, böylece pozitif örnek başlangıç ​​noktasındadır.
Matt Krause

1
@EngrStudent, gerçekten güzelce genelleme yapıyor. Makalede, ~ 20 kategorisi olan Pascal VOC görevini kullanıyorlar. Hayvan örneğimizi genişletmek için, "Fido" vs. (tüm kuşlar, kediler ve balıklar) için bir alt biriminiz, "Rex" ve diğer tüm köpekler için başka bir alt biriminiz vardır. Kuşlar için "Tweety" ile (tüm kediler, köpekler, balıklar), "Polly" ile tüm kuş olmayanlar vb. Her kedi ve balık örneği için, sırasıyla tüm kedi olmayan ve balık olmayanlara karşı eğitilmiş bir alt birim de olacaktır. Sınıf sayısına bakılmaksızın etiketli örnek başına 1 SVM elde edersiniz.
Matt Krause

Bir yükseliş kuzeni gibi geliyor (gradyanla güçlendirilmiş ağaçlar anlamında). Topluluk, çıktı hatası ağırlıklı mı, ya da eşit ağırlıklı mı?
EngrStudent - Monica

2

Kısacası, ESVM modeli, her bir eğitim seti öğesini diğerlerinden ayırmak için eğitilmiş bir SVM grubudur, OSVM ise bir sınıfa ait eğitim unsurlarının her bir alt grubunu ayırt etmek için eğitilmiş bir SVM grubudur. Yani, eğitim setinde 300 kedi ve 300 köpek örneğiniz varsa, ESVM her biri bir evcil hayvan için 600 SVM yapacak, OSVM iki SVM (ilk olarak tüm kediler için, tüm köpekler için ikinci) yapacak .

Bu şekilde, ESVM'nin tüm sınıfın kümelediği bir alan bulması gerekmez, daha ziyade bu tek elemanın bir aykırı değer olduğu bir alan bulması gerekmez, bu da daha basit ve yüksek bir hassasiyete yol açar. Hatırlamanın topluluk tarafından sağlandığı söylenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.