[Mathe] Ableiten nach einer Matrix?

SvenF311

doesn't like
ID: 151941
L
24 April 2006
307
61
Also ich habe die logarithmierte d-dimensioname Normalverteilung

ln( N(x|mu, S) )
=
-0,5 ln[ (2pi)^d det(S) ] - 0.5 (x-mu)^T S^-1 (x-mu),

wobei S eine Matrix der Größe d x d ist und det(S) deren Determinante. Die Ableitung nach mu steht noch im Buch, ich brauche aber auch die nach S.

Wenn es um Matrizen oder Ableitungen geht, bin ich leider 'ne absolute Niete :(. Hat jemand 'nen Tipp?

MfG
Sven
 
Deine Frage überfordert mich gerade ein bisschen, warum willst du nach einer Matrix ableiten? Geht das überhaupt und wenn ja: Was soll das? Sowas ist mir in der Maß- und Integrationstheorie noch nie begegnet. In deiner Gleichung brauchst du doch nur die Transponierte von x-mu und die Inverse von S. Oder sehe ich da was falsch?
 
Hm, ich weiß nicht sicher, ob ich das Problem richtig verstanden habe. Du solltest mal definieren, was genau für eine Ableitung Du meinst...

Wenn es die ist, die ich denke, dann ist das ist starker Tobak... ;)
Vielleicht kann ich Dir wenigstens bedingt weiterhelfen. Schau Dir mal folgendes Buch an: Magnus/Neudecker: "Matrix differential calculus with applications in statistics and econometrics".

Da findest Du Differenziale, die mit Matrizen zu tun haben. Was Du brauchen könntest:

- Das Differenzial der Determinanten einer Matrix F, geschrieben als |F|, für den Fall das F vollen Rang hat:
d|F| = |F| * tr{ F^(-1) } * dF,

wobei tr{A} die Spur (trace) der Matrix A darstellt (also Summe der Diagonalelemente.

- Das Differenzial einer Inversen (reell, quadratisch, voller Rang)
dF^(-1) = - F * (dF) * F^(-1)


Hm, wenn ich recht drüber nachdenk, zweifel ich grade, daran, dass Du das meinst. Aber naja ich lass es jetzt erstmal stehen so.



*edit*

Jetz hat's mir doch keine Ruhe gelassen und ich hab nochmal drüber nachgedacht. Was oben steht sind die Differenziale, die Du brauchst, wenn Du eine Matrix hast, die von Parametern abhängt und du dann Determinante/Inverse dieser Matrix nach besagten Parametern ableiten willst. Ich glaube das ist nicht das was Du willst.

Was ich vermute ist, dass Du die skalare logarithmierte Dichte da oben nach jedem Element der Matrix ableiten willst. Am Ende also eine Matrix der gleichen Größe wie S haben willst, wo in jedem Element die skalare Funktion nach dem entsprechenden Element s_ij abgeleitet ist.

In dem Falle, müsste sowas in der Art rauskommen:

- d (det(F)) / dF = Adj(F), wobei Adj die Adjunkte darstellen soll. Das hab ich mir aus dem Entwicklungssatz der Determinante überlegt. Da stellt man ja die Determinante als Summe dar, wobei jedes Element der Matrix multipliziert mit der entsprechenden Adjunkten vorkommt. Wenn ich das richtig im Kopf habe.

- d { (x-mu)^T S^(-1) (x-mu) } / dS ist wirklich schwierig. Was einfach geht, ist, das nach der Inversen von S abzuleiten. Dann bekommt man meiner Meinung nach
d { (x-mu)^T S^(-1) (x-mu) } / dS^(-1) = (x-mu) * (x-mu)^T, also einfach das äußere Produkt. Das kann man sich gut überlegen, wenn man sich mal die einzelnen Summanden der quadratischen Form aufschreibt.

Jetzt leiten wir aber nach S ab und nicht nach S^(-1). Das verkompliziert die Sache erheblich. Ich denke, dass man da die Kettenregel ansetzen könnte um die Elemente von S^(-1) durch die Elemente von S auszudrücken. Da kommt dann bestimmt die Adjunkte wieder rein irgendwie. Ich hab im Moment leider nich die Zeit, das mal in Ruhe aufzuschreiben.


Vielleicht hat ja noch jemand anders 'ne zündende Idee oder 'ne gute Quelle.
 
Zuletzt bearbeitet:
Deine Frage überfordert mich gerade ein bisschen, warum willst du nach einer Matrix ableiten? Geht das überhaupt und wenn ja: Was soll das? Sowas ist mir in der Maß- und Integrationstheorie noch nie begegnet. In deiner Gleichung brauchst du doch nur die Transponierte von x-mu und die Inverse von S. Oder sehe ich da was falsch?
Ich muss halt 'nen Text zur Maximum Likelihood Schätzung schreiben. Und da denke ich, dass es für's Verständnis ganz gut ist, wenn ich die Herleitung für ein passendes (p-dimensionales) und vergleichsweise einfaches (Ahhhhrrrrg!) Beispiel einbringe. Nebenbei ist dies auch eine der "Übungsaufgaben" aus dem Buch Pattern Classification von Duda, Hart und Stork; leider ohne Musterlösung.

Also, laut dem "Pattern Classification" ist für den eindmensionalen Fall die Log-Likelihood als
L(x_k|mu,s) = -0.5 ln(2 pi s) - 0.5 (x_k - mu) (x_k - mu) / s
gegeben. Die Ableitungen nach mu und s sind dort als
dL(x_k|mu,s) / dmu = 1/s (x_k-mu)
und
dL(x_k|mu,s) / ds = -1/(2s) + (x_k-mu) (x_k-mu) / (2 s^2)
gegeben.


Wenn ich jetzt einfach die skalaren Parameter durch die p-dimensionalen Vektoren und Matrizen ersetze, bekomme ich
dL(x_k|mu,S) / dmu = S^-1 (x_k-mu)
Diese Ableitung ist so im Buch vorgegeben, sollte also stimmen.
und
dL(x_k|mu,S) / dS = -1/2 S^-1 + 1/2 (x_k-mu)(x_k-mu)^T S^-1 S^-1.
Darf ich das so machen? Wie kommt diese Transponiert-Geschichte zustande? Meinem Prof. wirds wohl nicht passen, wenn ich 'ne Referenz auf "Mein Bauch hat mir gesagt" setzte...
<Edit>
So sollte es stimmen:
dL(x_k|mu,S) / dS = -1/2 S^-T + 1/2 S^-T (x_k-mu)(x_k-mu)^T S^-T
</edit>


Für jede dieser Ableitungen bilde ich dann die Summe über n Datenwerte und setze diese gleich 0.


Schätzung des Erwartungswertes
0 = sum_(k=1)^(n) S^-1 (x_k-mu) . . | * S
0 = sum_(k=1)^(n) (x_k-mu). . . . . | + sum_(k=1)^(n) mu
. . . . . mit sum_(k=1)^(n) mu = n mu
n mu = sum_(k=1)^(n) x_k. . . . . . | / n

mu = 1/n sum_(k=1)^(n) x_k
Bei der Formel für den Erwartungswert funktioniert es also.


Schätzung der Kovarianzmatrix
0 = - sum_(k=1)^(n) 1/2 S^-1
. . + sum_(k=1)^(n) 1/2 (x_k-mu)(x_k-mu)^T S^-1 S^-1. | *2S
0 = - sum_(k=1)^(n) 1
. . + sum_(k=1)^(n) (x_k-mu)(x_k-mu)^T S^-1 . . . . . | + n
. . . . . mit sum_(k=1)^(n) 1 = n
n = sum_(k=1)^(n) (x_k-mu)(x_k-mu)^T S^-1 . . . . . . | * S
Sn= sum_(k=1)^(n) (x_k-mu)(x_k-mu)^T. . . . . . . . . | / n

S = 1/n sum_(k=1)^(n) (x_k-mu)(x_k-mu)^T
Und schon bin ich bei der Formel Kovarianz (mit bias). Im steht allerdings etwas von "considerably more manipulations are involved" :roll: und irgendwie passt das mit den Multiplikationen noch nicht richtig zusammen...


- d { (x-mu)^T S^(-1) (x-mu) } / dS ist wirklich schwierig. Was einfach geht, ist, das nach der Inversen von S abzuleiten. Dann bekommt man meiner Meinung nach
d { (x-mu)^T S^(-1) (x-mu) } / dS^(-1) = (x-mu) * (x-mu)^T, also einfach das äußere Produkt. Das kann man sich gut überlegen, wenn man sich mal die einzelnen Summanden der quadratischen Form aufschreibt.
Das verstehe ich zwar nicht ganz, aber das geht schon stark in die Richtung, der roten Zeilen. Dann habe ich wohl mit viel Glück in die richtige Richtung geraten :mrgreen:.


MfG
Sven
 
Zuletzt bearbeitet:
Ich muss halt 'nen Text zur Maximum Likelihood Schätzung schreiben. Und da denke ich, dass es für's Verständnis ganz gut ist, wenn ich die Herleitung für ein passendes (p-dimensionales) und vergleichsweise einfaches (Ahhhhrrrrg!) Beispiel einbringe. Nebenbei ist dies auch eine der "Übungsaufgaben" aus dem Buch Pattern Classification von Duda, Hart und Stork; leider ohne Musterlösung.
Gut, dann hab ich das Problem zumindest anscheinend schonmal richtig verstanden. Gibt's da kein gutes Buch zu Log-Likelihood-Estimation wo das mal vorgerechnet wird mit der Schätzung der Kovarianzmatrix?

Wenn ich jetzt einfach die skalaren Parameter durch die p-dimensionalen Vektoren und Matrizen ersetze, bekomme ich
dL(x_k|mu,S) / dmu = S^-1 (x_k-mu)
Diese Ableitung ist so im Buch vorgegeben, sollte also stimmen.
und
dL(x_k|mu,S) / dS = -1/2 S^-1 + 1/2 (x_k-mu)(x_k-mu)^T S^-1 S^-1.
Darf ich das so machen? Wie kommt diese Transponiert-Geschichte zustande? Meinem Prof. wirds wohl nicht passen, wenn ich 'ne Referenz auf "Mein Bauch hat mir gesagt" setzte...
Generell: Nein ^^. Kann natürlich manchmal instinktiv richtig sein, aber das bleibt noch zu zeigen.

Schätzung des Erwartungswertes
[...]
Bei der Formel für den Erwartungswert funktioniert es also.

Schätzung der Kovarianzmatrix
[...]
S = 1/n sum_(k=1)^(n) (x_k-mu)(x_k-mu)^T
[/I]Und schon bin ich bei der Formel Kovarianz (mit bias). Im steht allerdings etwas von "considerably more manipulations are involved" :roll: und irgendwie passt das mit den Multiplikationen noch nicht richtig zusammen...
Sieht ja vom Ergebnis gar nich schlecht aus. Trotzdem zweifle ich an der Ableitung irgendwie.


Das verstehe ich zwar nicht ganz, aber das geht schon stark in die Richtung, der roten Zeilen. Dann habe ich wohl mit viel Glück in die richtige Richtung geraten :mrgreen:.

Hm, hab grad keine Zeit es durchzurechnen. Aber schreib Dir doch mal die quadratische Form in Abhängigkeit der Elemente von S^(-1) auf. Dann müsstest Du die Formel mit dem äußeren Produkt eigentlich ableiten können. Der Trick ist jetzt eben nur die Inverse loszuwerden. Das kann man mit der Kettenregel machen:

d q / d s_ij = Summe_k,l { d q / d t_kl * d t_kl/d s_ij }, wobei q die quadratische Form ist, s_kl die Elemente von S und t_ij die Elemente von S^(-1) sind. Die Ableitungen von q nach t_kl wissen wir, bleiben noch die Ableitungen von t_kl nach s_ij. Und das müsste, wenn man den Entwicklungssatz für die Inverse nimmt (also über die Adjunkten) irendwie wieder auf die Adjunkten führen. *mal vermut*

Weißt wie ich meine?