Saya mempelajari pengenalan pola dan pembelajaran mesin, dan saya mengalami pertanyaan berikut.
Pertimbangkan masalah klasifikasi dua kelas dengan probabilitas kelas sebelumnya yang sama
dan distribusi instance di setiap kelas yang diberikan oleh
Bagaimana cara menghitung bobot kriteria Fisher?
Pembaruan 2: Berat terhitung yang disediakan oleh buku saya adalah: .
Pembaruan 3: Seperti yang ditunjukkan oleh @xeon, saya mengerti bahwa saya harus menentukan garis proyeksi untuk diskriminan Fisher.
Pembaruan 4: Misalkan menjadi arah garis proyeksi, maka metode diskriminan linier Fisher menemukan bahwa terbaik adalah yang di mana fungsi kriteria dimaksimalkan. Tantangan yang tersisa adalah bagaimana kita bisa mendapatkan vektor numerik ?W W
Jawaban:
Mengikuti makalah yang Anda tautkan (Mika et al., 1999) , kita harus menemukan yang memaksimalkan apa yang disebut generient Rayleigh quotient ,w
di mana untuk berarti dan covariances ,C 1 , C 2m1,m2 C1,C2
Solusinya dapat ditemukan dengan memecahkan masalah nilai eigen umum dengan komputasi pertama nilai eigen dengan menyelesaikan dan kemudian menyelesaikan untuk vektor eigen . Dalam kasus Anda, The penentu matriks 2x2 ini dapat dihitung dengan tangan.λdet( S B -λ S W )=0wSB-λSW=(
Vektor eigen dengan nilai eigen terbesar memaksimalkan hasil Rayleigh. Alih-alih melakukan perhitungan dengan tangan, saya memecahkan masalah nilai eigen umum dengan menggunakan Python
scipy.linalg.eig
dan mendapatkan yang berbeda dari solusi yang Anda temukan di buku Anda. Di bawah ini saya merencanakan hyperplane optimal dari vektor bobot yang saya temukan (hitam) dan pesawat terbang vektor bobot yang ditemukan di buku Anda (merah).sumber
Mengikuti Duda et al. (Pattern CLassification) yang memiliki solusi alternatif untuk @lucas dan dalam hal ini memberikan solusi komputasi yang sangat mudah dengan tangan. (Semoga solusi alternatif ini membantu !! :))
Dalam dua kelas LDA tujuannya adalah:
di mana dan , di sini adalah matriks kovarians dan masing-masing adalah sarana kelas 1 dan 2.SB=(m1−m2)(m1−m2)T SW=S1+S2 S1,S2 m1,m2
Solusi rient quotient umum ini adalah masalah nilai eigen umum.
Formulasi di atas memiliki solusi bentuk tertutup. adalah matriks peringkat 1 dengan basis jadi yang dapat normlizd untuk mendapatkan jawabannya.SB m1−m2 w∝SW−1(m1−m2)
Saya baru saja menghitung dan mendapat [0,5547; 0,8321].w
Ref: Klasifikasi Pola oleh Duda, Hart, Stork
Atau, itu bisa diselesaikan dengan menemukan vektor eigen untuk masalah nilai eigen umum.SBw=λSWw
Polinomial dalam lambda dapat dibentuk oleh dan solusi untuk polinomial tersebut akan menjadi nilai eigen untuk . Sekarang katakanlah Anda mendapat satu set nilai eigen sebagai akar dari polinomial. Sekarang gantikan dan dapatkan vektor eigen terkait sebagai solusi untuk sistem persamaan linear . Dengan melakukan ini untuk setiap i Anda dapat memperoleh satu set vektor dan itu adalah satu set vektor eigen sebagai solusi.determinant(SB−λSW) SBw=λSWw λ1,λ2,...,λn, λ=λi,i∈{1,2,..,n} SBwi=λiSWwi {wi}ni=1
Jadi 0 dan 40/3 adalah dua solusi. Untuk LDA, vektor eigen yang sesuai dengan nilai eigen tertinggi adalah solusinya.λ=
Solusi untuk sistem persamaan dan(SB−λiSW)wi=0 λi=40/3
yang ternyata[16−3λ161616−2λ]wi∝[−724848−32]wi=0
Solusi untuk sistem persamaan di atas adalah yang sama dengan solusi sebelumnya.[−0.5547−0.8321]∝[0.55470.8321]
Atau, kita dapat mengatakan bahwa terletak pada ruang nol dari .[ - 72 48 48 - 32 ][0.55470.8321] [−724848−32]
Untuk LDA dua kelas, vektor eigen dengan nilai eigen tertinggi adalah solusinya. Secara umum, untuk LDA kelas C, vektor eigen C - 1 pertama hingga nilai eigen C - 1 tertinggi merupakan solusi.
Video ini menjelaskan cara menghitung vektor eigen untuk masalah nilai eigen sederhana. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )
Berikut ini adalah contohnya. http://www.sosmath.com/matrix/eigen2/eigen2.html
LDA multi-kelas: http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA
Menghitung Null Space dari sebuah matriks: https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces/null_column_space/v/null-space-2-calculating-the-null-space-of-a-matrix
sumber