Saya berjuang dengan poin proyeksi dalam analisis diskriminan linier (LDA). Banyak buku tentang metode statistik multivariat menggambarkan gagasan LDA dengan gambar di bawah ini.
Deskripsi masalahnya adalah sebagai berikut. Pertama, kita perlu menggambar batas keputusan, menambahkan garis tegak lurus dan kemudian memplot proyeksi titik data di atasnya. Saya ingin tahu bagaimana cara menambahkan titik proyeksi ke garis tegak lurus.
Ada saran / petunjuk?
Jawaban:
Sumbu diskriminan (titik yang diproyeksikan pada Gambar 1 Anda) diberikan oleh vektor eigen pertama dari . Dalam hal hanya dua kelas vektor eigen ini sebanding dengan , di mana adalah centroid kelas. Normalisasi vektor ini (atau vektor eigen yang diperoleh) untuk mendapatkan vektor sumbu satuan . Ini cukup untuk menggambar sumbu.W−1B W−1(m1−m2) mi v
Untuk memproyeksikan titik (terpusat) ke sumbu ini, Anda cukup menghitung . Di sini adalah proyektor linear ke .Xvv⊤ vv⊤ v
Berikut adalah contoh data dari dropbox Anda dan proyeksi LDA:
Berikut adalah kode MATLAB untuk menghasilkan gambar ini (seperti yang diminta):
sumber
Dan solusi "saya". Banyak terima kasih kepada @ttnphns dan @amoeba!
sumber
x
,intercept
danslope
?