Der typische Ansatz besteht darin, mehrere Läufe des Evolutionsalgorithmus (EA) durchzuführen und die durchschnittliche Leistung über die Zeit zu zeichnen (durchschnittliche Leistung des Best-of-Run-Individuums, NICHT des Populationsdurchschnitts).
Eine gute Faustregel ist, mindestens 30 Läufe durchzuführen (natürlich sind 50-100 Läufe besser).
Der Durchschnitt ist besser als der beste Wert, der in einer Reihe von Läufen erzielt wird, aber auch die Varianz sollte berücksichtigt werden.
Es gibt einige schöne Beispiele auf der Website von Randy Olson :
Die durchschnittliche Fitness beider Algorithmen über mehrere Wiederholungen. Aus diesem Diagramm würden wir schließen, dass unser Algorithmus im Durchschnitt besser abschneidet als der derzeit beste Algorithmus.
Die durchschnittliche Fitness mit einem 95% -Konfidenzintervall für jeden Algorithmus. Diese Grafik zeigt uns, dass unser Algorithmus nicht wirklich besser abschneidet als der derzeit beste Algorithmus und nur aufgrund des Zufalls im Durchschnitt besser abschneidet.
Die grundlegende Aufschlüsselung zur Berechnung eines Konfidenzintervalls für einen Populationsmittelwert lautet wie folgt:
Identifizieren Sie den Stichprobenmittelwert . Während sich von , dem Mittelwert der Grundgesamtheit, unterscheidet, werden sie immer noch auf die gleiche Weise berechnet:x¯x¯μ
x¯=∑xin
Identifizieren Sie die (korrigierte) Standardabweichung der Stichprobe : ist eine Schätzung der Populationsstandardabweichung .s
s=∑ni=1(xi−x¯)2n−1−−−−−−−−−−−−√
sσ
Berechnen Sie den kritischen Wert , , der Student-t - Verteilung. Dieser Wert ist abhängig vom Konfidenzniveau und der Anzahl der Beobachtungen .t∗Cn
Der kritische Wert wird aus der T-Verteilungstabelle ermittelt (in den meisten statistischen Lehrbüchern ist er aufgeführt). In dieser Tabelle wird als wobei die Freiheitsgrade sind (ermittelt durch Subtrahieren von eins von der Anzahl der Beobachtungen) und ist das Signifikanzniveau .t∗
t∗(α,r)
r=n−1α=1−C2
Ein besserer Weg zu einem vollständig präzisen kritischen -Wert ist die statistische Funktion, die in Tabellenkalkulationen (z. B. Funktion ), wissenschaftlichen Computerumgebungen (z. B. SciPy ) und Sprachbibliotheken (z. B. C ++ und ) implementiert ist .t∗T.INV.2T
stats.t.ppf
boost::math::students_t
Stecken Sie die gefundenen Werte in die entsprechenden Gleichungen:
(x¯−t∗sn−−√,x¯+t∗sn−−√)
Der letzte Schritt ist die Interpretation der Antwort . Da die gefundene Antwort ein Intervall mit einer Ober- und Untergrenze ist, sollte angegeben werden, dass basierend auf den angegebenen Daten der wahre Mittelwert der Population zwischen der Untergrenze und der Obergrenze mit dem gewählten Konfidenzniveau liegt.
Je mehr sich die Konfidenzintervalle zweier Algorithmen überschneiden, desto wahrscheinlicher ist es, dass die Algorithmen dieselbe Leistung erbringen (oder wir haben nicht genug Stichproben abgetastet, um zwischen den beiden zu unterscheiden). Wenn sich die 95% -Konfidenzintervalle nicht überschneiden, ist die Leistung des Algorithmus mit der höchsten durchschnittlichen Leistung erheblich besser.
In EA ist die Quellverteilung im Wesentlichen nie normal und was bisher gesagt wurde, gilt formal nur, wenn es sich um eine Normalverteilung handelt!
In der Tat sagt es immer noch viele Dinge. Die folgende Tabelle fasst die Leistung der t-Intervalle in vier Situationen zusammen:
Normal curve | Not Normal curve
Small sample size (n < 30) Good | Poor
Larger sample size (n ≥ 30) Good | Fair
Für genauere Antworten sind nichtparametrische Statistiken der richtige Weg ( weitere Informationen finden Sie unter Eine Einführung in die Statistik für die experimentelle Analyse der EG von Mark Wineberg und Steffen Christensen).