Was macht eine Fehleroberfläche konvex? Wird es von der Covarinace-Matrix oder dem Hessischen bestimmt?

17

Ich lerne gerade über Kleinste-Quadrate- Schätzungen (und andere) für die Regression und nach dem, was ich auch in einigen Literaturen zu adaptiven Algorithmen lese, erscheint oftmals der Satz "... und da die Fehlerfläche konvex ist ..." und Jede Tiefe, warum es von Anfang an konvex ist, ist nicht zu finden.

... Was genau macht es konvex ?

Ich finde diese wiederholte Auslassung ein wenig ärgerlich, weil ich meine eigenen adaptiven Algorithmen mit meinen eigenen Kostenfunktionen entwerfen möchte, aber wenn ich nicht sagen kann, ob meine Kostenfunktion eine konvexe Fehlerfläche ergibt oder nicht, kann ich das nicht zu weit kommen, wenn man so etwas wie Gefälle anwendet, weil es kein globales Minimum gibt. Vielleicht möchte ich kreativ werden - vielleicht möchte ich zum Beispiel keine Fehlerquadrate als mein Fehlerkriterium verwenden.

Beim tieferen Graben (und meine Fragen beginnen hier) stellte ich fest, dass Sie, um feststellen zu können, ob Sie eine konvexe Fehlerfläche haben, sicherstellen müssen, dass Ihre hessische Matrix positiv semidefinit ist. Für symmetrische Matrizen ist dieser Test einfach - stellen Sie einfach sicher, dass alle Eigenwerte der Hessischen Matrix nicht negativ sind. (Wenn Ihre Matrix nicht symmetrisch ist, können Sie sie symmetrisch machen, indem Sie sie zu ihrer eigenen Transponierung hinzufügen und den gleichen Eigenwerttest durchführen, kraft des Gramian , aber das ist hier nicht wichtig.)

Was ist eine hessische Matrix? Die hessische Matrix kodiert alle möglichen Kombinationen der Teilwerte Ihrer Kostenfunktion. Wie viele Partials gibt es? So viele wie die Anzahl der Features in Ihrem Feature-Vektor. Wie werden die Teiltöne berechnet? Nehmen Sie die partiellen Ableitungen 'von Hand' aus der ursprünglichen Kostenfunktion.

Genau das habe ich getan: Ich gehe davon aus, dass wir eine x Datenmatrix haben, die durch die Matrix , wobei die Anzahl der Beispiele und die Anzahl der Merkmale pro Beispiel bezeichnet. (Dies ist auch die Anzahl der Teiltöne). Ich nehme an, wir können sagen, dass wir Zeitabtastungen und räumliche Abtastungen von Sensoren haben, aber die physikalische Anwendung ist hier nicht allzu wichtig.n x m n m nmnXmnmn

Weiterhin haben wir auch einen Vektor der Größe x . (Dies ist Ihr 'Label'-Vektor oder Ihre' Antwort ', die jeder Zeile von ) Der Einfachheit halber habe ich für dieses Beispiel angenommen . Also 2 "Beispiele" und 2 "Features".m 1 X m = n = 2ym1Xm=n=2

Nehmen wir nun an, Sie möchten hier die 'Linie' oder das Polynom der besten Anpassung ermitteln. Das heißt, Sie projizieren Ihre Eingabedaten-Features gegen Ihren Polynomkoeffizientenvektor , sodass Ihre Kostenfunktion wie folgt lautet:θ

J(θ)=12mi=1m[θ0x0[i]+θ1x1[i]y[i]]2

Nehmen wir nun die erste partielle Ableitung von (Merkmal 0). Also:θ0

δJ(θ)δθ0=1mi=1m[θ0x0[i]+θ1x1[i]y[i]]x0[i]

δJ(θ)δθ0=1mi=1m[θ0x02[i]+θ1x1[i]x0[ich]-y[ich]x0[ich]]

Berechnen wir nun alle zweiten Teiltöne.

δ2J(θ)δθ02=1mich=1mx02[ich]

δ2J(θ)δθ0θ1=1mi=1mx0[i]x1[i]

δ2J(θ)δθ1θ0=1mi=1mx1[i]x0[i]

δ2J(θ)δθ12=1mi=1mx12[i]

Wir wissen, dass der Hessische nichts anderes ist als:

H(J(θ))=[δ2J(θ)δθ02δ2J(θ)δθ0θ1δ2J(θ)δθ1θ0δ2J(θ)δθ12]

H(J(θ))=[1mi=1mx02[i]1mi=1mx0[i]x1[i]1mi=1mx1[i]x0[i]1mi=1mx12[i]]

Nun, je nachdem , wie ich die Datenmatrix aufgebaut haben , (meine ‚Features‘ gehen durch Spalten und meine Beispiele gehen von Zeilen), die Hessische scheint zu sein:X

H(J(θ))=XTX=Σ

... das ist nichts anderes als die Sample-Kovarianz-Matrix !

Ich bin mir also nicht ganz sicher, wie ich das interpretieren soll - oder ich sollte sagen, ich bin mir nicht ganz sicher, wie verallgemeinernd ich hier sein soll. Aber ich denke, ich kann das sagen:

  • Immer wahr:

    • Die Hessische Matrix kontrolliert immer, ob Ihre Fehler- / Kostenfläche konvex ist oder nicht.
    • Wenn Sie eine Hessische Matrix haben, die halbwegs defekt ist, sind Sie konvex (und können gerne Algorithmen wie den Gradientenabstieg verwenden, um zur optimalen Lösung zu konvergieren).
  • True nur für LSE:

    • Die hessische Matrix für das LSE-Kostenkriterium ist nichts anderes als die ursprüngliche Kovarianzmatrix. (!).
    • Für mich bedeutet dies, dass bei Verwendung des LSE-Kriteriums die Daten selbst bestimmen, ob ich eine konvexe Oberfläche habe oder nicht. ... Was würde dann bedeuten, dass die Eigenvektoren meiner Kovarianzmatrix irgendwie die Fähigkeit haben, die Kostenfläche zu "formen"? Stimmt das immer? Oder hat es nur für die LSE-Kriterien geklappt? Es stimmt einfach nicht mit mir, dass die Konvexität einer Fehleroberfläche von den Daten abhängen sollte.

Wenn Sie es also wieder in den Kontext der ursprünglichen Frage stellen, wie kann man feststellen, ob eine Fehlerhäufigkeit (basierend auf einer von Ihnen ausgewählten Kostenfunktion) konvex ist oder nicht? Basiert diese Bestimmung auf den Daten oder dem Hessischen?

Vielen Dank

TLDR: Wie genau und praktisch stelle ich fest, ob meine Kostenfunktion und / oder mein Datensatz eine konvexe oder eine nichtkonvexe Fehlerfläche ergeben?

Spacey
quelle

Antworten:

7

Sie können sich linear kleinste Quadrate in einer Dimension vorstellen. Die Kostenfunktion ist so etwas wie . Die erste Ableitung (Jacobian) ist dann , also linear in . Die zweite Ableitung (Hessisch) ist - eine Konstante.ein22einein2

Da die zweite Ableitung positiv ist, haben Sie es mit der konvexen Kostenfunktion zu tun. Dies ist gleichbedeutend mit der positiv definierten Hessischen Matrix in der multivariaten Analysis.

Sie haben es mit nur zwei Variablen zu tun ( , ), daher ist der Hessische besonders einfach.θ1θ2

In der Praxis gibt es jedoch oft viele Variablen, so dass es unpraktisch ist, Hessisch zu bauen und zu inspizieren.

Eine effizientere Methode besteht darin, direkt an der Jacobi-Matrix im Least-Squares-Problem zu arbeiten:J

Jx=b

J kann rangdefizient, singulär oder nahezu singulär sein. In solchen Fällen ist die quadratische Fläche der Kostenfunktion nahezu flach und / oder in eine Richtung stark gedehnt. Sie können auch feststellen, dass Ihre Matrix theoretisch lösbar ist, die Lösung jedoch numerisch instabil ist. Eine Vorkonditionierungsmethode kann verwendet werden, um solche Fälle zu bewältigen.

Einige Algorithmen führen einfach eine Cholesky-Zerlegung von . Wenn der Algorithmus fehlschlägt, bedeutet dies, dass singulär (oder schlecht konditioniert) ist.JJ

Numerisch stabiler, aber teurer ist eine QR-Zerlegung , die auch nur dann existiert, wenn regulär ist.J

Schließlich ist die neueste Methode eine Singular Value Decomposition (SVD) , die am teuersten ist, für jede Matrix durchgeführt werden kann, den numerischen Rang von und es Ihnen ermöglicht, Fälle mit Rangmangel separat zu behandeln.J

Ich habe einen Artikel über lineare und nichtlineare Lösungen der kleinsten Quadrate geschrieben, der diese Themen ausführlich behandelt:

Lineare und nichtlineare Kleinste Quadrate mit Math.NET

Es gibt auch Verweise auf großartige Bücher, die sich mit fortgeschrittenen Themen im Zusammenhang mit den kleinsten Quadraten befassen (Kovarianz in Parametern / Datenpunkten, Vorkonditionierung, Skalierung, orthogonale Distanzregression - Summe der kleinsten Quadrate, Bestimmung der Präzision und Genauigkeit des Schätzers der kleinsten Quadrate usw.). ).

Ich habe ein Beispielprojekt für den Artikel erstellt, der Open Source ist:

LeastSquaresDemo - binär

LeastSquaresDemo - Quelle (C #)

Libor
quelle
θθ
2) Ja, ich meine im Allgemeinen. In linearen kleinsten Quadraten hat die gesamte Fehlerfläche einen konstanten Hessischen Wert. Die zweite Ableitung von quadratisch ist konstant, das gilt auch für Hessisch. 3) Es hängt von der Konditionierung Ihrer Datenmatrix ab. Wenn das Hessische spd ist, gibt es eine einzige geschlossene Lösung und die Fehlerfläche ist in alle Richtungen konvex. Ansonsten ist die Datenmatrix schlecht konditioniert oder singulär. Ich habe Hessian nie benutzt, um das zu untersuchen, sondern um einzelne Werte der Datenmatrix zu untersuchen oder um zu überprüfen, ob es eine Cholesky-Zerlegung gibt. In beiden Fällen erfahren Sie, ob es eine Lösung gibt.
Libor
XθXθ
Mohammad: 1) Ich habe die Antwort umgeschrieben und Links zu meinem Artikel über Least-Squares hinzugefügt (möglicherweise gibt es einige Fehler, ich habe ihn noch nicht offiziell veröffentlicht), einschließlich Arbeitsprobenprojekt. Ich hoffe, es wird Ihnen helfen, das Problem besser zu verstehen ... 2) In linearen kleinsten Quadraten ist Hessisch konstant und nur von Datenpunkten abhängig. Im Allgemeinen hängt dies auch von den Modellparametern ab, dies ist jedoch nur bei nichtlinearen kleinsten Quadraten der Fall.
Libor