Vektor_x^TVektor_y bedeutung?

Neue Frage »

RobR Auf diesen Beitrag antworten »
Vektor_x^TVektor_y bedeutung?
hi,
ich beschäftige mich im Rahmen meiner Diplomarbeit mit nichtlinearer Optimierung im speziellen mit dem Gradienten-Verfahren.

Ich bin praktischer Informatiker und nicht Mathematiker, deswegen ist mein Wissen auf dem Gebiet beschränkt und ich muss es mir jetzt selbst aneignen.

Ich sehe in Scripten zu dem Thema oft die Schreibweise



Wobei x und y Vektoren (Matritzen) sind.
Ich habe schon in Erfahrung gebracht, dass es sich dabei um die Transponierte einer Matrix handelt. Da ein Vektor ja auch eine Matrix ist (1xn oder nx1 ?) kann man den ja auch transponieren.
Als Ergebnis so eines transponierten Vektors x multipliziert mit einem Vektor y ergibt sich eine skalare Grösse (ich nehme multiplikation an, da zwischen den Operanten kein Operator steht, was ja bekanntlich eine multiplikation bedeutet). Wenn ich jetzt keine Vektoren, sondern Matritzen auf diese Weise multiplizierem, ergibt sich wieder eine Matritze (ich lasse das alles ein Programm namens MATLAB machen).
Steht diese Schreibweise für die Matritzenmultiplikation?
Bei der Multiplikation zweier Vektoren nach diesem Schema ( geht weil ein Vektor durch ^T quasi um 90 grad nach rechts gedreht wird, denn zur matritzenmultiplikation muss ja die anzahl der spalten der matrix x gleich der anzahl der der zeilen der matrix y sein) ergibt sich nach der rechenvorschrift ein skalar. Wie ist dieser zu interpretieren (anschaulich).
Und überhaupt, stimmt das alles, was ich so geschrieben hab?
JochenX Auf diesen Beitrag antworten »

wenn x,y aus dem IR^n sind, dann ist
nichts anderes als das standardskalarperodukt.

also x1*y1+x2*y2+....+xn*yn

mfg jochen
RobR Auf diesen Beitrag antworten »

ok danke, das dachte ich mit schon aber ne bestätigung ist immer gut.

Jetzt hapert es bei mir aber am Verständnis eines so beschriebenen Skalars in einem konkreten Fall.

Ein solcher Skalar findet Anwendung in der Schrittweitenregel von Armijo.
Dabei geht es darum zu einer bestimmten Richtung eine zulässige Schrittweite zu bestimmen.
Ich will jetzt hier nicht näher darauf eingehen,
aber wenn jemand zufällig dieses Verfahren kennt, dann könnte er mir vielleicht die Bedeutung des Skalarprodukts aus Gradient eines Ausgangpunkts und Abstiegsrichtung (negativer Gradient nach Gradientenverfahren) beschreiben. Mir Fehlt es einfach an einer anschaulichen Vorstellung des Skalarprodukts.

MfG
Robert
Ben Sisko Auf diesen Beitrag antworten »

Zitat:
Original von RobR
Jetzt hapert es bei mir aber am Verständnis eines so beschriebenen Skalars in einem konkreten Fall.


Hallo RobR,

deine Schrittweitenregel hab ich noch nicht so recht verstanden, aber vielleicht hilft dir für die Anschauung die geometrische Bedeutung des kanonischen Skalarproduktes, z.B. hier (Punkt 4).

Gruß vom Ben
RobR Auf diesen Beitrag antworten »

also ich versuchs mal zu erklären:

man stelle sich eine nichtlinieare funktion mit zwei parametern f(x,y)=f(xk) vor.
Graphisch dargestellt, ergibt sich quasi ein gebirge, in dem täler also minima gefunden werden sollen.
Das gradientenverfahren starten an einem bestimmten punkt x0.
Von diesem Startpunkt wird der gradient bestimmt und ihm entgegengesetzt (negativer gradient = schrittrichtung sk) "hinabgeschritten". Wie weit (schrittweite sw), das bestimmt eine Schrittweitenregel ind meinem fall die Regel von Armijo.
Diese funktioniert ungefähr so:
Ausgehend von dem Punkt x0 bildet man durch die durch f(xk) beschriebene Fläche in richtung der schrittrichtung s eine eindimensionale funktion
a(sw)=f(xk+ sw*sk)(sk hat dimension von xk, sw ist skalarer faktor), die nur abhängig von der schrittweite sw ist.
von dieser funktion wird quasi das minimum gesucht, allerdings nicht nach regeln der analysis, sondern durch näherungsverfahren (effizienter).
und jetzt der knackpunkt:
in der fachliteratur wird



geschrieben.
grad() steht hier für den nabla operator (dreieck auf dem kopf, gibt es nicht im formeleditor), der in diesem fall gradient bedeutet.
Und eben dieser schritt ist mir nicht klar. Dieser Skalar wird für die eigentliche berechnung der schrittweite benutzt.

Vielleicht ist der zusammanhang jetzt klarer.

MfG
Rob
AD Auf diesen Beitrag antworten »

Zitat:
Original von RobR
grad() steht hier für den nabla operator (dreieck auf dem kopf, gibt es nicht im formeleditor)

Doch, gibt es, und heißt auch erwartungsgemäß:

code:
1:
[latex]\nabla f[/latex]
 
 
RobR Auf diesen Beitrag antworten »

ok danke, also:



ich hab zu Schrittrichtung s jetzt noch das k hinzugefügt, weil es ja zu jedem Punkt xk eine Schrittrichtung sk gibt.

Ausserdem hab ich die Vermutung, dass sich dieser skalare Wert einfach aus einer Ableitungsregel ergibt, die innere Ableitung, also von xk+sw*sk
wäre ja sk und die äussere halt der Gradient. Aus diesen beiden bildet man noch das Produkt, was im Vektorraum halt mit ^T gemacht wird.

Stimmt ihr da zu?
RobR Auf diesen Beitrag antworten »

genau das ist die

Kettenregel

f(g(x)) f '(g(x)) g'(x)

Ist mein fragwürdiger Skalar also einfach die Steigung in einem durch sw definierten Punkt?
Ben Sisko Auf diesen Beitrag antworten »

Zitat:
Original von RobR
Ist mein fragwürdiger Skalar also einfach die Steigung in einem durch sw definierten Punkt?


Rückfrage: Was wäre denn hier "die" Steigung??
Jedenfalls kein Skalar. Dein Gradient ist ja in einem gewissen Sinne die Steigung. Beachte ausserdem, dass ja auch schon das s ein Gradient ist!

Was sagt denn deine Regel über den resultierenden Skalar aus?

Gruß vom Ben
RobR Auf diesen Beitrag antworten »

a(sw) ist doch eindimensional, also ergibt sich doch auch nur eine eindimensionale steigung, also ein skalarer wert oder sehe ich das falsch?

der gradient gibt die richtung der grössten steigung in einem punkt im mehrdimensionalen raum an.


a(sw) verläuft auf f(xk) in richtung des negativen.

gradient und s sind beides vektoren, die durch die matrix-multiplikation einen skalar ergeben. Was der Wert in der Armijo-Regel aussagt, ist leider nicht wirklich erklärt. Das will ich ja herrausfinden. Das Problem beschränkt sich ja auch nicht unbedingt auf diese Regen, sondern ist viel mehr ein Vektor-Analytisches Problem, das in der Armijo-Regel zur Anwendung kommt.
Ben Sisko Auf diesen Beitrag antworten »

a(sw) ist ein Skalar, kann aber deswegen hier nicht ohne weiteres eine Steigung sein. Man müsste sich doch fragen:"Was für eine Steigung?"
Mit dem Funktions"gebirge" hast du es ja schon richtig erklärt. Deswegen gibt es hier in jedem Punkt unendlich viele Steigungen (im skalaren Sinne), je nachdem in welche Richtung man nun geht.
Deswegen kann a(sw) auch nicht "verlaufen", denn wohin sollte ein Skalar denn "verlaufen"?
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »