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.3 Forschungsüberblick Recommender mit EA <strong>und</strong> SI<br />

4.3 Forschungsüberblick Recommender mit EA <strong>und</strong> SI<br />

In der Literatur s<strong>in</strong>d <strong>in</strong> der Vergangenheit Recommendersysteme vorgeschlagen worden, die<br />

um biologisch motivierte Ansätze erweitert wurden. Im Folgenden wird e<strong>in</strong>e chronologische<br />

Übersicht über diese Verfahren <strong>und</strong> ihre gr<strong>und</strong>legenden Ideen gegeben.<br />

Ujj<strong>in</strong> <strong>und</strong> Bentley [74] untersuchen e<strong>in</strong> kollaboratives Recommendersystem, dass die Suche<br />

nach ähnlichen Benutzern um e<strong>in</strong>en genetischen Algorithmus erweitert. Der GA bestimmt<br />

dabei e<strong>in</strong>en Gewichtsvektor für die e<strong>in</strong>zelnen Präferenzen des aktiven Benutzer, der bei der<br />

Ähnlichkeitsbestimmung zwischen zwei Benutzern e<strong>in</strong>gesetzt wird. Ujj<strong>in</strong> <strong>und</strong> Bentley [75]<br />

verwenden später das gleiche System mit e<strong>in</strong>em Particle Swarm Optimization-Algorithmus<br />

(PSO). Dieses Verfahren dient auch als Gr<strong>und</strong>lage für den <strong>in</strong> den kommenden Kapiteln vorgestellten<br />

Recommender.<br />

Lorenzi et al. [48] beschreiben e<strong>in</strong> Recommendersystem basierend auf case-based reason<strong>in</strong>g, das<br />

mit Hilfe von Bienenschwärmen <strong>und</strong> deren Futtersuchverhalten nach ähnlichen Fällen (cases)<br />

<strong>in</strong> e<strong>in</strong>er vorab gefüllten Datenbank von bisher bekannten Fällen sucht. Es wird die Beobachtung<br />

verwendet, dass <strong>in</strong>nerhalb von Bienenschwärmen die Position von guten Futterplätzen<br />

weitergegeben wird <strong>und</strong> <strong>in</strong> der Folge diese Stellen von mehr Bienen besucht werden, um die<br />

dort vorhandene Nahrung e<strong>in</strong>zusammeln. Dieses Modell basiert auf e<strong>in</strong>em von Burke [12]<br />

vorgeschlagenen Verfahren.<br />

Rad et al. [69] stellen e<strong>in</strong> System vor, dass die von Ujj<strong>in</strong> <strong>und</strong> Bentley [74, 75] vorgeschlagenen<br />

Verfahren umsetzt, jedoch die Optimierung der Gewichtsvektoren durch e<strong>in</strong> Optimierungsverfahren<br />

namens Invasive Weed Optimization [51] ersetzt, siehe dazu auch Kapitel 3.3.<br />

Bedi et al. [6] beschreibt e<strong>in</strong> auf Ant Colony Optimization (ACO) basierendes Recommendersystem.<br />

Das Verfahren gliedert sich <strong>in</strong> zwei Phasen: Zuerst werden ähnliche Benutzer <strong>in</strong> e<strong>in</strong>e<br />

zuvor festgelegt Anzahl von Gruppen geclustert. Danach werden damit für den aktiven Benutzer<br />

geschätzte Empfehlungen generiert. Dabei wird auf das Cluster zurückgegriffen, dass<br />

diesem Nutzer am ähnlichsten ist. Zusätzlich wird auf die von den Ameisen <strong>in</strong> Phase 1 abgelegten<br />

Pheromonspuren zurückgegriffen, um alternative Cluster zu f<strong>in</strong>den, die dem besten<br />

Cluster ähnlich s<strong>in</strong>d bzw. auch häufig von den Ameisen besucht wurden. Auch die Benutzer<br />

<strong>in</strong> diesen Clustern werden für die Schätzung der Empfehlungen betrachtet. Damit soll verh<strong>in</strong>dert<br />

werden, dass gute Empfehlungen nicht präsentiert werden, nur weil die ähnlichsten<br />

anderen Benutzer dieses Item bisher nicht betrachtet haben.<br />

4.4 Parallelisierung mit Clojure<br />

Alle <strong>Algorithmen</strong> wurden <strong>in</strong> Clojure 1 implementiert, e<strong>in</strong>em modernen LISP-Dialekt. Clojure<br />

bietet e<strong>in</strong>e robuste Infrastruktur für Mehrkern-Parallelisierung, die <strong>in</strong> dieser Arbeit <strong>in</strong> den<br />

Optimierungsalgorithmen e<strong>in</strong>gesetzt wurde. Alle Fitnessevaluationen der Agenten (Partikel,<br />

1 http://clojure.org<br />

45

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!