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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4 Recommender mit <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong>n <strong>Algorithmen</strong><br />

Individuen, Pflanzen) e<strong>in</strong>er Generation werden parallel berechnet. Dadurch ist der Algorithmus<br />

stark skalierbar, da jeder zusätzliche CPU-Kern e<strong>in</strong>e Beschleunigung des Verfahrens<br />

bedeutet. E<strong>in</strong>e Fitnessevaluation des Algorithmus entspricht e<strong>in</strong>en kompletten Durchlauf des<br />

Recommendersystems für den aktiven Nutzer. Je nach Größe des Datensatzes <strong>und</strong> der damit<br />

verb<strong>und</strong>enen Anzahl der Benutzer benötigt e<strong>in</strong>e Evaluation relativ lange, was durch die<br />

parallele Implementierung deutlich beschleunigt werden kann [42].<br />

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

In diesem Abschnitt folgt e<strong>in</strong>e Untersuchung des von Ujj<strong>in</strong> et. al. [75] vorgestellten Verfahrens.<br />

Zusätzlich zu den dort vorgestellten Ansätzen <strong>und</strong> Qualitätsmaßen zur Evaluation werden<br />

selbst entwickelte Verbesserungen <strong>und</strong> e<strong>in</strong>e erweiterte Evaluation vorgestellt. Die folgende<br />

Beschreibung verwendet zur Darstellung des Ablaufs den MovieLens Datensatz, für Details<br />

siehe Abschnitt 5.1.<br />

4.5.1 Beschreibung des Verfahrens<br />

Das Verfahren implementiert e<strong>in</strong> hybrides Recommendersystem, das den Particle Swarm Optimization-Algorithmus<br />

(PSO) verwendet, um die Suche nach den ähnlichsten Benutzern zur<br />

Erstellung der Nachbarschaft zu verbessern.<br />

1. Schritt Es wird für jeden Benutzer e<strong>in</strong> Profil erstellt, das sich aus den von diesem Benutzer<br />

bewerteten Items (im MovieLens Datensatz s<strong>in</strong>d dies Filme) zusammensetzt. E<strong>in</strong> profile(u)<br />

für User u besteht, vorausgesetzt der Benutzer hat mehr als e<strong>in</strong> Item bewertet, aus mehreren<br />

Itemvektoren i, die wie <strong>in</strong> Abbildung 4.1 aufgebaut s<strong>in</strong>d. Das Profil enthält neben der<br />

Rat<strong>in</strong>g Alter Geschlecht Beruf Genres des Films<br />

4 27 0 15 000101000100010001<br />

Abbildung 4.1: Profil e<strong>in</strong>es bewerteten Films <strong>in</strong> e<strong>in</strong>em Benutzerprofil.<br />

Bewertung für diesen Film auch die demografischen Werte des aktiven Benutzers sowie die<br />

18 möglichen Genres des Films als Bitmaske. E<strong>in</strong>e 1 gibt an, dass der Film <strong>in</strong> die jeweilige<br />

Kategorie passt. Alle Profilwerte werden vorab normiert, so dass alle Werte im Intervall [0, 1]<br />

liegen.<br />

profile(u,i) bezeichnet den von Benutzer u bewerteten Film i. In der Regel hat jeder Benutzer<br />

mehr als e<strong>in</strong>en bewerteten Film <strong>und</strong> daher auch mehr als e<strong>in</strong>en Itemvektor <strong>in</strong> se<strong>in</strong>em Profil.<br />

Im MovieLens Datensatz ist garantiert, dass jeder Benutzer m<strong>in</strong>destens 20 Filme bewertet hat.<br />

46

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!