(Ö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.