Membakukan fitur saat menggunakan LDA sebagai langkah pra-pemrosesan

9

Jika Analisis Diskriminan Linier multi-kelas (atau saya juga membaca Analisis Diskriminan Berganda kadang-kadang) digunakan untuk pengurangan dimensi (atau transformasi setelah pengurangan dimensi melalui PCA), saya memahami bahwa secara umum "normalisasi Z-score" (atau standardisasi) dari fitur tidak akan diperlukan, bahkan jika diukur pada skala yang sama sekali berbeda, benar? Karena LDA mengandung istilah yang mirip dengan jarak Mahalanobis yang sudah menyiratkan jarak Euclidean yang dinormalisasi?

Jadi tidak hanya tidak perlu, tetapi hasil setelah LDA pada fitur standar dan non-standar harus persis sama !?

amuba
sumber
1
in general a "Z-score normalization" (or standardization) of features won't be necessary, even if they are measured on completely different scalesTidak, pernyataan ini salah. Masalah standardisasi dengan LDA adalah sama seperti dalam metode multivarian apa pun. Misalnya, PCA. Jarak Mahalanobis tidak ada hubungannya dengan topik itu.
ttnphns
Terima kasih, alangkah baiknya jika Anda dapat mengomentari "masalah standardisasi" ini di PCA, misalnya. Jika fitur tidak distandarisasi untuk PCA, bukankah beberapa fitur berkontribusi (terbobot) lebih banyak jika diukur pada skala yang berbeda dan memberi saya sumbu komponen yang sama sekali berbeda? Dan untuk LDA, mengapa itu tidak perlu? Apakah hasilnya (diskriminan linier) berbeda, jika tidak, mengapa?
2
Ketika Anda membakukan (yaitu pusat, lalu skala) Anda benar-benar akan menganalisis korelasi. Jika Anda tidak menstandarisasi, hanya center, Anda akan benar-benar menganalisis kovarian. Hasil akan berbeda, yang normal, karena seperti Anda menangani data yang berbeda. Fakta ini seharusnya tidak membuatmu khawatir. Anda dapat menikmati membaca utas stats.stackexchange.com/q/62677/3277 .
ttnphns
2
@SebastianRaschka, amoeba: Saya harus mempertimbangkan kembali komentar saya The issue of standardization with LDA is the same as in any multivariate method. Sebenarnya, dengan LDA (sebagai lawan dari PCA, misalnya) hasilnya tidak boleh berbeda apakah Anda hanya memusatkan (LDA secara internal selalu memusatkan variabel, untuk mengekstrak diskriminan) atau z-data standar.
ttnphns
2
(Lanj.) Nilai eigen, koefisien terstandarisasi, korelasi struktur, skor diskriminan - semuanya akan sama. Hanya vektor eigen yang akan berbeda. Alasan mengapa tidak ada efek standardisasi pada hasil utama dalam LDA adalah bahwa LDA menguraikan rasio kovarian Antara-Dalam-, dan bukan kovarians itu sendiri yang memiliki besaran (seperti PCA).
ttnphns

Jawaban:

13

Penghargaan untuk jawaban ini diberikan kepada @ttnphns yang menjelaskan semuanya dalam komentar di atas. Tetap saja, saya ingin memberikan jawaban yang panjang.

Untuk pertanyaan Anda: Apakah hasil LDA pada fitur standar dan non-standar akan persis sama? --- jawabannya adalah Ya . Pertama saya akan memberikan argumen informal, dan kemudian melanjutkan dengan beberapa matematika.

Bayangkan dataset 2D ditampilkan sebagai sebaran plot di satu sisi balon (gambar balon asli diambil dari sini ): LDA di atas balon

Di sini titik merah adalah satu kelas, titik hijau adalah kelas lain, dan garis hitam adalah batas kelas LDA. Sekarang penskalaan sumbu atau berhubungan dengan peregangan balon secara horizontal atau vertikal. Secara intuitif jelas bahwa meskipun kemiringan garis hitam akan berubah setelah peregangan seperti itu, kelas-kelas akan dapat dipisahkan seperti sebelumnya, dan posisi relatif dari garis hitam tidak akan berubah. Setiap pengamatan tes akan ditugaskan ke kelas yang sama seperti sebelum peregangan. Jadi bisa dikatakan bahwa peregangan tidak mempengaruhi hasil LDA.yxy


Sekarang, secara matematis, LDA menemukan seperangkat sumbu diskriminan dengan menghitung vektor eigen dari , di mana dan berada di dalam dan di antara kelas matriks pencar. Secara ekivalen, ini adalah vektor eigen umum dari masalah nilai eigen umum .W B B v =λ W vW1BWBBv=λWv

Pertimbangkan matriks data terpusat dengan variabel dalam kolom dan titik data dalam baris, sehingga total matriks sebaran diberikan oleh . Membakukan jumlah data untuk menskalakan setiap kolom dengan angka tertentu, yaitu menggantinya dengan , di mana adalah matriks diagonal dengan koefisien penskalaan (invers dari standar deviasi setiap kolom) pada diagonal. Setelah pengubahan ukuran tersebut, matriks sebar akan berubah sebagai berikut: , dan transformasi yang sama akan terjadi denganT = XX XXT=XXXXnew=XΛΛTnew=ΛTΛWnew dan .Bnew

Biarkan menjadi vektor eigen dari masalah asli, yaituJika kita mengalikan persamaan ini dengan di sebelah kiri, dan menyisipkan di kedua sisi sebelum , kita mendapatkan yaitu yang berarti bahwav

Bv=λWv.
ΛΛΛ1v
ΛBΛΛ1v=λΛWΛΛ1v,
BnewΛ1v=λWnewΛ1v,
Λ1vadalah vektor eigen setelah pengubahan ukuran dengan nilai eigen yang persis sama seperti sebelumnya.λ

Jadi sumbu diskriminan (diberikan oleh vektor eigen) akan berubah, tetapi nilai eigennya, yang menunjukkan seberapa banyak kelas-kelas dipisahkan, akan tetap sama persis. Selain itu, proyeksi pada sumbu ini, yang semula diberikan oleh , sekarang akan diberikan oleh , yaitu juga akan tetap sama persis (mungkin hingga faktor penskalaan).XvXΛ(Λ1v)=Xv

amuba
sumber
2
+1. "Moral" dari keseluruhan cerita adalah bahwa perbedaan antara satu-satunya data yang terpusat dan data terstandarisasi sepenuhnya hilang dalam vektor eigen. Jadi ketika data dikalikan dengan vektor eigen yang sesuai untuk menghasilkan skor diskriminan, efek dari standardisasi dibatalkan. XXΛΛ
ttnphns