Fisher kriter ağırlıkları nasıl hesaplanır?


12

Örüntü tanıma ve makine öğrenimi üzerine çalışıyorum ve aşağıdaki soru ile karşılaştım.

Eşit önceki sınıf olasılığına sahip iki sınıflı bir sınıflandırma problemi düşünün

P(D1)=P(D2)=12

ve verilen her sınıftaki örneklerin dağılımı

p(x|D1)=N([00],[2001]),

p(x|D2)=N([44],[1001]).

Fisher kriter ağırlıkları nasıl hesaplanır?

Güncelleme 2: Kitabım tarafından sağlanan hesaplanan ağırlık: .W=[4329]

Güncelleme 3: @ xeon'un ima ettiği gibi, Fisher'in ayrımcısının projeksiyon hattını belirlemem gerektiğini anlıyorum.

Güncelleme 4: , projeksiyon çizgisinin yönü olsun , sonra Fisher lineer discriminant yöntemi, en iyi ölçüt fonksiyonunun en üst düzeye çıkarıldığı olduğunu bulur . Geriye kalan zorluk, sayısal olarak vektörünü nasıl alabiliriz ?W WWWW


İlk dağıtımınız tanımsız. Özellikle, çiftin ikinci varyasyonu 0 varyansla dejenere bir dağılıma sahiptir, ancak ilk varyant ile pozitif bir kovaryansa sahiptir, bu imkansızdır.
owensmartin

@owensmartin bu değerlerin nasıl hesaplandığı hakkında bir fikriniz var mı?
Dr. Hoshang

Fisher ölçüt ağırlığının tanımı nedir?
Vladislavs Dovgalecs

Fisher'in doğrusal ayırıcısının maksimize eden vektör tarafından verildiği anlamına gelir ... luthuli.cs.uiuc.edu/~daf/courses/Learning/Kernelpapers/… gibi her malzemede s. 2. okx @xeon mu?
Dr. Hoshang

İpucu: İki sınıf arasındaki sınır ne olacak? Doğrusal, polinom, başka bir şey mi?
Vladislavs Dovgalecs

Yanıtlar:


11

Bağlantı verdiğiniz makaleyi takiben (Mika ve ark., 1999) , genelleştirilmiş Rayleigh bölümünü en üst düzeye çıkaran yi bulmalıyız ,w

wSBwwSWw,

burada ve kovaryanslar ,C 1 , C 2m1,m2C1,C2

SB=(m1m2)(m1m2),SW=C1+C2.

Çözüm, genelleştirilmiş özdeğer problemi ilk hesaplama ile çözerek bulunabilir. özdeğerler çözerek özvektör için çözme ve daha sonra . Sizin durumunuzda, Belirleyici bu 2x2 matris elle hesaplanabilir.

SBw=λSWw,
λ
det(SBλSW)=0
w
SBλSW=(163λ1616162λ).

En büyük özdeğeri olan özvektör Rayleigh bölümünü en üst düzeye çıkarır. Hesaplamaları elle yapmak yerine, Python'daki genelleştirilmiş özdeğer problemini kullanarakscipy.linalg.eig ve bulduğunuz farklı olan . Aşağıda bulduğum ağırlık vektörünün optimal hiper düzlemini (siyah) ve kitabınızda bulunan ağırlık vektörünün hiper düzlemini (kırmızı) çizdim.

w10.5547,w20.8321,

resim açıklamasını buraya girin


1
Bu örnek çok ilginç. Her iki çizgi de iki sınıfı ayırır ancak bunlardan biri öğrenme teorisi bakış açısından "daha iyidir".
Vladislavs Dovgalecs

2
Fisher Criterion, books.google.com/…
nini

1
@Lucas belki söz konusu sonuç xeon yorumlarına yakın, "Belki de birim vektörü w rapor etmeliyiz, çünkü hiper düzlem büyüklükle değil, yön ile tanımlanır."
nini


1
@Lucas Teşekkürler. Sınırı görmek için lütfen üç farklı renkle W = [- 2/3 -2/3] ve W = [- 4/3 -2/3] ve W = [- 2 -3] için başka bir resim ekler misiniz? Teşekkürler. Güzel bir cevap için sana ödül verdim.
nini

7

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=(m1m2)(m1m2)TSW=S1+S2S1,S2m1,m2

Bu genelleştirilmiş raleigh bölümünün çözümü, genelleştirilmiş bir özdeğer problemidir.

SBw=λSWwSW1SBw=λ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.SBm1m2wSW1(m1m2)

Sadece hesaplanan ve [0,5547, 0,8321] var.w

SW1(m1m2)=(S1+S2)1(m1m2)=([2001]+[1001])1([00][44])=([1/3001/2])([00][44])=[1.33332.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}i=1n

determinant(SBλSW)=[163λ1616162λ]=6λ280λ , Yani öz değerler kökleri polinom .6λ280λ

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[163λ1616162λ]wi[72484832]wi=0

Yukarıdaki denklem sisteminin çözümü, önceki çözümle aynı olan şeklindedir.[0.55470.8321][0.55470.8321]

Alternatif olarak, , boş alanında yer .[0.55470.8321][72484832]

İ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


1
Güzel cevap, kitabın cevabı yanlış demektir! Tamam mı?
Dr. Hoshang

Bu cevabın doğru olduğuna inanıyorum ve kitabınız ve farklı tanımlıyorsa , o tanımlarla ne elde ettiğinizi görün. SWSB
dksahuji

2
-1.33, -4/3'e eşittir, ancak ikinci eleman farklıdır. Belki kitap rapor birimi vektör w? Doğru değil mi? Çok teşekkürler
Dr.Hoshang

2
Ödül için W değerine ulaşmak için lütfen çözüm 2'yi tamamlayın
nini

1
@ Dr.Hoshang: Kitabınızdaki çözüm yanlış. Neden olduğuna dair hiçbir fikrim yok.
amip diyor Reinstate Monica
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.