Jak obliczyć wagi kryterium Fishera?

12

Studiuję rozpoznawanie wzorców i uczenie maszynowe i natrafiłem na następujące pytanie.

Rozważ problem z klasyfikacją dwóch klas z jednakowym prawdopodobieństwem wcześniejszej klasy

P(D1)=P(D2)=12

oraz rozkład instancji w każdej klasie podany przez

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

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

Jak obliczyć wagi kryterium Fishera?

Aktualizacja 2: Obliczona waga dostarczona przez moją książkę to: .W=[4329]

Aktualizacja 3: Jak sugeruje @xeon, rozumiem, że powinienem ustalić linię projekcji dla dyskryminatora Fishera.

Aktualizacja 4: Niech będzie kierunkiem linii rzutowania, następnie liniowa metoda dyskryminacji Fishera stwierdza, że ​​najlepsze to takie, dla którego funkcja kryterium jest zmaksymalizowana. Pozostałe wyzwanie polega na tym, jak uzyskać liczbowo wektor ?W WWWW

Dr Hoshang
źródło
Twoja pierwsza dystrybucja jest niezdefiniowana. W szczególności drugi wariant pary ma rozkład zdegenerowany z wariancją 0, ale ma dodatnią kowariancję z pierwszą zmienną, co jest niemożliwe.
owensmartin
@ owensmartin czy masz pojęcie, jak te wartości są obliczane?
Dr Hoshang
Jaka jest definicja wagi kryterium Fishera?
Vladislavs Dovgalecs
Mam na myśli to, że liniowy dyskryminator Fishera jest podawany przez wektor w, który maksymalizuje ... jest odnotowany na każdym materiale, takim jak luthuli.cs.uiuc.edu/~daf/courses/Learning/Kernelpapers/... na str. 2. czy jest w porządku @xeon?
Dr Hoshang
Wskazówka: jaka będzie granica między dwiema klasami? Liniowy, wielomianowy, coś jeszcze?
Vladislavs Dovgalecs

Odpowiedzi:

11

Zgodnie z dokumentem, do którego linkujesz (Mika i in., 1999) , musimy znaleźć które maksymalizuje tak zwany uogólniony iloraz Rayleigha ,w

wS.bwwS.W.w,

gdzie dla średnich i kowariancji C 1 , C 2 ,m1,m2)do1,do2)

S.b=(m1-m2))(m1-m2)),S.W.=do1+do2).

S.bw=λS.W.w,
λ wSB-λSW=( 16 - 3 λ 16 16 16 - 2 λ ).
det(S.b-λS.W.)=0
w
S.b-λS.W.=(16-3)λ161616-2)λ).

Wektor własny o największej wartości własnej maksymalizuje iloraz Rayleigha. Zamiast wykonywać obliczenia ręcznie, rozwiązałem uogólniony problem wartości własnych w Pythonie za pomocą scipy.linalg.eigi otrzymałem co różni się od rozwiązania znalezionego w książce. Poniżej nakreśliłem optymalną hiperpłaszczyznę znalezionego wektora ciężaru (czarny) i hyerplane wektora ciężaru znalezionego w książce (czerwony).

w10,5547,w2)0,8321,

wprowadź opis zdjęcia tutaj

Lucas
źródło
1
Ten przykład jest bardzo interesujący. Obie linie oddzielają dwie klasy, ale jedna z nich jest „lepsza” z punktu widzenia teorii uczenia się.
Vladislavs Dovgalecs,
2
Kryterium Fishera opisano szczegółowo w sekcji 5-2-3 na books.google.com/…
nini
1
@Lucas może wynik jest bliski komentarzom Xeona: „Być może powinniśmy zgłosić wektor jednostkowy w, ponieważ hiperpłaszczyzna jest określona przez kierunek, a nie przez wielkość”. Prawda?
nini
1
Och !!! trudne pytanie, polecam wszystkim, aby zobaczyć stronę 2 na dml.ir/wp-content/uploads/2012/04/SPR-S12-M-Sol.pdf
użytkownik153695
1
@Lucas Thanks. czy mógłbyś dodać kolejne zdjęcie dla W = [- 2/3 -2/3] i W = [- 4/3 -2/3] i W = [- 2-3] w trzech różnych kolorach, aby zobaczyć granicę? Dzięki. Dałem ci nagrodę za miłą odpowiedź.
nini
7

S.OL.UT.jaON.1:

W ślad za Dudą i in. (Pattern CLassification), który ma alternatywne rozwiązanie dla @lucas iw tym przypadku daje bardzo łatwe do obliczenia rozwiązanie ręcznie. (Mam nadzieję, że to alternatywne rozwiązanie pomaga !! :))

W dwóch klasach LDA celem jest:

wT.S.bwwT.S.W.w co oznacza po prostu, że zwiększa wariancję między klasami i zmniejsza wariancję wewnątrz klasy.

gdzie i , tutaj są macierzą kowariancji, a są odpowiednio klasami 1 i 2.S.b=(m1-m2))(m1-m2))T.S.W.=S.1+S.2)S.1,S.2)m1,m2)

Rozwiązaniem tego uogólnionego ilorazu Raleigha jest uogólniony sonda wartości własnej.

S.bw=λS.W.wS.W.-1S.bw=λw

Powyższy preparat ma postać zamkniętą. jest macierzą rangi 1 na podstawie więc którą można normować, aby uzyskać odpowiedź.S.bm1-m2)wS.W.-1(m1-m2))

Właśnie obliczyłem i otrzymałem [0,5547; 0,8321].w

S.W.-1(m1-m2))=(S.1+S.2))-1(m1-m2))=([2)001]+[1001])-1([00]-[44])=([1/3)001/2)])([00]-[44])=[-1,3333-2,0000][0,55470,8321]

Patrz: Klasyfikacja wzorów według Dudy, Hart, Stork

S.OL.UT.jaON.2):

Alternatywnie można to rozwiązać, znajdując wektor własny w uogólnionym problemie wartości własnej. S.bw=λS.W.w

Wielomian w lambda można utworzyć za pomocą a rozwiązaniem tego wielomianu będzie wartość własna dla . Powiedzmy teraz, że masz zestaw wartości własnych jako pierwiastki wielomianu. Teraz podstaw i uzyskaj odpowiedni wektor własny jako rozwiązanie układu liniowego równań . Robiąc to dla każdego i, możesz uzyskać zestaw wektorów i jest to zestaw wektorów własnych jako rozwiązań.remitmirmjanzant(S.b-λS.W.)S.bw=λS.W.wλ1,λ2),...,λn,λ=λja,ja{1,2),..,n}S.bwja=λjaS.W.wja{wja}ja=1n

remitmirmjanzant(S.b-λS.W.)=[16-3)λ161616-2)λ]=6λ2)-80λ , więc wartości własne są pierwiastki wielomianowe .6λ2)-80λ

Zatem 0 i 40/3 to dwa rozwiązania. Dla LDA rozwiązaniem jest wektor własny odpowiadający najwyższej wartości własnej.λ=

Rozwiązanie układu równań i(S.b-λjaS.W.)wja=0λja=40/3)

który okazuje się być[16-3)λ161616-2)λ]wja[-724848-32]wja=0

Rozwiązaniem powyższego układu równań jest który jest taki sam jak poprzednie rozwiązanie.[-0,5547-0,8321][0,55470,8321]

Alternatywnie możemy powiedzieć, że leży w pustej przestrzeni .[0,55470,8321][-724848-32]

W przypadku dwóch klas LDA rozwiązaniem jest wektor własny o najwyższej wartości własnej. Ogólnie rzecz biorąc, dla LDA klasy C rozwiązanie stanowią pierwsze wektory własne C - 1 o najwyższych wartościach własnych C - 1.

W tym filmie wyjaśniono, jak obliczać wektory własne dla prostego problemu z wartością własną. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )

Oto przykład. http://www.sosmath.com/matrix/eigen2/eigen2.html

Wieloklasowy LDA: http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA

Obliczanie pustej przestrzeni macierzy: https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces/null_column_space/v/null-space-2-calcul-the-null-space-of-a-matrix

dksahuji
źródło
1
Dobra odpowiedź, oznacza to, że odpowiedź książki jest błędna !! Okej
Dr Hoshang
Uważam, że ta odpowiedź jest poprawna i jeśli twoja książka definiuje i zobacz, co otrzymujesz dzięki tym definicjom. S.W.S.b
dksahuji,
2
-1.33 jest równe -4/3, ale drugi element jest inny. Może wektor w raporcie książki? Nie ma racji?
Wielkie
2
wypełnij rozwiązanie 2, aby osiągnąć wartość W, aby je zdobyć
nini
1
@ Dr.Hoshang: Rozwiązanie w twojej książce jest złe. Nie mam pojęcia dlaczego.
ameba mówi Przywróć Monikę