Ich fand das folgende Papier nützlich:
Edelman, A., Arias, TA & Smith, ST (1998).
Die Geometrie von Algorithmen mit Orthogonalitätsbeschränkungen . SIAM Journal on Matrix Analysis and Applications, 20 (2), 303-353.
Dieses Dokument enthält weitaus mehr Informationen als Sie möglicherweise benötigen, was die Differentialgeometrie und Optimierungsmethoden höherer Ordnung betrifft.
Die Informationen zur Beantwortung Ihrer Frage sind jedoch recht einfach und enthalten hauptsächlich die Gleichungen 2.53 und 2.70, die beide die Form haben
∇f=G−XΦ
wo der nominelle Gradient
G=∂f∂X
wird auf einen eingeschränkten Gradienten korrigiert
∇f durch Subtrahieren seiner Projektion
Φ auf die aktuelle Lösung
X. Dies ist die Normale zum Verteiler, ähnlich wie bei einer
Kreisbewegung , und stellt sicher, dass der korrigierte Gradient den Verteiler tangiert.
Hinweis: Diese Formeln setzen voraus, dass Sie sich bereits auf dem Verteiler befinden, d. H.XTX=I. In der Praxis müssen Sie also sicherstellen, dass Ihr Ausgangszustand angemessen ist (zX0=Imöglich rechteckig). Möglicherweise müssen Sie auch gelegentlich akkumulierte Rundungs- und / oder Kürzungsfehler korrigieren (z. B. über SVD, siehe Beispiel "ZCA" unten).
Im ungezwungenen Fall Φ=0im eingeschränkten Fall Φ nimmt zwei Formen an:
ΦG=XTG⟹∇Gf=(I−XXT)G
das entspricht der "Grassmann-Mannigfaltigkeit". Der Unterschied hier ist das
∇Gist unempfindlich gegen
Rotationen , da für eine Rotation
QTQ=I und
X=X0Q, wir haben
XXT=X0XT0.
Die zweite Form ist
ΦS=GTX⟹∇Sf=G−XGTX
Das entspricht dem "Stiefel-Verteiler" und
ist drehempfindlich.
Ein einfaches Beispiel ist die Approximation einer gegebenen Matrix A∈Rn×p mit p≤n durch eine orthogonale Matrix XMinimieren des Fehlers der kleinsten Quadrate. In diesem Fall haben wir
f[X]=12∥X−A∥2F=12∑ij(Xij−Aij)2⟹G=X−A
Das
ungezwungene Fall
∇f=G hat Lösung
X=A, weil es uns nicht darum geht, dies sicherzustellen
X ist orthogonal.
Für den Grassmann-Fall haben wir
∇Gf=(XXT−I)A=0
Dies kann nur eine Lösung haben
A ist eher quadratisch als "dünn", denn wenn
p<n dann
Xwird ein
Null-Leerzeichen haben .
Für den Stiefel-Fall haben wir
∇Sf=XATX−A=0
was auch dann gelöst werden kann
p<n.
Diese beiden Fälle, Grassmann vs. Stiefel, entsprechen im Wesentlichen dem Unterschied zwischen " PCA vs. ZCA Whitening ". In Bezug auf die SVD , wenn die Eingabematrix istA=USVT, dann sind die Lösungen XG=U und XS=UVT. Die PCA-LösungXG gilt nur für eine quadratische Eingabe, dh Amuss die " Kovarianzmatrix " sein. Allerdings die ZCA-LösungXS kann verwendet werden, wenn Aist eine " Datenmatrix ". (Dies ist besser bekannt als das Problem der orthogonalen Krusten .)