(Anda mungkin ingin melihat "tabel" di bawah ini terlebih dahulu)
Mari kita mulai dengan mesin vektor dukungan "klasik". Ini belajar membedakan antara dua kategori. Anda mengumpulkan beberapa contoh kategori A, beberapa kategori B dan meneruskan keduanya ke algoritma pelatihan SVM, yang menemukan garis / bidang / hyperplane yang paling baik memisahkan A dari B. Ini berfungsi - dan sering bekerja dengan cukup baik - saat Anda ingin membedakan antara kelas yang didefinisikan dengan baik dan saling eksklusif: pria vs wanita, huruf-huruf alfabet, dan sebagainya.
Namun, misalkan Anda ingin mengidentifikasi "A" sebagai gantinya. Anda bisa memperlakukan ini sebagai masalah klasifikasi: Bagaimana cara membedakan "A" dari "tidak-A". Cukup mudah untuk mengumpulkan satu set pelatihan yang terdiri dari gambar anjing, tetapi apa yang harus masuk ke set pelatihan Anda bukan-anjing? Karena ada banyak hal yang bukan anjing, Anda mungkin akan kesulitan membangun rangkaian pelatihan yang komprehensif dan representatif untuk semua hal yang bukan anjing. Sebagai gantinya, Anda mungkin mempertimbangkan untuk menggunakan classifier satu kelas. Klasifikasi dua kelas tradisional menemukan bidang (hiper) yang memisahkan A dari B. SVM satu kelas malah menemukan garis / bidang / hyperplane yang memisahkan semua titik di dalam kelas ("A") dari titik asal ;
Ensemble SVM "system" sebenarnya adalah kumpulan dari banyak "subunit" SVM dua kelas. Setiap subunit dilatih menggunakan satucontoh positif untuk satu kelas dan kumpulan besar contoh negatif untuk yang lain. Jadi, alih-alih membedakan anjing vs contoh bukan anjing (SVM dua kelas standar), atau anjing vs asal (SVM satu kelas), setiap subunit mendiskriminasi antara anjing tertentu (misalnya, "Rex") dan banyak yang bukan-anjing contoh. SVM subunit individu dilatih untuk setiap contoh kelas positif, jadi Anda akan memiliki satu SVM untuk Rex, satu lagi untuk Fido, satu lagi untuk anjing tetangga Anda yang menggonggong pada pukul 6 pagi, dan seterusnya. Keluaran dari subunit SVM ini dikalibrasi dan digabungkan untuk menentukan apakah seekor anjing, bukan hanya salah satu dari contoh spesifik, muncul dalam data pengujian. Saya kira Anda juga bisa menganggap masing-masing subnits sebagai SVM satu kelas, di mana ruang koordinat digeser sehingga contoh positif tunggal terletak pada titik asal.
Singkatnya, perbedaan utama adalah:
Data pelatihan
- Dua kelas SVM: Contoh positif dan negatif
- Satu kelas SVM: contoh positif hanya
- Ensemble "sistem" SVM: Contoh positif dan negatif. Setiap subunit dilatih pada satu contoh positif dan banyak contoh negatif.
Jumlah mesin
- Dua kelas SVM: satu
- Satu kelas SVM: satu
- Ensemble SVM "system": banyak (satu mesin subunit per contoh positif)
Contoh per kelas (per mesin)
- Dua kelas SVM: banyak / banyak
- SVM satu kelas: banyak / satu (ditetapkan pada titik asal)
- Ensemble "sistem" SVM: banyak / banyak
- Ensemble SVM "subunit": satu / banyak
Pengolahan pasca
- Dua kelas SVM: Tidak perlu
- SVM satu kelas: Tidak perlu
- Ensemble SVM: Diperlukan untuk menggabungkan output masing-masing SVM ke prediksi tingkat kelas.
Catatan tambahan: Anda telah bertanya apa yang dimaksud dengan "[pendekatan lain] memerlukan pemetaan contoh ke dalam ruang fitur umum di mana kernel kesamaan dapat dihitung." Saya pikir mereka bermaksud bahwa SVM dua kelas tradisional beroperasi di bawah asumsi bahwa semua anggota kelas entah bagaimana mirip, dan jadi Anda ingin menemukan kernel yang menempatkan tarian besar dan dachsund dekat satu sama lain, tetapi jauh dari yang lain. Sebaliknya, sistem SVM ansambel mengesampingkan ini dengan memanggil sesuatu anjing jika itu cukup hebat seperti -e atau ATAU seperti dachsund ATAU seperti pudel, tanpa khawatir tentang hubungan antara para contoh.