2016-03-20 15 views
0

Angenommen, ich ein Algorithmus, dessen Laufzeit von zwei Parametern abhängt. Ich möchte den besten Parametersatz finden, der die Laufzeit minimiert. Die zwei Parameter sind kontinuierliche Doppelwerte im Bereich von 0 bis INFINITY.Parameter Estimation zu Laufzeit minimieren

Daher für zwei Parameter a, b: Ich möchte die besten Werte von a und b finden, die die Laufzeit minimieren. Ich denke, das ist ziemlich Standard Praxis, aber ich konnte keine gute Literatur zu diesem Thema finden. Ich fand wenig Literatur wie MLE, Least Squares, etc., aber sie sprechen über die Distribution.

Antwort

0

Nutzen Sie zuerst Ihren Verstand, um die mögliche funktionale Beziehung zwischen diesen Parametern und der Laufzeit qualitativ zu verstehen. Dies bedeutet eine erste Idee über die Anzahl und Positionen der möglichen Maxima, die Glätte der Funktion, asymptotisches Verhalten und andere Hinweise, die Sie finden können.

Entscheiden Sie sich dann für einen sinnvollen Wertebereich, in dem es sinnvoll ist, die Funktionswerte zu erfassen. Wenn diese Bereiche sehr breit sind, ist es vorzuziehen, eine geometrische Progression anstatt einer Arithmetik zu verwenden (z. B. Potenzen von 2).

Dann messen und beobachten Sie die Funktionswerte mit einem grafischen Viewer und bestätigen Sie Ihre Intuitionen. Es ist wahrscheinlich, dass dies ausreichen wird, um die Bruttoposition des absoluten Maximums zu erkennen. Eine genaue Position zu finden, kann nutzlos sein, wenn Sie die letzten Prozente der Verbesserung erhalten. Es ist auch sehr wahrscheinlich, dass die Position des Optimums von dem bestimmten Datensatz abhängt, wodurch eine genaue Lokalisierung noch weniger nützlich ist.

+0

Ich tat folgendes nach Ihren Ratschlägen. Zuerst erraten Sie den Wert von P1 und P2 und legen 8 bestimmte disct-Werte für P1 und P2 fest. Nehmen wir an, P1 = (2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9) P2 = (0,95 1,05 1,15 1,25 1,35 1,45 1,55 1,65). Dann habe ich 64 Experimente für alle Kombinationen von P1 und P2 durchgeführt und herausgefunden, was mir die minimale Laufzeit gibt. Nächste Iteration, ich kann die Schrittweite reduzieren. Gibt es einen Namen für diese Methode? – max

+0

@max: Was Sie bis jetzt getan haben, ist eine erschöpfende Suche. Wenn Sie die Suche fokussieren und den Schritt reduzieren, erhalten Sie eine Variante der dichotomischen Suche, die ebenfalls mit dem Hooke-Jeeves-Muster-Ansatz verbunden ist. Aber am wichtigsten ist es, Einblick in das Funktionsverhalten zu bekommen. Ihre anfänglichen Intervalle sehen sehr eng aus, ich nehme an, Sie haben Ihre Gründe. –

+0

Danke, ja, ich habe diese Werte durch mehrere Iterationen größerer Bereiche festgelegt. Ich muss diesen Ansatz in einem Papier erwähnen, deshalb brauche ich den Namen dieser Methode. – max