Ringkasan: PCA dapat dilakukan sebelum LDA untuk mengatur masalah dan menghindari pemasangan yang berlebihan.
Ingatlah bahwa proyeksi LDA dihitung melalui komposisi eigend dari , di mana dan berada di dalam dan di antara matriks kovarian kelas. Jika ada kurang dari titik data (di mana adalah dimensi ruang Anda, yaitu jumlah fitur / variabel), maka akan tunggal dan karenanya tidak dapat dibalik. Dalam hal ini tidak ada cara untuk melakukan LDA secara langsung, tetapi jika seseorang menggunakan PCA terlebih dahulu, itu akan berhasil. @ Harun membuat komentar ini di komentar untuk jawabannya, dan saya setuju dengan itu (tetapi tidak setuju dengan jawabannya secara umum, seperti yang akan Anda lihat sekarang).Σ−1WΣBΣWΣBNNΣW
Namun, ini hanya sebagian dari masalah. Gambaran yang lebih besar adalah bahwa LDA sangat mudah untuk menyesuaikan data. Perhatikan bahwa matriks kovarians di dalam kelas akan dibalik dalam perhitungan LDA; untuk inversi matriks dimensi tinggi adalah operasi yang sangat sensitif yang hanya dapat dilakukan dengan andal jika perkiraan benar-benar baik. Tetapi dalam dimensi tinggi , benar-benar sulit untuk mendapatkan perkiraan yang tepat dari , dan dalam praktiknya orang sering harus memiliki lebih banyak daripada titik data untuk mulai berharap bahwa perkiraan itu baik. Kalau tidak,ΣWN≫1ΣWNΣW akan hampir singular (yaitu beberapa nilai eigen akan sangat rendah), dan ini akan menyebabkan pemasangan yang berlebihan, yaitu pemisahan kelas yang hampir sempurna pada data pelatihan dengan kinerja kebetulan pada data uji.
Untuk mengatasi masalah ini, seseorang perlu mengatur masalah. Salah satu cara untuk melakukannya adalah menggunakan PCA untuk mengurangi dimensi terlebih dahulu. Ada yang lain, yang bisa dibilang lebih baik, misalnya metode LDA (rLDA) teratur yang hanya menggunakan dengan kecil alih-alih (ini disebut estimator penyusutan ), tetapi melakukan PCA pertama secara konseptual merupakan pendekatan yang paling sederhana dan seringkali berfungsi dengan baik.(1−λ)ΣW+λIλΣW
Ilustrasi
Berikut adalah ilustrasi masalah yang terlalu pas. Saya menghasilkan 60 sampel per kelas dalam 3 kelas dari distribusi Gaussian standar (rata-rata nol, varian unit) dalam ruang 10-, 50-, 100-, dan 150-dimensi, dan menerapkan LDA untuk memproyeksikan data pada 2D:
Perhatikan bagaimana seiring dengan pertumbuhan dimensi, kelas menjadi lebih baik dan lebih baik dipisahkan, sedangkan pada kenyataannya tidak ada perbedaan antara kelas.
Kita dapat melihat bagaimana PCA membantu mencegah overfitting jika kita membuat kelas sedikit terpisah. Saya menambahkan 1 ke koordinat pertama dari kelas pertama, 2 ke koordinat pertama dari kelas kedua, dan 3 ke koordinat pertama dari kelas ketiga. Sekarang mereka sedikit terpisah, lihat subplot kiri atas:
Overfitting (baris atas) masih jelas. Tetapi jika saya pra-proses data dengan PCA, selalu menjaga 10 dimensi (baris bawah), overfitting menghilang sementara kelas tetap terpisah secara optimal.
PS. Untuk mencegah kesalahpahaman: Saya tidak mengklaim bahwa PCA + LDA adalah strategi regularisasi yang baik (sebaliknya, saya akan menyarankan untuk menggunakan rLDA), saya hanya menunjukkan bahwa itu adalah strategi yang mungkin .
Memperbarui. Topik yang sangat mirip telah dibahas sebelumnya di utas berikut dengan jawaban yang menarik dan komprehensif yang disediakan oleh @cbeleites:
Lihat juga pertanyaan ini dengan beberapa jawaban yang bagus:
best practice
. PCA dan LDA, sebagai teknik pengurangan dimensionalitas, sangat berbeda. Kadang-kadang orang melakukan PCA sebelum LDA, tetapi memiliki risiko untuk membuang (dengan PC yang dibuang) dimensi diskriminatif penting. Pertanyaan yang Anda ajukan sebenarnya telah ditanyakan dalam beberapa bentuk di situs ini beberapa kali. Silakan cari "PCA LDA", untuk membaca apa yang orang katakan padanya.