In Bishops Buch über maschinelles Lernen wird das Problem der Kurvenanpassung einer Polynomfunktion an eine Reihe von Datenpunkten erörtert.
Sei M die Ordnung des angepassten Polynoms. Es heißt so
Wir sehen, dass mit zunehmendem M die Größe der Koeffizienten typischerweise größer wird. Insbesondere für das M = 9 - Polynom wurden die Koeffizienten durch Entwickeln großer positiver und negativer Werte fein auf die Daten abgestimmt, so dass die entsprechende Polynomfunktion genau mit jedem der Datenpunkte übereinstimmt, jedoch zwischen Datenpunkten (insbesondere in der Nähe der Enden des Bereich) Die Funktion weist die großen Schwingungen auf.
Ich verstehe nicht, warum große Werte eine engere Anpassung der Datenpunkte implizieren. Ich würde denken, dass die Werte nach dem Dezimaltrennzeichen präziser werden, um eine bessere Anpassung zu erreichen.
quelle
Antworten:
Dies ist ein bekanntes Problem bei Polynomen höherer Ordnung, das als Runge-Phänomen bezeichnet wird . Numerisch ist dies mit einer schlechten Konditionierung der Vandermonde-Matrix verbunden , wodurch die Koeffizienten sehr empfindlich gegenüber kleinen Abweichungen in den Daten und / oder Rundungen in den Berechnungen sind (dh das Modell ist nicht stabil identifizierbar ). Siehe auch diese Antwort auf der SciComp SE.
Es gibt viele Lösungen für dieses Problem, zum Beispiel die Chebyshev-Approximation , das Glätten von Splines und die Tikhonov-Regularisierung . Die Tikhonov-Regularisierung ist eine Verallgemeinerung der Kammregression , die eine Normdes Koeffizientenvektors ;, wobei zum Glätten der Gewichtsmatrix ; ein abgeleiteter Operator ist. Um Schwingungen zu bestrafen, können Sie , wobei das Polynom ist, das bei den Daten ausgewertet wird.| | Λθ] | | θ Λ Λ θ = p' '[ x ] p [ x ]
BEARBEITEN: In der Antwort des Benutzers hxd1011 wird darauf hingewiesen, dass einige der Probleme mit der numerischen Fehlkonditionierung mit orthogonalen Polynomen behoben werden können, was ein guter Punkt ist. Ich würde jedoch bemerken, dass die Identifizierbarkeitsprobleme mit Polynomen höherer Ordnung immer noch bestehen. Das heißt, eine numerische Fehlkonditionierung ist mit einer Empfindlichkeit für "infinitesimale" Störungen (z. B. Abrunden) verbunden, während eine "statistische" Fehlkonditionierung eine Empfindlichkeit für "endliche" Störungen (z. B. Ausreißer; das umgekehrte Problem ist schlecht gestellt ) betrifft .
Die in meinem zweiten Absatz genannten Methoden befassen sich mit dieser Ausreißersensitivität . Sie können sich diese Empfindlichkeit als Verstoß gegen das Standardmodell der linearen Regression , bei dem bei Verwendung einer implizit davon dass es sich bei den Daten um Gauß handelt. Splines- und Tikhonov-Regularisierung bewältigen diese Ausreißerempfindlichkeit, indem sie der Passung eine Glätte vorschreiben. Die Chebyshev-Näherung geht damit um, indem eine -Fehlanpassung verwendet wird, die über die kontinuierliche Domäne angewendet wird , dh nicht nur an den Datenpunkten. Obwohl Chebyshev-Polynome orthogonal sind (bezogen auf ein bestimmtes gewichtetes inneres Produkt), glaube ich, dass sie bei Verwendung mit einer über die Daten immer noch eine Ausreißerempfindlichkeit aufweisen würden.L2 L∞ L2
quelle
Das erste, was Sie überprüfen möchten, ist, ob der Autor über rohe Polynome vs. orthogonale Polynome spricht .
Für orthogonale Polynome. Die Koeffizienten werden nicht "größer".
Hier sind zwei Beispiele für eine Polynomexpansion 2. und 15. Ordnung. Zunächst zeigen wir den Koeffizienten für die Expansion 2. Ordnung.
Dann zeigen wir 15. Ordnung.
Beachten Sie, dass wir orthogonale Polynome verwenden , sodass der Koeffizient niedrigerer Ordnung genau mit den entsprechenden Begriffen in den Ergebnissen höherer Ordnung übereinstimmt. Beispielsweise ist der Achsenabschnitt und der Koeffizient für die erste Ordnung für beide Modelle 20.09 und -29.11.
Auf der anderen Seite wird so etwas nicht passieren, wenn wir Roh-Expansion verwenden. Und wir werden große und empfindliche Koeffizienten haben! Im folgenden Beispiel sehen wir, dass die Koeffizienten in der Größenordnung von liegen.106
quelle
summary(lm(mpg~poly(wt,2),mtcars)); summary(lm(mpg~poly(wt,5),mtcars)); summary(lm(mpg~ wt + I(wt^2),mtcars)); summary(lm(mpg~ wt + I(wt^2) + I(wt^3) + I(wt^4) + I(wt^5),mtcars))
poly(x,2,raw=T)
summary(lm(mpg~poly(wt,15, raw=T),mtcars))
. Massiver Effekt in den Koeffizienten!Abhishek, Sie haben Recht, dass die Verbesserung der Genauigkeit der Koeffizienten die Genauigkeit verbessert.
Ich denke, das Größenproblem spielt für Bishops Gesamtaspekt keine Rolle - die Verwendung eines komplizierten Modells für begrenzte Daten führt zu einer „Überanpassung“. In seinem Beispiel werden 10 Datenpunkte verwendet, um ein 9-dimensionales Polynom (dh 10 Variablen und 10 Unbekannte) zu schätzen.
Wenn wir eine Sinuswelle anpassen (kein Rauschen), funktioniert die Anpassung perfekt, da Sinuswellen [über ein festes Intervall] mit Polynomen mit willkürlicher Genauigkeit approximiert werden können. In Bishops Beispiel haben wir jedoch ein gewisses Maß an "Lärm", das wir nicht einpassen sollten. Die Art und Weise, wie wir dies tun, besteht darin, die Anzahl der Datenpunkte auf die Anzahl der Modellvariablen (Polynomkoeffizienten) hoch zu halten oder die Regularisierung zu verwenden.
Durch die Regularisierung werden dem Modell "weiche" Einschränkungen auferlegt (z. B. bei der Ridge-Regression). Die Kostenfunktion, die Sie zu minimieren versuchen, ist eine Kombination aus "Anpassungsfehler" und Modellkomplexität: Bei der Ridge-Regression wird die Komplexität durch die Summe der quadrierten Koeffizienten gemessen Hierdurch entstehen Kosten für die Verringerung des Fehlers. Eine Erhöhung der Koeffizienten ist nur zulässig, wenn der Anpassungsfehler ausreichend stark verringert wird. Daher besteht die Hoffnung, dass durch Auswahl des geeigneten Multiplikators keine Anpassung an einen zusätzlichen kleinen Rauschausdruck erfolgt, da die Verbesserung der Anpassung die Erhöhung der Koeffizienten nicht rechtfertigt.
Sie haben gefragt, warum große Koeffizienten die Qualität der Anpassung verbessern. Im Wesentlichen liegt der Grund darin, dass die geschätzte Funktion (sin + noise) kein Polynom ist und die großen Änderungen der Krümmung, die erforderlich sind, um den Rauscheffekt mit Polynomen zu approximieren, große Koeffizienten erfordern.
Beachten Sie, dass die Verwendung von orthogonalen Polynomen keine Auswirkung hat (ich habe einen Versatz von 0,1 hinzugefügt, damit die orthogonalen und rohen Polynome nicht übereinander liegen).
quelle