The Parameter Devil - Wie man sie einstellt, wenn keine Validierung gegen die Grundwahrheit möglich ist [geschlossen]


9

Frage:

Ich möchte eine Diskussion darüber anregen, wie Leute algorithmische Parameter einstellen, wenn keine Validierung gegen die Grundwahrheit möglich ist (möglicherweise, weil die Grundwahrheit einfach nicht erhalten werden kann oder sehr schwer / mühsam zu erhalten ist).

Ich habe zahlreiche Artikel gelesen und die zugrunde liegenden Algorithmen implementiert, wobei - eine Reihe von Parametern soll "empirisch" eingestellt worden sein - und oft festgestellt habe, dass dies diejenigen sind, die die Allgemeinheit des Algorithmus beeinflussen (obwohl die Die der Methode zugrunde liegende Theorie ist elegant, verlockend und solide.

Ich würde es begrüßen, wenn Sie Ihre Gedanken teilen könnten. Und auf diese Frage gibt es keine richtige oder falsche Antwort. Ich möchte nur wissen, wie alle anderen damit umgehen.

Hintergrund / Quelle der Frage:

Ich bin ein Informatiker, der in den Bereichen Bildanalyse, Computer Vision und maschinelles Lernen arbeitet, und diese Frage hat mich eine Weile beschäftigt, da ich mich immer wieder diesem Dilemma gestellt habe, wenn ich einen neuen Algorithmus entwerfe und ich Ich verbrachte viel Zeit damit, die Parameter zu optimieren.

Ich denke auch, dass meine Frage hier allgemeiner für alle Bereiche ist, in denen Rechenalgorithmen stark involviert sind, und ich möchte die Gedanken von Menschen aus allen betroffenen Bereichen einladen.

Ich wollte Ihnen ein konkretes Beispiel geben, damit es Ihnen beim Nachdenken hilft:

--- Nehmen Sie den Fall der Merkmalserkennung (sagen wir kreisförmige Blobs oder hervorstechende Punkte). Sie führen einige Filter (benötigt Parameter) in verschiedenen Maßstäben (Skalenparameter) aus und schwellen wahrscheinlich die Antwort (Schwellwertparameter). In solchen Szenarien ist es normalerweise nicht möglich, eine Grundwahrheit zur Validierung zu erhalten und dadurch Ihre Parameter automatisch abzustimmen.

--- Nehmen Sie ein beliebiges Rechengerüst, das viele Signalverarbeitungskomponenten umfasst. Es gibt immer Parameter, die eingestellt werden müssen, und normalerweise gibt es keine Grundwahrheit. Wenn Sie sie subjektiv auf eine kleine zufällige Teilmenge Ihres Datensatzes abstimmen, werden Sie eines Tages auf den Fall stoßen, auf den sie nicht verallgemeinert werden.

Dieser Parameter Devil ist problematischer, wenn Sie Parameter für einige Zwischenschritte in Ihrem Algorithmus festlegen.

Und ich habe oft festgestellt, dass es nicht möglich ist, das Problem, gute Werte für diese Parameter zu finden, als Optimierungsproblem zu betrachten, dessen objektive Funktion Sie ableiten und dabei Standardoptimierungsalgorithmen verwenden können, um gute Werte zu finden.

In vielen Szenarien ist es auch keine Option, diese Parameter einem Endbenutzer zur Verfügung zu stellen, da wir häufig Anwendungen / Software für nicht rechnergestützte Endbenutzer (z. B. Biologen, Ärzte) entwickeln, die normalerweise keine Ahnung haben, wenn Sie sie zum Einstellen auffordern es sei denn, es ist sehr intuitiv (wie ca. Objektgröße).

Bitte teilen Sie Ihre Gedanken.


1
Die Eröffnung I want to kick up a discussion ...ist ein guter Hinweis darauf, dass das, was Sie fragen, nicht gut zum * .SE-Format passt.
Peter K.

Antworten:


2

Unter der Annahme , dass es ist eine Grundwahrheit, ( zumindest theoretisch ) eine der Möglichkeiten , das „Langweiligkeit“ Problem zu überwinden , ist eine „Bootstrap“ Ground Truth Schöpfung. Wenn Sie bereits einen anständigen Algorithmus haben, der die Aufgabe in etwa 80% bis 90% der Fälle erledigt, können Sie Ihren Algorithmus auf einer großen Anzahl von Instanzen ausführen und einen Benutzer bitten, nur die Fehler zu markieren. Dieser Ansatz hat seine eigenen Mängel, z. B. die Tendenz zu Ihrem Algorithmus.

Es gibt jedoch einige Fälle, in denen es überhaupt keine Grundwahrheit gibt, sondern nur unterschiedliche Systemkompromisse. Beispielsweise ist ein Bildverarbeitungssystem erforderlich, um ein scharfes, farbgenaues, nicht verrauschtes Bild auszugeben. Natürlich können Sie nicht alle gleichzeitig haben. In diesem Fall sollten Sie objektive Metriken verwenden, die anhand des Ergebnisses Ihres Systems berechnet werden können. (Siehe Imatest , DXO-Analysator für die Bildverarbeitung).

Sobald Sie diese haben, gibt es Methoden zur Mehrzieloptimierung, mit denen eine Zuordnung von den Kompromissen (die für den Benutzer klar sind) zu den intrinsischen Parametern erstellt werden kann.

In jedem Fall sollten Sie dem Benutzer niemals einen Parameter geben, den er nicht verstehen kann. Wenn alles fehlschlägt, codieren Sie den Parameter einfach fest.


2

Dies ist ein sehr, sehr schweres Problem, aber es gibt viel Arbeit in der Gegend. Schauen Sie sich zum Beispiel dieses Papier von Ramani & Fessler zum SURE-Ansatz an. Die Einführung bietet einen guten Überblick über die Methoden zur Parameterauswahl. Lesen Sie unbedingt deren Referenzen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.