Come calcolare i pesi del criterio Fisher?


12

Sto studiando il riconoscimento di modelli e l'apprendimento automatico e ho incontrato la seguente domanda.

Considera un problema di classificazione di due classi con uguale probabilità di classe precedente

P(D1)=P(D2)=12

e la distribuzione delle istanze in ciascuna classe data da

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

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

Come calcolare i pesi del criterio Fisher?

Aggiornamento 2: il peso calcolato fornito dal mio libro è: .W=[4329]

Aggiornamento 3: Come suggerito da @xeon, capisco che dovrei determinare la linea di proiezione per i discriminanti del Fisher.

Aggiornamento 4: Sia la direzione della linea di proiezione, quindi il metodo discriminante lineare di Fisher rileva che la migliore è quella per la quale viene massimizzata la funzione del criterio. La sfida rimanente è come possiamo ottenere numericamente il vettore ?W WWWW


La tua prima distribuzione non è definita. In particolare la seconda variabile della coppia ha una distribuzione degenerata con 0 varianza, ma ha una covarianza positiva con la prima variabile, che è impossibile.
owensmartin,

@owensmartin hai idea di come vengono calcolati questi valori?
Dr. Hoshang,

Qual è la definizione del peso del criterio Fisher?
Vladislavs Dovgalecs,

Intendo che il discriminante lineare di Fisher è dato dal vettore w che massimizza ... è annotato su ogni materiale come luthuli.cs.uiuc.edu/~daf/courses/Learning/Kernelpapers/… a p. 2. è okey @xeon?
Dr. Hoshang,

Suggerimento: quale sarà il confine tra le due classi? Lineare, polinomiale, qualcos'altro?
Vladislavs Dovgalecs,

Risposte:


11

Dopo il documento a cui ti sei collegato (Mika et al., 1999) , dobbiamo trovare il che massimizza il cosiddetto quoziente di Rayleigh generalizzato ,w

wSBwwSWw,

dove significa e covarianze ,C 1 , C 2m1,m2C1,C2

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

La soluzione può essere trovata risolvendo il problema degli autovalori generalizzati dal primo calcolo gli autovalori risolvendo e quindi risolvendo per l'autovettore . Nel tuo caso, Il determinante di questa matrice 2x2 può essere calcolato a mano.λdet( S B -λ S W )=0wSB-λSW=( 16 - 3 λ 16 16 16 - 2 λ ).

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

L'autovettore con il più grande autovalore massimizza il quoziente di Rayleigh. Invece di fare i calcoli a mano, ho risolto il problema degli autovalori generalizzati in Python usando scipy.linalg.eige ho ottenuto che è diverso dalla soluzione che hai trovato nel tuo libro. Di seguito ho tracciato l'iperpiano ottimale del vettore di peso che ho trovato (nero) e l'iperpiano del vettore di peso trovato nel tuo libro (rosso).

w10.5547,w20.8321,

inserisci qui la descrizione dell'immagine


1
Questo esempio è molto interessante. Entrambe le linee separano le due classi, ma una di esse è "migliore" dal punto di vista della teoria dell'apprendimento.
Vladislavs Dovgalecs,

2
Fisher Criterion è dettagliato nella sezione 5-2-3 su books.google.com/…
nini

1
@Lucas forse il risultato in questione è vicino ai commenti xeon, "Forse dovremmo riportare il vettore dell'unità w poiché l'iperpiano è definito dalla direzione, non dalla magnitudine." Non è vero?
nini,

1
Oh !!! domanda impegnativa, consiglio a tutti di vedere la pagina 2 su dml.ir/wp-content/uploads/2012/04/SPR-S12-M-Sol.pdf
user153695

1
@Lucas Grazie. vuoi aggiungere un'altra immagine per W = [- 2/3 -2/3] e W = [- 4/3 -2/3] e W = [- 2 -3] con tre colori diversi per vedere il confine? Grazie. Ti ho dato la grazia per una bella risposta.
nini,

7

SOLUTION1:

A seguito di Duda et al. (Pattern CLassification) che ha una soluzione alternativa a @lucas e in questo caso offre una soluzione molto semplice da calcolare a mano. (Spero che questa soluzione alternativa aiuti !! :))

In due classi LDA l'obiettivo è:

wTSBwwTSWw che significa solo che aumenta la varianza tra le classi e diminuisce la varianza all'interno della classe.

dove e , qui sono matrice di covarianza e sono rispettivamente mezzi di classe 1 e 2.SB=(m1m2)(m1m2)TSW=S1+S2S1,S2m1,m2

La soluzione di questo quoziente generalizzato di raleigh è un probem generalizzato di valore di autigene.

SBw=λSWwSW1SBw=λw

La formulazione sopra ha una soluzione in forma chiusa. è una matrice di rango 1 con base quindi che può essere normlizd per ottenere la risposta.SBm1m2wSW1(m1m2)

Ho appena calcolato e ottenuto [0,5547; 0,8321].w

SW1(m1m2)=(S1+S2)1(m1m2)=([2001]+[1001])1([00][44])=([1/3001/2])([00][44])=[1.33332.0000][0.55470.8321]

Rif: Classificazione dei modelli di Duda, Hart, Cicogna

SOLUTION2:

In alternativa, può essere risolto trovando il vettore eigen per il problema del valore di eigen generalizzato. SBw=λSWw

Un polinomio in lambda può essere formato dal e le soluzioni a quel polinomio saranno il valore per . Ora supponiamo che tu abbia un insieme di valori autigen come radici del polinomio. Ora sostituisci e ottieni il vettore eigen corrispondente come soluzione al sistema lineare di equazioni . In questo modo per ciascuno di essi è possibile ottenere un insieme di vettori ed è un insieme di vettori eigen come soluzioni.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λ , quindi i valori eigen sono radici al polinomio .6λ280λ

Quindi 0 e 40/3 sono le due soluzioni. Per LDA, la soluzione è il vettore autigen corrispondente al valore autigen maggiore.λ=

Soluzione al sistema di equazione e(SBλiSW)wi=0λi=40/3

che risulta essere[163λ1616162λ]wi[72484832]wi=0

La soluzione al sistema di equazioni sopra riportato è che è la stessa della soluzione precedente.[0.55470.8321][0.55470.8321]

In alternativa, possiamo dire che risiede nello spazio nullo di .[ - 72 48 48 - 32 ][0.55470.8321][72484832]

Per LDA a due classi, la soluzione è il vettore eigen con il valore eigen più alto. In generale, per la classe C LDA, i primi vettori autigenici C - 1 ai più alti valori autigenici C - 1 costituiscono la soluzione.

Questo video spiega come calcolare i vettori eigen per un semplice problema di valore eigen. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )

Di seguito è riportato un esempio. http://www.sosmath.com/matrix/eigen2/eigen2.html

LDA multi-classe: http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA

Calcolo dello spazio nullo di una matrice: 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
Bella risposta, vuoi dire che la risposta del libro è sbagliata !! Okey?
Dr. Hoshang,

Credo che questa risposta sia corretta e se il tuo libro definisce e diverso, vedi cosa ottieni con quelle definizioni. S BSWSB
dksahuji,

2
-1,33 è uguale a -4/3 ma il secondo elemento è diverso. Forse libro unità vettore rapporto w? Non è vero? Grazie mille
Dr. Hoshang,

2
per favore completa la soluzione 2 per raggiungere il valore di W per ricompensarla
nini

1
@ Dr.Hoshang: la soluzione nel tuo libro è sbagliata. Non ho idea del perché.
ameba dice Ripristina Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.