Jakie są „współczynniki liniowych dyskryminatorów” w LDA?

17

W Rużywam ldafunkcji z biblioteki MASSdo klasyfikacji. Jak rozumiem LDA, wejście x otrzyma etykietę y , która maksymalizuje p(y|x) , prawda?

Ale kiedy pasuję do modelu, w którym

x=(L.zasol1,L.zasol2))
y=rejarmidotjaon,
że nie bardzo zrozumieć dane wyjściowe lda,

Edycja: aby odtworzyć wynik poniżej, najpierw uruchom:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

Rozumiem wszystkie informacje z powyższego wyjścia, ale jedno, co jest LD1 ? Przeszukuję go w Internecie, czy jest to wynik liniowej dyskryminacji ? Co to jest i dlaczego go potrzebuję?

AKTUALIZACJA

Przeczytałem kilka postów (takich jak ten i ten ), a także przeszukuję sieć w poszukiwaniu DA, a teraz oto, co myślę o DA lub LDA.

  1. Można go użyć do dokonania klasyfikacji, a gdy jest to celem, mogę zastosować podejście Bayesa, to znaczy obliczyć tylne p(y|x) dla każdej klasy yja , a następnie zaklasyfikować x do klasy o najwyższej tylny. Dzięki takiemu podejściu nie muszę wcale szukać osób dyskryminujących, prawda?

  2. Jak czytam w poście , DA lub przynajmniej LDA ma przede wszystkim na celu zmniejszenie wymiarów , dla klas K. i przestrzeni predyktora re dim mogę rzutować re dim x na nową (K.-1) przestrzeń funkcji dim z , to jest,

    x=(x1,...,xre)z=(z1,...,zK.-1)zja=wjaT.x
    ,zmożna postrzegać jako przekształcony wektor cech z oryginalnegox, a każdewjajest wektorem, na któryrzutowane jestx.

Czy mam rację co do powyższych stwierdzeń? Jeśli tak, mam następujące pytania:

  1. Co to jest dyskryminujący ? Czy każdy wpis zja w wektorze z jest dyskryminujący? Lub wja ?

  2. Jak dokonać klasyfikacji za pomocą dyskryminatorów?

awokado
źródło
1
LDA ma 2 odrębne etapy: wydobycie i klasyfikację. Podczas ekstrakcji tworzone są zmienne utajone zwane dyskryminatorami, jako liniowe kombinacje zmiennych wejściowych. Współczynniki w tych liniowych kombinacjach nazywane są współczynnikami dyskryminacyjnymi; o to pytasz. W drugim etapie punkty danych są przypisywane do klas przez tych dyskryminujących, a nie przez oryginalne zmienne. Aby przeczytać więcej, wyszukaj discriminant analysisw tej witrynie.
ttnphns
2
Liniowy wynik dyskryminacyjny jest wartością punktu danych przez dyskryminujący, więc nie należy go mylić ze współczynnikiem dyskryminacyjnym, który jest jak współczynnik regresyjny. Zobacz moją szczegółową odpowiedź tutaj .
ttnphns
@ttnphns, dzięki, a ja przeczytam więcej o DA. BTW, myślałem, że aby sklasyfikować dane wejściowe , po prostu muszę obliczyć tylne p ( y | x ) dla wszystkich klas, a następnie wybrać klasę z najwyższym tylnym, prawda? A ja nie rozumiem, dlaczego muszę L D 1 do obliczenia posterior. Xp(y|x)L.re1
awokado
Państwo może i może zrobić klasyfikacji Bayesa reguła oparta na oryginalnych zmiennych. Ale to nie będzie dyskryminująca analiza. Zasadniczą częścią LDA jest redukcja wymiarów, która pozwala zastąpić oryginalne klasyfikatory zmiennych mniejszą liczbą klasyfikatorów pochodnych, dyskryminatorów. Proszę przeczytać tutaj posty, szczególnie moje, dokładnie opisują idee i matematykę LDA.
ttnphns
@ttnphns, czytam post, który podałeś w powyższym komentarzu ;-)
awokado

Odpowiedzi:

5

Jeśli pomnożysz każdą wartość LDA1(pierwszego liniowego dyskryminatora) przez odpowiednie elementy zmiennych predykcyjnych i zsumujesz je ( + - 0,5135293 × ), otrzymasz wynik dla każdego respondenta. Ten wynik wraz z poprzednim służy do obliczenia prawdopodobieństwa a posteriori-0,6420190×Lag1+-0,5135293×Lag2 przynależności do klasy (istnieje wiele różnych wzorów na to). Klasyfikacji dokonuje się na podstawie prawdopodobieństwa a posteriori, przy czym przewiduje się, że obserwacje będą należały do ​​klasy, dla której mają największe prawdopodobieństwo.

Poniższy wykres ilustruje związek między wynikiem, prawdopodobieństwem a posteriori i klasyfikacją dla zestawu danych użytego w pytaniu. Podstawowe wzorce zawsze zachowują się w przypadku dwóch grup LDA: istnieje mapowanie 1 do 1 między wynikami a prawdopodobieństwem a posteriori, a przewidywania są równoważne, jeśli są wykonane z prawdopodobieństw a posteriori lub wyników.

Wynik, prawdopodobieństwo tylne, klasyfikacja

Odpowiedzi na pytania częściowe i inne komentarze

  • Chociaż LDA można wykorzystać do redukcji wymiarów, nie dzieje się tak w tym przykładzie. W przypadku dwóch grup powodem, dla którego wymagana jest tylko jedna ocena na obserwację, jest to, że wszystko jest potrzebne. Wynika to z faktu, że prawdopodobieństwo bycia w jednej grupie jest uzupełnieniem prawdopodobieństwa bycia w drugiej grupie (tj. Sumują się do 1). Możesz to zobaczyć na wykresie: wyniki poniżej -4 są klasyfikowane jako należące do grupy Down , a wyższe wyniki są przewidywane jako Up .

  • Czasami wektor wyników nazywa się a discriminant function. Czasami współczynniki nazywa się to. Nie jestem pewien, czy któreś z nich jest poprawne. Uważam, że MASS discriminantodnosi się do współczynników.

  • Funkcja pakietu MASS ldawytwarza współczynniki w inny sposób niż większość innych programów LDA. Alternatywne podejście oblicza jeden zestaw współczynników dla każdej grupy, a każdy zestaw współczynników ma punkt przecięcia. Po obliczeniu funkcji dyskryminacyjnej (wyników) przy użyciu tych współczynników, klasyfikacja opiera się na najwyższym wyniku i nie ma potrzeby obliczania prawdopodobieństw późniejszych w celu przewidzenia klasyfikacji. Umieściłem trochę kodu LDA w GitHub, który jest modyfikacją MASSfunkcji, ale daje te wygodniejsze współczynniki (pakiet jest wywoływany Displayr/flipMultivariates, a jeśli utworzysz obiekt za pomocą LDA, możesz wyodrębnić współczynniki za pomocąobj$original$discriminant.functions ).

  • Umieściłem R dla kodu wszystkie koncepcje w tym poście tutaj .

  • Nie ma jednego wzoru na obliczenie prawdopodobieństw a posteriori na podstawie wyniku. Najłatwiejszym sposobem na zrozumienie opcji jest (w każdym razie dla mnie) spojrzenie na kod źródłowy, używając:

library(MASS) getAnywhere("predict.lda")

Tim
źródło
I'm not clear on whether either [word use] is correct„funkcja dyskryminująca”, czyli „dyskryminująca”, jest wyodrębnioną zmienną - zmienną, wymiarem. Charakteryzuje się zatem zarówno współczynnikami (wagami) do oceny na podstawie zmiennych wejściowych, jak i wartościami wyników. Dokładnie jak PC w PCA. Tak więc „współczynniki dyskryminujące” i „wyniki dyskryminujące” są właściwym zastosowaniem.
ttnphns
@ttnphns, twoje użycie terminologii jest bardzo jasne i jednoznaczne. Ale nie jest to użycie, które pojawia się w większości postów i publikacji na ten temat, i o to właśnie starałem się zrobić. Na podstawie samego znaczenia słowa jest dla mnie całkiem jasne, że „funkcja dyskryminująca” powinna odnosić się do funkcji matematycznej (tj. Suma produktu i współczynników), ale znowu nie jest dla mnie jasne, że jest to powszechne zastosowanie.
Tim
@ Tymczasowy link podany dla kodu jest martwy, czy możesz skopiować kod do swojej odpowiedzi?
baxx
0

Teoria leżąca u podstaw tej funkcji to „Metoda Fishera do rozróżniania wielu populacji”. Polecam rozdział 11.6 w zastosowanej wielowymiarowej analizie statystycznej (ISBN: 9780134995397) w celach informacyjnych.

Morgan Zhu
źródło