SOLUTION1:
Duda ve ark. @Lucas'a alternatif bir çözümü olan ve bu durumda çözümü hesaplamak çok kolaydır. (Umarım bu alternatif çözüm yardımcı olur !! :))
İki sınıf LDA'da amaç:
wTSBwwTSWw bu sadece sınıf varyansı arasında artış ve sınıf içi varyansın azalması anlamına gelir.
burada ve , burada kovaryans matrisi ve sırasıyla sınıf 1 ve 2'nin araçlarıdır.SB=(m1−m2)(m1−m2)TSW=S1+S2S1,S2m1,m2
Bu genelleştirilmiş raleigh bölümünün çözümü, genelleştirilmiş bir özdeğer problemidir.
SBw=λSWw→SW−1SBw=λw
Yukarıdaki formülasyon kapalı bir form çözeltisine sahiptir. , temelli bir rütbe 1 matrisidir, bu nedenle ve cevabı almak için normlizd olabilir.SBm1−m2w∝SW−1(m1−m2)
Sadece hesaplanan ve [0,5547, 0,8321] var.w
SW−1(m1−m2)=(S1+S2)−1(m1−m2)=([2001]+[1001])−1([00]−[44])=([1/3001/2])([00]−[44])=[−1.3333−2.0000]∝[0.55470.8321]
Ref: Duda, Hart, Leylek Desen Sınıflandırması
SOLUTION2:
Alternatif olarak, genelleştirilmiş özdeğer problemine öz vektör bularak çözülebilir.
SBw=λSWw
bir polinom tarafından oluşturulabilir ve bu polinomun çözümleri için öz değer . Şimdi diyelim ki polinomun kökleri olarak gibi bir dizi öz değeriniz var . Şimdi ve karşılık gelen öz vektörü doğrusal denklem sistemine çözüm olarak . Bunu her i için yaparak bir dizi vektör alabilirsiniz ve bu bir dizi öz vektörleridir.determinant(SB−λSW)SBw=λSWwλ1,λ2,...,λn,λ=λi,i∈{1,2,..,n}SBwi=λiSWwi{wi}ni=1
determinant(SB−λSW)=[16−3λ161616−2λ]=6λ2−80λ , Yani öz değerler kökleri polinom .6λ2−80λ
Yani 0 ve 40/3 iki çözümdür. LDA için, en yüksek öz değerine karşılık gelen öz vektör, çözeltidir.λ=
Denklem sistemine çözüm ve(SB−λiSW)wi=0λi=40/3
ki[16−3λ161616−2λ]wi∝[−724848−32]wi=0
Yukarıdaki denklem sisteminin çözümü, önceki çözümle aynı olan şeklindedir.[−0.5547−0.8321]∝[0.55470.8321]
Alternatif olarak, , boş alanında yer .[0.55470.8321][−724848−32]
İki sınıf LDA için, en yüksek öz değeri olan öz vektör çözümdür. Genel olarak, C sınıfı LDA için, en yüksek C - 1 özdeğerlerine kadar olan ilk C - 1 öz vektörleri çözeltiyi oluşturur.
Bu videoda, basit özdeğer problemi için öz vektörlerin nasıl hesaplanacağı açıklanmaktadır. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )
Aşağıda bir örnek verilmiştir.
http://www.sosmath.com/matrix/eigen2/eigen2.html
Çok sınıflı LDA:
http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA
Bir matrisin Boş Alanının Hesaplanması:
https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces/null_column_space/v/null-space-2-calculating-the-null-space-of-a-matrix