Inverse Probleme verständlich erklärt
Wer ein unscharfes Foto rechnerisch scharf stellt, verstärkt dabei auch das feine Körnen. Genauso lässt sich eine unscharfe, verrauschte Messung nicht einfach zurückrechnen, und feiner zu rechnen kann das Ergebnis sogar verschlechtern. Diese Seite erklärt das zuerst an einem Foto ohne Formeln und danach für Fachleute mit Modell, Formeln, Messwerten und Grenzen. In der Demo können Sie selbst verstellen, wie fein gerechnet wird und wie stark das Rauschen ist.
Zuletzt aktualisiert:
Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.
Ein unscharfes Foto scharf rechnen
Stellen Sie sich ein Foto vor, das leicht unscharf geworden ist. Jeder Bildpunkt hat ein wenig vom Licht seiner Nachbarn abbekommen. Dazu kommt ein feines Körnen, wie man es bei wenig Licht sieht. Gesucht ist das scharfe Foto, das die Kamera eigentlich hätte aufnehmen sollen. Man kennt also das Ergebnis der Messung und will daraus die Ursache zurückrechnen. Solche Aufgaben heißen inverse Probleme, weil man die gewohnte Richtung umkehrt: nicht von der Ursache zum Ergebnis, sondern vom Ergebnis zur Ursache.
Das Foto ist hier nur ein Bild zum Verstehen. Die Demo rechnet mit einer Kurve aus zwei Hügeln und einem Kasten, die ein Messgerät verwischt. Die Messwerte zittern zusätzlich zufällig, das nennt man Rauschen. Die wahre Kurve ist bekannt, weil sie am Rechner erfunden wurde. So lässt sich jede Rückrechnung an der Wahrheit messen.
Warum das Zurückrechnen schiefgeht
Naheliegend ist, die Verwischung einfach rückwärts zu rechnen, wie mit einem Schärfen-Regler am Foto. Wäre die Messung exakt und die Rechnung passend zum Messgerät, käme dabei die Wahrheit heraus. Mit Rauschen geht es schief: Mit den Voreinstellungen der Demo ist der Fehler größer als die Kurve selbst.
Der Grund: Das Messgerät schwächt kleinste Details stark ab und grobe Formen kaum. Beim Foto sind kleinste Details etwa Kanten und feine Schriftzüge, bei der Kurve die schärfsten Knicke. Beim Zurückrechnen muss man sie entsprechend stark wieder verstärken. Das Rauschen kommt erst nach dem Verwischen dazu und wird vom Gerät nicht abgeschwächt. Die Rechnung kann winzige echte Details nicht vom Zittern unterscheiden und verstärkt beides gleich stark.
Wie stark, sagt die Kondition. Ein Beispiel, das kein Wert der Demo ist: Dämpft das Gerät die kleinsten Details auf ein Tausendstel, muss die Rechnung sie tausendfach aufdrehen, und jedes Zittern in diesen Details wächst ebenfalls auf das Tausendfache. Die Kondition ist das Verhältnis zwischen der stärksten und der schwächsten Abschwächung des Geräts. Sie gibt an, wie stark ein winziger Messfehler im Ergebnis höchstens wachsen kann.
Die Folge: In der Demo lassen sich zwei Wahrheiten, die sich nur in den kleinsten Details unterscheiden, an den Messwerten kaum auseinanderhalten. Die Daten allein sagen dann nicht, welche gilt. Eine Aufgabe, bei der winzige Fehler in den Messwerten das Ergebnis völlig verändern können, heißt schlecht gestellt.
Mehr Punkte, weniger Rauschen: was bringt das?
Man würde erwarten, dass feineres Rechnen genauer wird. Die Demo rechnet auf einem Gitter: Das sind die Punkte, an denen die Kurve gemessen und rekonstruiert wird, vergleichbar mit den Bildpunkten des Fotos. Mit wenigen Punkten ist die Rechnung selbst ungenau, weil sie Hügel und Kasten schlecht abbildet. Mehr Punkte verbessern das Ergebnis deshalb zuerst. Ab einem Punkt kippt es: Dann kommen kleinste Details dazu, die das Gerät fast ausgelöscht hat und die die Rückrechnung am stärksten verstärkt. Bei gleich bleibendem Rauschen wird das Ergebnis in der Demo ab da rasch schlechter, bis zu reinem Unsinn. Weniger Rauschen hilft in der Demo nur langsam. Die Zahlen stehen weiter unten im zweiten Teil der Seite.
Ein Test, der zu gut aussieht, und ein Gegenmittel
Um eine Rückrechnung zu testen, braucht man Messdaten mit bekannter Wahrheit. Naheliegend ist, sie mit derselben Rechnung zu erzeugen, die später umgekehrt wird. Das ist wie eine Prüfung mit selbst gestellten Aufgaben: Sie fällt zu leicht aus.
Denn so fehlt ein Teil des Fehlers, nämlich dass das Rechengitter die wirkliche Verwischung nie ganz genau trifft. In der Demo sieht der Test mit wenigen Punkten fast fehlerfrei aus, obwohl die Rückrechnung mit „ehrlichen“ Daten weit danebenliegt. Ehrlich heißt hier: Die Daten stammen aus der genauen Verwischung und nicht aus dem Rechengitter.
Die Demo zeigt das Problem, nicht die Lösung. Ein Gegenmittel heißt Regularisierung: Man gibt der Rechnung zusätzlich mit, was für eine Lösung plausibel ist, etwa eine glatte Kurve ohne wilde Zacken, damit sie nicht jedes Zittern verstärkt. Die weiteren Demos zu diesem Thema behandeln solche Gegenmittel.
Wie ernst ist das Modell zu nehmen?
Die Demo ist stark vereinfacht: eine Dimension, eine erfundene Kurve, Rauschen ohne Muster, und das Messgerät ist der Rechnung genau bekannt. Alle Zahlen sind am Rechner erzeugt und sagen nichts über echte Messungen.
Was Sie mitnehmen: Wenn ein Anbieter oder Planer aus verwischten Messungen etwas zurückrechnet, können Sie zwei Fragen stellen. Wurde das Verfahren mit Testdaten geprüft, die nicht mit derselben Rechnung erzeugt wurden? Und ändert sich das Ergebnis stark, wenn man die Messwerte nur um ihre übliche Messungenauigkeit verändert? Bei einem Verfahren, das nur rückwärts rechnet, ist das ein Warnzeichen. Gute Verfahren nutzen Vorwissen, etwa dass die gesuchte Kurve glatt ist, und schwanken dann weniger.
Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.
Modell und Annahmen
Dieser Teil ist eigenständig lesbar. Er fasst die formale Beschreibung der Demo zusammen; die vollständige Fassung steht im Expander „📐 Mathematische Formulierung“ der Demo.
- Vorwärtsmodell: Die Wahrheit \(x\) auf \([0,1]\) wird mit einem Gauß-Kern \(k\) der Breite \(w\) unscharf gemessen: \(g(t) = \int k(t-s)\,x(s)\,ds\). Das Phantom besteht aus zwei Gauß-Hügeln und einem Kasten (Hügel: Mitte 0,30 und 0,58, Breite 0,050 und 0,030, Höhe 1,0 und 0,7; Kasten: 0,72 bis 0,84, Höhe 0,5), \(g\) ist dafür analytisch bekannt.
- Gitter: Mit \(n\) Punkten (Mittelpunktregel) ist \(A = hK\), \(K_{ij} = k(s_i - s_j)\), \(h = 1/n\). Standard: \(n\) = 48, \(w\) = 0,03.
- Rauschen: weiß, \(e_i \sim N(0, \sigma^2)\), \(\sigma = \text{noise}\cdot \mathrm{rms}(g)\); Standard 0,1 % (absolut 3,4·10⁻⁴). Zwei Arten von Daten: ehrlich (\(b_i = g(t_i) + e_i\), vom Gitter unabhängig) und aus demselben Gitter (\(b = A x_n + e\), „inverse crime“); das Rauschen \(e\) ist in beiden gleich.
- Experimente: Sie laufen über feste Zufallsströme (SplitMix64): 400 Wiederholungen je Zelle (Experiment 4: 20 000), nie ein einzelner Zufalls-Seed. Alles ist erfunden; die Wahrheit ist das simulierte Phantom.
Die Formeln
Die Demo führt ihre Formeln im Fließtext des Expanders, nicht als abgesetzte Gleichungen; hier dieselben in Worten. Mit der Singulärwertzerlegung \(A = U\,\mathrm{diag}(\sigma_1 \ge \dots \ge \sigma_n)\,V^\top\) ist die Kondition \(\kappa = \sigma_1/\sigma_n\) und die direkte Inversion \(\hat x = V\,\mathrm{diag}(1/\sigma_i)\,U^\top b\): Jeder Singulärwert wird invertiert, also wird jede Störung in Richtung \(v_i\) um \(1/\sigma_i\) verstärkt, höchstens um \(\kappa\).
Erwarteter Fehler. Für Daten aus demselben Gitter ist \(\hat x - x_n = A^{-1}e\) und \(E\|\hat x - x_n\|^2 = \sigma^2 \sum_i 1/\sigma_i^2\). Der relative Fehler ist \(\sigma\sqrt{\sum_i \sigma_i^{-2}} / \|x_n\|\); er wächst mit der Kondition. Bei ehrlichen Daten kommt der Modellfehler \(A^{-1}(g - A x_n)\) hinzu.
Komponentenzahl. \(k^* = \#\{i : |u_i^\top g| > \sigma\}\) zählt die Komponenten der exakten Daten über dem Rauschen. Die diskrete Picard-Bedingung verlangt, dass \(|u_i^\top g|\) schneller fällt als \(\sigma_i\); die Daten verlieren ihre Information dort, wo sie das Rauschen erreichen.
Zwei Wahrheiten. Ändert man \(x\) um \(c\,v_k\) (\(v_k\) der \(k\)-te rechte Singulärvektor), ändern sich die Daten um \(\sigma_k c\,u_k\), also um \(\delta = \sigma_k c/\sigma\) Standardabweichungen. Der beste Test zum Niveau \(\alpha\) hat die Macht \(1 - \Phi(z_{1-\alpha} - \delta)\); bei \(\delta = z_{1-\alpha}\) ist sie 50 %.
Befunde
Alle Zahlen stammen aus der README der Demo (jede steht in deren Tests, tests/test_claims.py). Wenn nicht anders genannt, gelten sie für die Standardinstanz (\(n\) = 48, \(w\) = 0,03, Rauschen 0,1 %, Zufalls-Seed 35); die Experimente laufen mit 400 Wiederholungen je Zelle. Fehler sind relativ zur Signalnorm angegeben.
| Frage | Befund |
|---|---|
| Wie schlecht ist die Matrix? | Singulärwerte von 0,996 bis 7,9·10⁻⁵, Kondition 1,3·10⁴; Signalnorm 2,60, absolutes Rauschen 3,4·10⁻⁴. |
| Was liefert die direkte Inversion? | Fehler 258 %; erwartet (geschlossen, nur Rauschen) 247 %; 31 von 48 Komponenten liegen über dem Rauschen. Mit Daten aus demselben Gitter 259 %. |
| Feineres Gitter bei gleichem Rauschen (Experiment 1, ehrliche Daten) | Der Fehler fällt von 24 % (n = 12) auf 4,2 % bei n = 32 und steigt danach: 17 % (n = 40), rund 250 % (n = 48), 77-fach (n = 56), 4,5·10³-fach (n = 64). U-Form durch Modellfehler (links) und Rauschverstärkung (rechts). |
| … und mit Daten aus demselben Gitter? | Er steigt monoton von 0,09 % (n = 12) über 1,4 % (n = 32) auf 4,5·10³-fach (n = 64) und stimmt mit der geschlossenen Formel auf 12 % überein. Bei n = 12 sieht es nach 0,09 % aus, wo es in Wahrheit 24 % sind. |
| Kondition nach Gitter | 1,1 (n = 12), 45 (n = 32), 1,3·10⁴ (n = 48), 3,3·10⁷ (n = 64). |
| Wie viel Rauschen verträgt die Inversion (Experiment 2)? | Der Fehler erreicht 100 % bei einem Rauschen von 81 % (w = 0,01), 6,6 % (0,02), 0,04 % (0,03, Standard) und 2,6·10⁻⁵ % (0,04). Die Simulation bei der Schwelle liefert den quadratischen Mittelwert 0,95 bis 1,01. |
| Wie viele Komponenten stecken über dem Rauschen? | k* = 16 / 26 / 31 / 40 / 48 für 10 % / 1 % / 0,1 % / 0,01 % / 0,0001 % Rauschen (von 48). Hundertmal weniger Rauschen (1 % auf 0,01 %) bringt 14 Komponenten dazu. |
| Ganz ohne Rauschen (Experiment 3) | Aus demselben Gitter: Fehler 4,4·10⁻¹³ % (n = 32), 3,1·10⁻¹⁰ % (n = 48). Ehrliche Daten: 4,0 % (n = 32), 11 % (n = 48), 24 % (n = 12). Der Modellfehler des Gitters liegt bei 27 % (n = 12), 1,9 % (n = 32), 5,2 % (n = 48) und ist nicht monoton in n (die Lage der Kastenkanten entscheidet). |
| Zwei Wahrheiten, dieselben Daten (Experiment 4) | Ändert man die Wahrheit um die ganze Signalnorm in Richtung der 44. Komponente, trennt ein Test die Datensätze mit Macht 74 %, bei der 46. mit 29 %, bei der 48. mit 15 % (5 % Fehlalarm). Simulation und geschlossene Form stimmen auf 0,02 überein. Macht 50 % erst bei einer Änderung um 72 % (44.) und 273 % (48.) der Signalnorm. |
| Wann zeigt sich das „inverse crime“? | Im harten Bereich (Standard) ist das Rauschen größer als der Modellfehler: Der Fehler ist mit Daten aus demselben Gitter und mit ehrlichen Daten gleich (258 % und 259 %). Der Unterschied zeigt sich ohne Rauschen und bei kleiner Kondition (n = 48, w = 0,02: 1,4 % gegen 11 %). |
| Wo wird die Matrix numerisch singulär? | Bei n = 96, w = 0,05: Kondition über 10¹⁵. |
| Stimmt die Mini-Instanz von Hand? | Eine 3 × 3-Matrix mit Singulärwerten 1 / 0,5 / 0,1 hat Kondition 10; eine Störung auf dem kleinsten Singulärvektor wird genau verzehnfacht. |
Grenzen
- Eine Dimension, ein Phantom: Zwei Hügel und ein Kasten, weißes Rauschen; andere Formen verschieben den Modellfehler. Die Zahlen gelten für diese erfundene Welt und zeigen nichts über echte Messungen.
- Bekannter Kern und bekanntes Rauschen: Die Breite \(w\) und die Größe \(\sigma\) des Rauschens sind der Demo bekannt. Unbekannt müssten sie mitgeschätzt werden; das ist Inhalt weiterer Demos zu diesem Thema.
- Doppelte Genauigkeit: Ab Kondition rund 10¹⁵ ist die Matrix numerisch singulär.
- Wahrheit auf dem Gitter: Der Fehler wird nur an den Gitterpunkten gemessen.
- Kondition als Anzeiger: Fehler/(Rauschen · Kondition) liegt in drei Instanzen bei 0,21 / 0,23 / 0,20; exakt ist die geschlossene Formel, nicht die Kondition.
- Nur die direkte Inversion: Sie ist hier ein bewusst schlechtes Verfahren. Regularisierung (Tikhonov, abgeschnittene SVD, iterative Verfahren, Sparsity), 2D und Tomographie, nichtlineare und blinde Probleme, die Bayes-Sicht und Praxisdaten sind bewusst nicht Teil dieser Demo.
Quellen
- Hansen, P. C. (2010): Discrete Inverse Problems: Insight and Algorithms. SIAM (Begriffe: diskrete Picard-Bedingung, Singulärwertzerlegung als Analysewerkzeug schlecht gestellter Probleme).
- Quelltext, Messreihen und Tests der Demo: github.com/sebastian-hanisch/schlecht-gestellt-demo.
Das Buch wurde für diese Seite nicht nachgeschlagen; der Hinweis stammt aus dem Expander „📐 Mathematische Formulierung“ der Demo, wo er als aus dem Gedächtnis angegeben ist. Der Begriff „inverse crime“ stammt nach der Demo aus der Literatur zur Tomographie (dort ebenfalls aus dem Gedächtnis, Quelle nicht geprüft). Das Foto im Einsteigerteil ist ein Bild zum Verstehen und kein Teil der Demo; die Zahlenbeispiele dort (Tausendstel) sind erfunden. Dass Regularisierung mit Vorwissen die Schwankung dämpft, ist Standardwissen und steht in der README nur als Inhalt der Folgestücke.