Apa perbedaan antara SVM dan LDA?

17

Apa perbedaan antara Support Vector Machines dan Linear Discriminant Analysis?

Daulton Grey
sumber
Apakah Anda pikir semua SVM linear?
1
Kemungkinan duplikat Bantu saya memahami Mesin Dukungan Vektor
Xi'an
1
LDA mencoba untuk memaksimalkan jarak antara sarana dari dua kelompok, sementara SVM mencoba untuk memaksimalkan margin antara kedua kelompok.,

Jawaban:

18

LDA: Asumsi: data terdistribusi secara normal. Semua kelompok terdistribusi secara identik, jika kelompok memiliki matriks kovarian yang berbeda, LDA menjadi Analisis Diskriminan Kuadratik. LDA adalah pembeda terbaik yang tersedia jika semua asumsi benar-benar dipenuhi. Omong-omong, QDA adalah penggolong non-linear.

SVM: Membuat Generalized Hyperplane (OSH) yang Memisahkan Secara Optimal. OSH mengasumsikan bahwa semua kelompok benar-benar dapat dipisahkan, SVM menggunakan 'variabel kendur' yang memungkinkan sejumlah tumpang tindih antara kelompok. SVM tidak membuat asumsi tentang data sama sekali, artinya itu adalah metode yang sangat fleksibel. Fleksibilitas di sisi lain sering membuatnya lebih sulit untuk menafsirkan hasil dari classifier SVM, dibandingkan dengan LDA.

Klasifikasi SVM adalah masalah optimisasi, LDA memiliki solusi analitis. Masalah optimisasi untuk SVM memiliki formulasi ganda dan primer yang memungkinkan pengguna untuk mengoptimalkan lebih dari jumlah titik data atau jumlah variabel, tergantung pada metode mana yang paling layak secara komputasi. SVM juga dapat menggunakan kernel untuk mengubah classifier SVM dari classifier linier menjadi classifier non-linear. Gunakan mesin pencari favorit Anda untuk mencari 'Trik kernel SVM' untuk melihat bagaimana SVM menggunakan kernel untuk mengubah ruang parameter.

LDA memanfaatkan seluruh set data untuk memperkirakan matriks kovarians dan karenanya agak rentan terhadap outlier. SVM dioptimalkan pada subset data, yang merupakan titik data yang terletak pada margin pemisah. Poin data yang digunakan untuk optimasi disebut vektor dukungan, karena mereka menentukan bagaimana SVM membedakan antara kelompok, dan dengan demikian mendukung klasifikasi.

Sejauh yang saya tahu, SVM tidak benar-benar membedakan antara lebih dari dua kelas. Alternatif outlier yang kuat adalah dengan menggunakan klasifikasi logistik. LDA menangani beberapa kelas dengan baik, asalkan asumsi terpenuhi. Saya percaya, meskipun (peringatan: klaim yang sangat tidak berdasar) bahwa beberapa tolok ukur lama menemukan bahwa LDA biasanya berkinerja cukup baik dalam banyak keadaan dan LDA / QDA sering merupakan metode goto dalam analisis awal.

hal>n https://web.stanford.edu/~hastie/Papers/sda_resubm_daniela-final.pdf . SVM tidak dapat melakukan pemilihan fitur.

Singkatnya: LDA dan SVM memiliki sedikit kesamaan. Untungnya, keduanya sangat bermanfaat.

Beyer
sumber
Analisis diskriminan Fisher yang merupakan jenis LDA spesifik tidak memerlukan distribusi normal atas dataset atau koeksistensi yang sama.
Kode Paus
4

SVM hanya berfokus pada titik-titik yang sulit untuk diklasifikasikan, LDA berfokus pada semua titik data. Poin sulit semacam itu dekat dengan batas keputusan dan dipanggil Vektor Pendukung . Batas keputusan bisa linear, tetapi juga misalnya kernel RBF, atau kernel polinomial. Di mana LDA adalah transformasi linear untuk memaksimalkan keterpisahan.

LDA mengasumsikan bahwa titik data memiliki kovarian yang sama dan kepadatan probabilitas diasumsikan terdistribusi secara normal. SVM tidak memiliki asumsi seperti itu.

LDA bersifat generatif, SVM diskriminatif.

hh32
sumber
2

Jawaban singkat dan manis:

Jawaban di atas sangat menyeluruh, jadi di sini adalah deskripsi singkat tentang cara kerja LDA dan SVM.

Mendukung mesin vektor menemukan pemisah linier (kombinasi linear, hyperplane) yang memisahkan kelas dengan kesalahan paling sedikit, dan memilih pemisah dengan margin maksimum (lebar batas dapat ditingkatkan sebelum mengenai titik data).

Misalnya pemisah linear mana yang paling baik memisahkan kelas?

masukkan deskripsi gambar di sini

Yang dengan margin maksimum:

masukkan deskripsi gambar di sini

Analisis diskriminan linier menemukan vektor rata-rata dari setiap kelas, kemudian menemukan arah proyeksi (rotasi) yang memaksimalkan pemisahan rata-rata:

masukkan deskripsi gambar di sini

Ini juga memperhitungkan varians di dalam kelas untuk menemukan proyeksi yang meminimalkan tumpang tindih distribusi (kovarian) sambil memaksimalkan pemisahan cara:

masukkan deskripsi gambar di sini

Renel Chesak
sumber