Optimierung mit Matrizen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 17:55 Di 28.09.2004 | Autor: | Optimax |
Hallo zusammen,
ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe hier ein Optimierungsproblem, das ich in einzelnen Gleichungen lösen kann. Die Aufgabe besteht aus n Gleichungen, das Gleichungssystem läst sich größtenteils in Matrixschreibweise darstellen. Nun frage ich mich, ob ich auch die Ableitung (und gleich Nullsetzen, sprich die Optimierung) in Matrixschreibweise durchführen kann. Anbei ein reduziertes Beispiel, das die Frage verdeutlichen sollte:
Gegeben sei der Vektor [mm] \vec{X} [/mm] (n Zeilen, 1 Spalte, entspricht Anteilen einer Gesamtgröße) und die Varianz-Kovarianzmatrix [mm] \delta [/mm] (n Zeilen, n Spalten). Die Gesamtvarianz ergibt sich bekanntermaßen aus
[mm] \summe_{i=1}^{n} \summe_{j=1}^{n} x_{i} x_{j} \delta_{ij}
[/mm]
[mm] x_{i} [/mm] ist dabei das i-te Element von X, [mm] x_{j} [/mm] analog, [mm] \delta_{ij} [/mm] das Element von [mm] \delta [/mm] in der i-ten Zeile und j-ten Spalte.
Zu maximieren sei nun die Gleichung [mm] \vec{X} [/mm] - [mm] \summe_{i=1}^{n} \summe_{j=1}^{n} x_{i} x_{j} \delta_{ij}
[/mm]
Dies kann ich nun ohne Matrixschreibweise aufschreiben, einzeln nach [mm] x_{i} [/mm] ableiten und jeweils gleich Null setzen. Dies ergibt für jede einzelne Ableitung nach [mm] x_{i}:
[/mm]
[mm] 1-2*\summe_{j=1}^{n} n_{j}\delta_{ij}=0
[/mm]
Dies lässt sich nun für alle n Gleichungen zusammenfassen in Matrixschreibweise als:
[mm] 1/2*Einheitsvektor=\delta*\vec{x}
[/mm]
Ich komme auf das Ergbnis aber nur, wenn ich über die einzelnen Gleichungen gehe und mir dann das Endergebnis ansehe und feststelle, dass sich das wieder in Matrixschreibweise schreiben lässt (komplizierter Schritt). Schöner wäre es, gleich in Matrixschreibweise zu bleiben.
Geht das, oder geht das gar nicht? Für Tipps wäre ich sehr dankbar.
Grüße,
Robert
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 11:02 Mi 29.09.2004 | Autor: | Optimax |
Hallo Marc,
da habe ich tatsächlich einen Fehler bei der Vereinfachung der Angabe gemacht. Anbei die korrigierte Version:
Zu maximieren sei nun die Gleichung [mm] \vec{X}^{'}*\vec{Y} [/mm] - [mm] \summe_{i=1}^{n} \summe_{j=1}^{n} x_{i} x_{j} \delta_{ij}
[/mm]
[mm] \vec{Y} [/mm] ist auch ein Zeilenvektor mit n Zeilen.
Dies kann ich nun ohne Matrixschreibweise aufschreiben, einzeln nach [mm] x_{i} [/mm] ableiten und jeweils gleich Null setzen. Dies ergibt für jede einzelne Ableitung nach [mm] x_{i}:
[/mm]
[mm] y_{i}-2*\summe_{j=1}^{n} n_{j}\delta_{ij}=0
[/mm]
Dies lässt sich nun für alle n Gleichungen zusammenfassen in Matrixschreibweise als:
[mm] 1/2*\vec{y}=\delta*\vec{x}
[/mm]
Kann ich das allgemeiner in Matrixschreibweise ausdrücken (die Ableitung nach den einzelnen [mm] x_{i})? [/mm] Die Optimierungsbedingung kann ich ja in Matrixschreibweise als [mm] \vec{X}^{'}*\vec{Y} [/mm] - [mm] \vec{X}^{'}*\delta*\vec{X} [/mm] schön verkürzt schreiben.
Danke und Grüße,
Robert
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:56 Do 30.09.2004 | Autor: | Marc |
Hallo Robert,
> Zu maximieren sei nun die Gleichung [mm]\vec{X}^{'}*\vec{Y}[/mm] -
> [mm]\summe_{i=1}^{n} \summe_{j=1}^{n} x_{i} x_{j} \delta_{ij}
[/mm]
>
>
> [mm]\vec{Y}[/mm] ist auch ein Zeilenvektor mit n Zeilen.
[mm] $f(x_1,\ldots,x_n)=\summe_{i=1}^{n} x_i*y_i [/mm] - [mm] \summe_{i=1}^{n} \summe_{j=1}^{n} x_{i} x_{j} \delta_{ij}$
[/mm]
Ableitung:
Ich nehme an, dass die Matrix [mm] $(\delta_{ij})$ [/mm] symmetrisch ist, falls nicht, bitte Einspruch erheben.
[mm] $\bruch{\partial f}{\partial x_k}(x_1,\ldots,x_n)=y_k [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{ik}$
[/mm]
> Dies kann ich nun ohne Matrixschreibweise aufschreiben,
> einzeln nach [mm]x_{i}[/mm] ableiten und jeweils gleich Null setzen.
> Dies ergibt für jede einzelne Ableitung nach [mm]x_{i}:
[/mm]
>
> [mm]y_{i}-2*\summe_{j=1}^{n} n_{j}\delta_{ij}=0
[/mm]
(Hier meinst du [mm] $x_j$ [/mm] statt [mm] $n_j$.)
[/mm]
> Dies lässt sich nun für alle n Gleichungen zusammenfassen
> in Matrixschreibweise als:
>
> [mm]1/2*\vec{y}=\delta*\vec{x}
[/mm]
Mal sehen (hier nehme ich wieder an, dass [mm] $\delta$ [/mm] symmetrisch ist):
[mm] $y_1 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{i1}=0$
[/mm]
[mm] $y_2 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{i2}=0$
[/mm]
[mm] $\vdots$
[/mm]
[mm] $y_n [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{in}=0$
[/mm]
> Kann ich das allgemeiner in Matrixschreibweise ausdrücken
> (die Ableitung nach den einzelnen [mm]x_{i})?[/mm]
So ganz genau weiß ich nicht, was du meinst.
Du hast die partiellen Ableitungen doch oben schon in Matrixschreibweise angegeben:
[mm] $\vektor{\bruch{\partial f}{\partial x_1}\\\vdots\\\bruch{\partial f}{\partial x_n}}=\vektor{y_1\\\vdots\\y_n}-2*\pmat{\delta_{11}&\ldots&\delta_{1n}\\\vdots&\ddots&\vdots\\\delta_{n1}&\ldots&\delta_{nn}}*\vektor{x_1\\\vdots\\x_n}$
[/mm]
In Kurzform dann:
[mm] $\vektor{\bruch{\partial f}{\partial x_1}\\\vdots\\\bruch{\partial f}{\partial x_n}}=\vec{y}-2*\delta*\vec{x}$
[/mm]
Meintest du diese Schreibweise?
> Die
> Optimierungsbedingung kann ich ja in Matrixschreibweise als
> [mm]\vec{X}^{'}*\vec{Y}[/mm] - [mm]\vec{X}^{'}*\delta*\vec{X}[/mm] schön
> verkürzt schreiben.
Hmm, bin mir nicht sicher, ob ich dein Problem gelöst haben...
Viele Grüße
Marc
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:06 Do 30.09.2004 | Autor: | Optimax |
Hallo Marc,
vielen Dank für die Antwort, sie hat mir schon geholfen. Deine Vermutungen waren korrekt, [mm] \delta [/mm] ist symmetrisch und ich habe einmal statt [mm] x_{i} [/mm] aus Versehen [mm] n_{i} [/mm] geschrieben. Ich bin beeindruckt, dass Du die Fehler so easy gefunden hast.
Du hast übrigens einmal die Indizes vertauscht:
>Mal sehen (hier nehme ich wieder an, dass [mm] $\delta$ [/mm] symmetrisch ist):
>
[mm] >$y_1 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{i1}=0$
[/mm]
[mm] >$y_2 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{i2}=0$
[/mm]
[mm] >$\vdots$
[/mm]
[mm] >$y_n [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{in}=0$
[/mm]
Hier müssen statt [mm] \delta_{i1} [/mm] bis [mm] \delta_{in} [/mm] die Variablen [mm] \delta_{1i} [/mm] bis [mm] \delta_{ni} [/mm] stehen, so dass sich folgendes ergibt:
[mm] $y_1 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{1i}=0$
[/mm]
[mm] $y_2 [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{2i}=0$
[/mm]
[mm] $\vdots$
[/mm]
[mm] $y_n [/mm] - [mm] 2\summe_{i=1}^{n} x_i*\delta_{ni}=0$
[/mm]
Die Kurzform die ich suche entspricht dem folgenden:
[mm] >$\vektor{\bruch{\partial f}{\partial x_1}\\\vdots\\\bruch{\partial f}{\partial x_n}}=\vec{y}-2*\delta*\vec{x}$
[/mm]
So eine Schreibweise suche ich. Dazu noch die folgende abschließende Frage:
Kann ich das auch so schreiben:
[mm] \bruch{\partial f}{\partial \vec{x}}=\vec{y}-2*\delta*\vec{x}
[/mm]
Geht das? Oder ist eine partielle Ableitung nach einem Vektor unüblich und somit unverständlich?
Grüße,
Robert
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:15 Fr 01.10.2004 | Autor: | Marc |
Hallo Robert,
> vielen Dank für die Antwort, sie hat mir schon geholfen.
> Deine Vermutungen waren korrekt, [mm]\delta[/mm] ist symmetrisch und
> ich habe einmal statt [mm]x_{i}[/mm] aus Versehen [mm]n_{i}[/mm] geschrieben.
> Ich bin beeindruckt, dass Du die Fehler so easy gefunden
> hast.
Ja,d as ist echt beeindruckend, dass ich so easy Tippfehler erkennen kann
> Du hast übrigens einmal die Indizes vertauscht:
Stimmt, sorry.
> >Mal sehen (hier nehme ich wieder an, dass [mm]\delta[/mm]
> symmetrisch ist):
> >
> >[mm]y_1 - 2\summe_{i=1}^{n} x_i*\delta_{i1}=0[/mm]
> >[mm]y_2 - 2\summe_{i=1}^{n} x_i*\delta_{i2}=0[/mm]
>
> >[mm]\vdots[/mm]
> >[mm]y_n - 2\summe_{i=1}^{n} x_i*\delta_{in}=0[/mm]
>
> Hier müssen statt [mm]\delta_{i1}[/mm] bis [mm]\delta_{in}[/mm] die
> Variablen [mm]\delta_{1i}[/mm] bis [mm]\delta_{ni}[/mm] stehen, so dass sich
> folgendes ergibt:
> [mm]y_1 - 2\summe_{i=1}^{n} x_i*\delta_{1i}=0[/mm]
> [mm]y_2 - 2\summe_{i=1}^{n} x_i*\delta_{2i}=0[/mm]
>
> [mm]\vdots[/mm]
> [mm]y_n - 2\summe_{i=1}^{n} x_i*\delta_{ni}=0[/mm]
>
> Die Kurzform die ich suche entspricht dem folgenden:
> >[mm]\vektor{\bruch{\partial f}{\partial x_1}\\\vdots\\\bruch{\partial f}{\partial x_n}}=\vec{y}-2*\delta*\vec{x}[/mm]
>
> So eine Schreibweise suche ich. Dazu noch die folgende
> abschließende Frage:
> Kann ich das auch so schreiben:
> [mm]\bruch{\partial f}{\partial \vec{x}}=\vec{y}-2*\delta*\vec{x}
[/mm]
>
> Geht das? Oder ist eine partielle Ableitung nach einem
> Vektor unüblich und somit unverständlich?
Nein, das ist erlaubt, soweit ich weiß.
Jedenfalls kann man für die Funktionalmatrix (so heißt diese in diesem Fall [mm] $1\times [/mm] n$-Matrix) schreiben:
[mm]\bruch{\partial f}{\partial (x_1,\ldots,x_n)}=\vec{y}-2*\delta*\vec{x}[/mm]
Viele Grüße,
Marc
|
|
|
|