Hallo,
wollte mal fragen wie das war:
1. Vektoren nebeneinander schreiben (also ne 2Spalten, 4 Zeilnen Matrix)
2. transponieren
3. A*A^T berechnen?
Richtig so?
Danke
Christoph
Ü13: PCA - Kovarianz - Matrix?
Re: Ü13: PCA - Kovarianz - Matrix?
du meinst jetzt die Covariance also C matrix ??
schau dir die folie an !
übrigens, es gibt irgendwie kein drumherum um anders die eigenwerte zu bekommen...man muss C irgendwie immer verwenden, aber das geht so wie ich's verstanden habe statt C = A*A(transponiert) auch anderesum: A(transponiert)*A wo A = 1/sqrt(m) * phi(k)
schau dir die folie an !

übrigens, es gibt irgendwie kein drumherum um anders die eigenwerte zu bekommen...man muss C irgendwie immer verwenden, aber das geht so wie ich's verstanden habe statt C = A*A(transponiert) auch anderesum: A(transponiert)*A wo A = 1/sqrt(m) * phi(k)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec
-
- BASIC-Programmierer
- Beiträge: 132
- Registriert: 10. Nov 2005 17:51
- Wohnort: Heppenheim
- Kontaktdaten:
Re: Ü13: PCA - Kovarianz - Matrix?
Folie hab ich mir angeschaut. Wenn ichs kapiert hätt würd ich net so blöd fragen 

Re: Ü13: PCA - Kovarianz - Matrix?
ok sorryHorschie hat geschrieben:Folie hab ich mir angeschaut. Wenn ichs kapiert hätt würd ich net so blöd fragen

also geht es dir um die reine formel für die C matrix oder den algebrischentrick um die eigenwerte von C zu berechnen?
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec
-
- Mausschubser
- Beiträge: 88
- Registriert: 8. Feb 2007 20:49
Re: Ü13: PCA - Kovarianz - Matrix?
Jep, aber du hast noch die 1/M vergessen
1. B= Vektoren nebeneinander schreiben (also ne 2Spalten, 4 Zeilnen Matrix)
2. transponieren
3. 1/M*(B*B^T) berechnen
So läufts
oder
\(A=\frac{1}{\sqrt{M}}B\)
und dann A*A^T
Kannst natürlich auch erst die Vektoren miteinander multiplizieren usw und dann addieren, aber ich finds so auch einfacher
1. B= Vektoren nebeneinander schreiben (also ne 2Spalten, 4 Zeilnen Matrix)
2. transponieren
3. 1/M*(B*B^T) berechnen
So läufts
oder
\(A=\frac{1}{\sqrt{M}}B\)
und dann A*A^T
Kannst natürlich auch erst die Vektoren miteinander multiplizieren usw und dann addieren, aber ich finds so auch einfacher
-
- BASIC-Programmierer
- Beiträge: 132
- Registriert: 10. Nov 2005 17:51
- Wohnort: Heppenheim
- Kontaktdaten:
Re: Ü13: PCA - Kovarianz - Matrix?
ok, also dann mal das Beispiel aus der Übung:
\(B = \left[ \begin {array}{cc} 1&3\\\noalign{\medskip}3&1
\\\noalign{\medskip}1&5\\\noalign{\medskip}3&3\end {array} \right]\)
\(B^T = \left[ \begin {array}{cccc} 1&3&1&3\\\noalign{\medskip}3&1&5&3
\end {array} \right]\)
\(B * B^T = \left[ \begin {array}{cccc} 10&6&16&12\\\noalign{\medskip}6&10&8&12
\\\noalign{\medskip}16&8&26&18\\\noalign{\medskip}12&12&18&18
\end {array} \right]\)
M = 2 // Wenn ich das richtig verstanden habe, ist das die Zahl der Vektoren die gegeben sind, oder?
Dann ist die Kovarianz-Matrix:
\(\left[ \begin {array}{cccc} 5&3&8&6\\\noalign{\medskip}3&5&4&6
\\\noalign{\medskip}8&4&13&9\\\noalign{\medskip}6&6&9&9\end {array}
\right]\)
Naja...man aknns erkennen
\(B = \left[ \begin {array}{cc} 1&3\\\noalign{\medskip}3&1
\\\noalign{\medskip}1&5\\\noalign{\medskip}3&3\end {array} \right]\)
\(B^T = \left[ \begin {array}{cccc} 1&3&1&3\\\noalign{\medskip}3&1&5&3
\end {array} \right]\)
\(B * B^T = \left[ \begin {array}{cccc} 10&6&16&12\\\noalign{\medskip}6&10&8&12
\\\noalign{\medskip}16&8&26&18\\\noalign{\medskip}12&12&18&18
\end {array} \right]\)
M = 2 // Wenn ich das richtig verstanden habe, ist das die Zahl der Vektoren die gegeben sind, oder?
Dann ist die Kovarianz-Matrix:
\(\left[ \begin {array}{cccc} 5&3&8&6\\\noalign{\medskip}3&5&4&6
\\\noalign{\medskip}8&4&13&9\\\noalign{\medskip}6&6&9&9\end {array}
\right]\)
Naja...man aknns erkennen

Re: Ü13: PCA - Kovarianz - Matrix?
Muss man nicht noch den Durchschnittsvektor abziehen, bevor man die Vektoren in die Matrix schreibt?