Wyprowadzanie całkowitej (w ramach klasy + między klasami) macierzy rozproszenia


14

Bawiłem się metodami PCA i LDA i utknąłem w pewnym momencie, mam wrażenie, że jest to tak proste, że nie widzę tego.

Macierze rozproszenia wewnątrz klasy ( ) i między klasami ( S_B ) są zdefiniowane jako:S BSWSB

SW=i=1Ct=1N(xtiμi)(xtiμi)T

SB=i=1CN(μiμ)(μiμ)T

Całkowita macierz rozproszenia ST jest podawana jako:

ST=i=1Ct=1N(xtiμ)(xtiμ)T=SW+SB

gdzie C to liczba klas, a N to liczba próbek x to próbki, μi to i-ta średnia klasy, μ to średnia średnia.

Próbując wyprowadzić ST doszedłem do punktu, w którym miałem:

(xμi)(μiμ)T+(μiμ)(xμi)T

jako termin. To musi być zero, ale dlaczego?


W rzeczy samej:

ST=i=1Ct=1N(xtiμ)(xtiμ)T=i=1Ct=1N(xtiμi+μiμ)(xtiμi+μiμ)T=SW+SB+i=1Ct=1N[(xtiμi)(μiμ)T+(μiμ)(xtiμi)T]

2
Odpowiedź brzmi: sumujesz odchylenia wartości wokół ich średniej, a suma ta wynosi zero. Ale czym dokładnie są , i ? W jaki sposób i powiązane z i ? Jakość odpowiedzi będzie zależeć od tego, jak dokładnie zgadujemy, ale zmuszasz nas do strasznego zgadywania! m m i m m i μ μ ixmmimmiμμi
whuber

@whuber: Masz całkowitą rację, poprawiłem swoje pytanie.
nimcap

Odpowiedzi:


8

Jeśli zakładasz

1Nt=1Nxti=μi

Następnie

i=1Ct=1N(xtiμi)(μiμ)T=i=1C(t=1N(xtiμi))(μiμ)T=0

i formuła utrzymuje. Z drugim terminem postępujesz w podobny sposób.


2
(+1) Drugi termin, będący transpozycją pierwszego, musi również wynosić zero :-).
whuber

@ whuber, tak, to też :)
mpiktas

Cześć, nie rozumiem, dlaczego to założenie się utrzymuje? Czy ktoś może to wyjaśnić?
Mvkt

1
@Mvkt Przypuszczam, że to nie tyle założenie, co definicja . To znaczy: jest średnią z obserwacji w grupie . Oczekuję, że odpowiedź używa „zakładaj”, ponieważ OP nie wyjaśnia notacji, więc musimy zgadywać, że grupa oznacza „ . μ i i μ iμiμiiμi
Vincent
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.