06.11.2013 Aufrufe

Schwarmintelligenz und evolutionäre Algorithmen in ...

Schwarmintelligenz und evolutionäre Algorithmen in ...

Schwarmintelligenz und evolutionäre Algorithmen in ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.5 Particle Swarm Optimization Recommender (PSOREC)<br />

4.5.2 Vorgeschlagene Erweiterungen<br />

Mersenne Twister Die Methode (rand) der Clojure Bibliothek (bzw. die zugr<strong>und</strong>e liegende<br />

Java-Implementierung) verwendet e<strong>in</strong>e l<strong>in</strong>eare Kongruenzmethode zur Generierung von<br />

Pseudozufallszahlen:<br />

y i = (ay i−1 + b) mod m<br />

mit Modul m ∈ {2, 3, 4, · · · }, Faktor a ∈ {1, · · · , m − 1}, Inkrement b ∈ {1, · · · , m − 1} <strong>und</strong><br />

Startwert y 1 ∈ {1, · · · , m − 1}.<br />

In der PSOREC Implementierung wird diese Methode durch den Pseudozufallszahlengenerator<br />

Mersenne Twister [50] ersetzt, der e<strong>in</strong>e sehr lange Periode von 2 19937 − 1 besitzt <strong>und</strong> dessen<br />

Ausgabewerte hochgradig gleichverteilt s<strong>in</strong>d, so dass die Korrelation zwischen 2 aufe<strong>in</strong>ander<br />

folgenden Zufallszahlen sehr niedrig ist.<br />

In dieser Arbeit wird die Mersenne Twister Implementierung des ColtProjektes 2 verwendet.<br />

Auch die folgenden Verfahren (GAREC <strong>und</strong> IWOREC) verwenden diese Bibliotheken.<br />

Velocity Clamp<strong>in</strong>g Eberhart et al. [21] setzen den Wert für V max ursprünglich auf 10-20%<br />

des Wertebereichs der jeweiligen Dimension. Spätere Untersuchungen zu Trägheitsgewichten<br />

(siehe nächster Abschnitt) ergaben, dass bei Verwendung dieser Erweiterung der <strong>in</strong>itiale Wert<br />

für V max fest auf das Maximum des Wertebereichs e<strong>in</strong>gestellt werden kann.<br />

Uji<strong>in</strong> et al. [74] machen ke<strong>in</strong>e Angabe für den von ihnen verwendeten Wert für V max . Zur<br />

Untersuchung der zugr<strong>und</strong>e liegenden 22-dimensionalen Fitnesslandschaft des Datensatzes<br />

wird <strong>in</strong> dieser Arbeit der Wert für V max schrittweise l<strong>in</strong>ear um e<strong>in</strong>en Faktor β verr<strong>in</strong>gert, wenn<br />

<strong>in</strong> den letzten τ Iterationen ke<strong>in</strong>e Verbesserung der globalen Fitness beobachtet wurde:<br />

V max (t + 1) =<br />

{<br />

βV max (t), f (ŷ(t)) ≥ f (ŷ(t − t ′ )) ∀t ′ = 1, · · · , τ<br />

V max (t), sonst<br />

Der Gr<strong>und</strong> für diese Verr<strong>in</strong>gerung ist folgender: Wenn alle Partikel e<strong>in</strong>e maximale Geschw<strong>in</strong>digkeit<br />

von V max hätten, würden die Partikel den Merkmalsraum nicht mehr normal durchsuchen,<br />

sondern würden sich nur an den Rändern e<strong>in</strong>es Hyperkubus, def<strong>in</strong>iert durch [x i −<br />

V max , x i + V max ], bewegen <strong>und</strong> nicht mehr von diesen Stellen abweichen. Durch die schrittweise<br />

Verr<strong>in</strong>gerung von V max wird dieses Problem behoben.<br />

Die Verwendung e<strong>in</strong>es Trägheitsgewichts (auch <strong>in</strong>ertia weight genannt), ist e<strong>in</strong>e weitere Möglichkeit<br />

zur Vermeidung des eben geschilderten Problems. Beide Methoden können nebene<strong>in</strong>ander<br />

e<strong>in</strong>gesetzt werden, um das Verhältnis zwischen Exploration <strong>und</strong> Exploitation zu<br />

steuern.<br />

Trägheitsgewicht Ujj<strong>in</strong> et. al. [75] verwenden für das Trägheitsgewicht w e<strong>in</strong>en zufälligen<br />

Wert zwischen 0.5 <strong>und</strong> 1.0. Weitere Angaben zur genaueren Wahl werden nicht gemacht.<br />

2 http://acs.lbl.gov/~hoschek/colt/<br />

49

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!