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.

Fakultät für Ingenieurwissenschaften <strong>und</strong> Informatik<br />

Institut für Neuro<strong>in</strong>formatik<br />

Diplomarbeit<br />

<strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong><br />

<strong>Algorithmen</strong> <strong>in</strong> Recommendersystemen<br />

Matthias Schneider<br />

vorgelegt am<br />

3. Mai 2010<br />

Gutachter<br />

Dr. Hans A. Kestler<br />

Prof. Dr. Günther Palm


Begleitende Webseite: www.matthias-schneider.org/diplomarbeit<br />

Der Quellcode, die Arbeit als PDF <strong>und</strong> weitere Materialien s<strong>in</strong>d unter der oben genannten<br />

Adresse bereitgestellt.<br />

Fassung vom 3. Mai 2010<br />

Umschlagbild von Eric (etgeek), Flickr - Abgerufen am 30. März 2010.<br />

http://www.flickr.com/photos/tofsrud/4171421134/<br />

Some rights reserved.<br />

This work is licensed <strong>und</strong>er the Creative Commons Attribution-Noncommercial-No Derivative Works<br />

3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/<br />

licenses/by-nc-nd/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300,<br />

San Francisco, California, 94105, USA.


Inhaltsverzeichnis<br />

1 E<strong>in</strong>leitung 1<br />

1.1 Motivation <strong>und</strong> Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

2 Recommendersysteme 3<br />

2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2.2 Basis-Recommendersystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2.3 Übersicht existierende Recommendersysteme . . . . . . . . . . . . . . . . . . . . 5<br />

2.3.1 E<strong>in</strong>teilung der verschiedenen Verfahren . . . . . . . . . . . . . . . . . . . . 6<br />

2.4 Content-based Filter<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.5 Collaborative Filter<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.5.1 Memory-based Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.5.2 Item-based Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.5.3 Model-based Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

2.5.4 Latent Factor Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.6 Hybrid Filter<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.7 Überblick über die bisherige Forschung . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> 23<br />

3.1 Genetischer Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.2 Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3.3 Invasive Weed Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

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

4.1 Idee <strong>und</strong> Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

4.2 Ziel der vorgestellten Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

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

4.4 Parallelisierung mit Clojure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

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

4.5.1 Beschreibung des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

4.5.2 Vorgeschlagene Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.6 Genetic Algorithm Recommender (GAREC) . . . . . . . . . . . . . . . . . . . . . 53<br />

4.6.1 Beschreibung des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

4.6.2 Vorgeschlagene Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

4.6.3 Variante: Selbstanpassung der Mutationsschritte <strong>und</strong> Evolution Strategies 56<br />

4.7 Invasive Weed Optimization Recommender (IWOREC) . . . . . . . . . . . . . . . 58<br />

4.7.1 Beschreibung des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

iii


Inhaltsverzeichnis<br />

4.7.2 Vorgeschlagene Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

5 Evaluationsmethoden <strong>und</strong> Experimente 61<br />

5.1 Datensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

5.2 Messverfahren <strong>und</strong> Qualitätsmaße . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

5.2.1 Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

5.2.2 Vorhersagende Genauigkeitsmaße . . . . . . . . . . . . . . . . . . . . . . . 63<br />

5.2.3 Klassifizierende Genauigkeitsmaße . . . . . . . . . . . . . . . . . . . . . . 64<br />

5.2.4 Statistische Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

5.3 Experimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

5.3.1 Resultat Abstandsmaße ohne Optimierung . . . . . . . . . . . . . . . . . . 68<br />

5.3.2 Resultat exemplarischer Fitnessverlauf . . . . . . . . . . . . . . . . . . . . 69<br />

5.3.3 Resultate PSOREC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

5.3.4 Resultate GAREC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

5.3.5 Resultate IWOREC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

6 Diskussion der Ergebnisse 89<br />

6.1 Diskussion Recommendersysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

6.1.1 Content-based filter<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

6.1.2 Collaborative-based filter<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

6.2 Diskussion IWO <strong>und</strong> Vergleich zu GA / ES . . . . . . . . . . . . . . . . . . . . . . 90<br />

6.2.1 Verwandtschaft zu Evolution Strategies . . . . . . . . . . . . . . . . . . . . 91<br />

6.3 Parallelisierung mit Clojure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.4 Diskussion der Evaluationsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

6.5 Diskussion der experimentellen Resultate . . . . . . . . . . . . . . . . . . . . . . . 95<br />

6.5.1 Resultat Abstandsmaße ohne Optimierung . . . . . . . . . . . . . . . . . . 95<br />

6.5.2 Resultat exemplarischer Fitnessverlauf . . . . . . . . . . . . . . . . . . . . 95<br />

6.5.3 Diskussion der PSOREC Resultate . . . . . . . . . . . . . . . . . . . . . . . 95<br />

6.5.4 Diskussion der GAREC Resultate . . . . . . . . . . . . . . . . . . . . . . . 98<br />

6.5.5 Diskussion der IWOREC Resultate . . . . . . . . . . . . . . . . . . . . . . . 99<br />

6.5.6 Zusammenfassung der Experimente . . . . . . . . . . . . . . . . . . . . . . 100<br />

6.6 Weitere Erkenntnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

6.7 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

7 Zusammenfassung der Hauptergebnisse 103<br />

Literaturverzeichnis 105<br />

iv


1 E<strong>in</strong>leitung<br />

In der heutigen Zeit wird man mit e<strong>in</strong>er großen Menge von Angeboten zu Produkten <strong>und</strong><br />

Dienstleistungen konfrontiert. Man f<strong>in</strong>det sich häufig <strong>in</strong> der Situation, Entscheidungen ohne<br />

ausreichend viele Informationen treffen zu müssen. Im alltäglichen Leben treffen wir diese<br />

Entscheidungen auf Basis von Empfehlungen von Fre<strong>und</strong>en, durch M<strong>und</strong> zu M<strong>und</strong> Propaganda,<br />

durch Testberichte <strong>in</strong> Fachmagaz<strong>in</strong>en oder durch allgeme<strong>in</strong>e Ratgeber zu den jeweiligen<br />

Themen.<br />

Recommendersysteme unterstützen e<strong>in</strong>en Konsumenten bei dieser Entscheidung, <strong>in</strong>dem die<br />

Kaufgewohnheiten des e<strong>in</strong>zelnen Konsumenten sowie die der anderen Konsumenten analysiert<br />

werden um persönliche Empfehlungen für den E<strong>in</strong>zelnen zu erstellen. Dabei wird auf<br />

e<strong>in</strong>e Vielzahl an Methoden zurückgegriffen, die gute <strong>und</strong> verlässliche Empfehlungen generieren<br />

sollen. Die Zufriedenheit des Konsumenten ist von großer Bedeutung, da die Toleranz<br />

für schlechte oder unpassende Empfehlungen sehr niedrig ist.<br />

Das rasante Wachstum des Internets <strong>und</strong> die steigende Bereitschaft der Nutzer, Inhalte <strong>und</strong><br />

Informationen zu erstellen, führt zu e<strong>in</strong>er großen Menge an Daten, die e<strong>in</strong>en detaillierten E<strong>in</strong>blick<br />

<strong>in</strong> die persönlichen Vorlieben, Erfahrungen <strong>und</strong> Verhaltensweisen der Nutzer gewähren.<br />

Die Analyse dieser Daten, das Ableiten <strong>und</strong> Interpretieren der Verhaltensmuster der Benutzer<br />

<strong>und</strong> die Empfehlung oder Vorhersage von zukünftigen Aktionen sollen <strong>in</strong> dieser Arbeit<br />

untersucht werden.<br />

1.1 Motivation <strong>und</strong> Zielsetzung<br />

Recommendersysteme s<strong>in</strong>d <strong>in</strong> der aktuellen Forschung e<strong>in</strong> sehr aktives Gebiet, das <strong>in</strong> der<br />

zweiten Hälfte der 1990er stark angewachsen ist <strong>und</strong> <strong>in</strong> den letzten Jahren wiederholt Aufmerksamkeit<br />

bekommen hat. Auch <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> bleiben<br />

e<strong>in</strong> aktives Forschungsfeld [23]. In dieser Arbeit soll untersucht werden, <strong>in</strong>wieweit beide<br />

Bereiche verb<strong>und</strong>en werden können um bessere, performantere <strong>und</strong> persönlichere Empfehlungen<br />

zu erzeugen.<br />

Recommendersysteme können mit Methoden der <strong>Schwarm<strong>in</strong>telligenz</strong> (SI) <strong>und</strong> <strong>evolutionäre</strong>n<br />

<strong>Algorithmen</strong> (EA) erweitert werden, um klassische determ<strong>in</strong>istische Optimierungsverfahren<br />

(etwa lokale Suche, simulated anneal<strong>in</strong>g oder Gradientenaufstieg) zu ersetzen. Auch die E<strong>in</strong>beziehung<br />

von erweiterten Daten über die Benutzer, statt sich nur auf die bisherigen Bewertungen<br />

zu beziehen, s<strong>in</strong>d mit SI <strong>und</strong> EA möglich. Diese Verfahren ersetzen dabei nicht die<br />

klassischen Verfahren der Recommendersysteme, sondern stellen Erweiterungen <strong>und</strong> Ergänzungen<br />

dar.<br />

1


1 E<strong>in</strong>leitung<br />

Das Ziel dieser Arbeit soll die Untersuchung bestehender Recommendersysteme <strong>und</strong> Recommendersysteme<br />

mit SI <strong>und</strong> EA se<strong>in</strong>, dabei den möglichen E<strong>in</strong>satz von SI- <strong>und</strong> EA-<br />

Erweiterungen zu beschreiben <strong>und</strong> diese Verfahren entsprechend zu implementieren <strong>und</strong><br />

zu evaluieren. Eigene Verbesserungen <strong>und</strong> Erweiterungen der bestehenden Verfahren sollen<br />

zusätzlich entwickelt werden.<br />

1.2 Aufbau der Arbeit<br />

In Kapitel 2 werden die bisherigen Forschungen zu Recommendersystemen besprochen <strong>und</strong><br />

e<strong>in</strong>e grobe E<strong>in</strong>teilung der Verfahren vorgenommen. Es wird e<strong>in</strong> generisches Recommendersystem<br />

als Basis aller folgenden Verfahren vorgestellt, anschließend werden die konkreten<br />

Verfahren im Detail formell erläutert.<br />

Kapitel 3 gibt e<strong>in</strong>e Übersicht über die Methoden der <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong>n<br />

<strong>Algorithmen</strong> sowie e<strong>in</strong>e kurzer Vergleich mit verwandten Methoden <strong>und</strong> deren Eigenschaften.<br />

Kapitel 4 beschreibt drei um <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> erweiterte<br />

Recommendersysteme, bespricht deren Eigenschaften <strong>und</strong> die Auswirkungen auf die Empfehlungsqualität.<br />

Zusätzlich werden eigene Verbesserungen <strong>und</strong> Erweiterungen vorgestellt.<br />

In Kapitel 5 werden die vorgestellten Verfahren experimentell untersucht <strong>und</strong> e<strong>in</strong>e Evaluation<br />

der Ergebnisse vorgestellt. Es wird parallel auf die Methoden der Evaluation <strong>und</strong> deren Eignung<br />

<strong>in</strong> Recommendersystemen e<strong>in</strong>gegangen, sowie e<strong>in</strong>e kurze Besprechung der praktischen<br />

Implementierung gegeben.<br />

Kapitel 6 diskutiert die Ergebnisse dieser Arbeit <strong>und</strong> gibt e<strong>in</strong>en Ausblick auf weitere Forschungsmöglichkeiten.<br />

In Kapitel 7 werden <strong>in</strong> kompakter Form die Hauptergebnisse dieser Arbeit zusammengefasst.<br />

Anmerkung Im Folgenden werden die englischen Begriffe User <strong>und</strong> Item synonym für Benutzer<br />

<strong>und</strong> Objekt/Gegenstand verwendet. Auch der englische Begriff rat<strong>in</strong>g wird an manchen<br />

stellen für Bewertungen verwendet. Viele englische Begriffe für Fachgebiete oder Forschungsgegenstände<br />

werden nicht übersetzt, sondern hervorgehoben <strong>in</strong> ihrem englischen Orig<strong>in</strong>al<br />

verwendet. Wo es möglich <strong>und</strong> s<strong>in</strong>nvoll ist, werden jedoch deutsche Übersetzungen<br />

verwendet.<br />

2


2 Recommendersysteme<br />

2.1 Motivation<br />

In den letzten zwei Jahrzehnten ist e<strong>in</strong> Wachstum an Informationsquellen <strong>und</strong> daraus resultierenden<br />

Informationen <strong>in</strong> Kommunikationssystemen, wie etwa dem Internet, beobachtet<br />

worden. Weit über 90% der weltweit verfügbaren Informationen s<strong>in</strong>d digital vorhanden <strong>und</strong><br />

übersteigen, nach Schätzungen, im Jahr 2010 die Grenze von 1000 Exabytes (1 Billion Gigabyte)<br />

[17, 25]. R<strong>und</strong> 1,5 Milliarden Menschen haben ständigen Zugriff auf das Internet <strong>und</strong><br />

geben täglich ca. 10 Milliarden Suchanfragen ab. Dieser stetige Wachstum macht es für den<br />

E<strong>in</strong>zelnen immer schwieriger für ihn relevante Informationen, Produkte <strong>und</strong> Wissen zu f<strong>in</strong>den.<br />

Recommendersyteme s<strong>in</strong>d <strong>in</strong> den letzten Jahren zu e<strong>in</strong>er Lösung dieses Informationsüberflusses<br />

herangewachsen. Sie bieten den Benutzern von Informationssystemen Empfehlungen<br />

an, welche Informationen oder Produkte für sie relevant se<strong>in</strong> könnten <strong>und</strong> orientieren sich<br />

dabei am bisherigen Verhalten dieser Personen. Diese personalisierten Empfehlungen verbessern<br />

die K<strong>und</strong>enzufriedenheit erheblich [68, 41, 79]. Vor allem e-commerce Dienstleister<br />

wie Amazon.com oder Netflix verwenden Empfehlungssysteme als verkaufsförderndes Mittel<br />

<strong>und</strong> nennen diese e<strong>in</strong>en wichtigen Bestandteil ihres Verkaufskonzepts [68].<br />

2.2 Basis-Recommendersystem<br />

Es folgt e<strong>in</strong>e formelle Beschreibung e<strong>in</strong>es generischen Recommendersystems.<br />

E<strong>in</strong> Recommendersystem erstellt geschätzte Bewertungen für e<strong>in</strong>zelne Items (z.B. Filme, Webseiten<br />

oder Bücher), die e<strong>in</strong> Benutzer bisher noch nicht bewertet hat. Dieser Benutzer wird im<br />

Folgenden auch der aktive Benutzer genannt. Die typische E<strong>in</strong>gabe ist e<strong>in</strong>e User-Item-Matrix,<br />

die die jeweiligen Rat<strong>in</strong>gs der Benutzer auf die Items enthält oder e<strong>in</strong>e Item-Features-Matrix,<br />

die die Items über die Features beschreiben. Siehe dazu Abbildung 2.2 <strong>und</strong> Abbildung 2.3.<br />

Sei U die Menge aller Benutzer <strong>und</strong> sei I die Menge aller Items <strong>und</strong> sei r e<strong>in</strong>e Bewertungsfunktion,<br />

die die Bedeutung (oder Bewertung) e<strong>in</strong>es Items für den Nutzer bestimmt:<br />

r : U × I → R, wobei R e<strong>in</strong>e vollständig geordnete Menge ist, beispielsweise natürliche oder<br />

reelle Zahlen <strong>in</strong> e<strong>in</strong>em bestimmten Bereich (z.B. e<strong>in</strong>e Bewertung zwischen 1 <strong>und</strong> 5). Dann<br />

soll für jeden Nutzer u ∈ U e<strong>in</strong> Item i ′ ∈ I gef<strong>und</strong>en werden, dass die Bewertungsfunktion<br />

maximiert:<br />

∀u ∈ U, i u ′ = arg max r(u, i).<br />

i∈I<br />

3


2 Recommendersysteme<br />

Abbildung 2.1: E<strong>in</strong> vere<strong>in</strong>fachtes kollaboratives <strong>und</strong> benutzerorientiertes Recommendersystem<br />

am Beispiel von Filmen. Der aktive Nutzer bevorzugt die drei Filme auf<br />

der l<strong>in</strong>ken Seite (dargestellt durch die L<strong>in</strong>ie). Das System bestimmt die ähnlichsten<br />

Nutzer für den aktiven Benutzer (Mitte). Das s<strong>in</strong>d die Nutzer, die<br />

diese drei Filme auch bevorzugen. Das Recommendersystem bestimmt nun,<br />

welche weiteren Filme diese Nutzer bevorzugen, die der aktive Nutzer noch<br />

nicht kennt. In diesem Beispiel präferieren alle drei den Film 1 (Blade Runner),<br />

weshalb dieser an erster Stelle empfohlen wird. Film 4 wird von ke<strong>in</strong>em<br />

Benutzer der Nachbarschaft empfohlen <strong>und</strong> ergibt daher ke<strong>in</strong>e Empfehlung.<br />

Film 2 stellt die zweitbeste Empfehlung dar, Film 3 die drittbeste.<br />

Die Hauptaufgabe e<strong>in</strong>es Recommendersystems besteht dar<strong>in</strong>, über die Bewertungsfunktion r<br />

die Bewertungen für alle noch nicht bewerteten Items e<strong>in</strong>es oder mehrerer User zu schätzen.<br />

Daraus können Empfehlungen erstellt werden, <strong>in</strong> dem man die am besten bewerteten Items<br />

4


2.3 Übersicht existierende Recommendersysteme<br />

Items<br />

1 i j n<br />

1<br />

Users<br />

u<br />

m<br />

Input: User-Item-Matrix<br />

= nicht bewertete Items<br />

Recommender<br />

Geschätzte<br />

Bewertungen<br />

i <strong>und</strong> j für User u<br />

rat<strong>in</strong>g = 4<br />

rat<strong>in</strong>g = 3<br />

Abbildung 2.2: Das gr<strong>und</strong>legende Modell e<strong>in</strong>es (kollaborativen) Recommendersystems. Die<br />

User-Item-Matrix enthält bewertete (leeres Feld) <strong>und</strong> nicht bewertete (⊘)<br />

Items der jeweiligen Benutzer. Der Recommender generiert aus diesen Daten<br />

die geschätzten Bewertungen der bisher nicht bewerteten Items. Hier am<br />

Beispiel des Benutzers u dargestellt.<br />

unter allen geschätzten Items auswählt. Es können Empfehlungen entweder nur für e<strong>in</strong>en Benutzer<br />

erstellt werden, wenn dieser se<strong>in</strong>e Empfehlungen anfordert (z.b. per Webseite). Oder<br />

e<strong>in</strong> System erstellt direkt, aber “offl<strong>in</strong>e” für alle Benutzer alle Empfehlungen für die jeweils<br />

bisher unbekannten Items. Letzteres wird bei Recommendern e<strong>in</strong>gesetzt, die e<strong>in</strong>e sehr große<br />

Anzahl an Items <strong>und</strong> Benutzer haben <strong>und</strong> e<strong>in</strong>e Echtzeitberechnung (“onl<strong>in</strong>e”) für e<strong>in</strong>e große<br />

Anzahl an gleichzeitig aktiver Benutzer (z.B. e<strong>in</strong> großer Onl<strong>in</strong>eshop oder Nachrichtenwebseite)<br />

nicht machbar ist.<br />

Um die vorhergesagte Bewertung e<strong>in</strong>es Items zu bestimmen, werden Heuristiken oder Modelle<br />

aufgestellt <strong>und</strong> untersucht, die die Bewertungsfunktion def<strong>in</strong>ieren. Siehe dazu die folgenden<br />

Abschnitte. Diese Bewertungsfunktion wird über Qualitätsmaße wie dem mean square<br />

error (MSE), root mean square error (RMSE) oder mean absolut error (MAE) optimiert, um e<strong>in</strong>e<br />

möglichst genaue Vorhersage über das Rat<strong>in</strong>g des Users für e<strong>in</strong> ihm bisher unbekanntes Item<br />

zu treffen. Siehe dazu Abschnitt 5.2.2.<br />

Die <strong>in</strong> diesem Abschnitt verwendeten Abkürzungen <strong>und</strong> Symbole werden im weiteren Verlauf<br />

der Arbeit wiederverwendet. Wenn der Kontext der Bewertungsfunktion e<strong>in</strong>deutig ist,<br />

wird statt r(u, i) auch r ui geschrieben.<br />

2.3 Übersicht existierende Recommendersysteme<br />

Im nächsten Abschnitt wird e<strong>in</strong>e Übersicht über die verschiedenen Varianten von Recommendersystemen<br />

gegeben. E<strong>in</strong>e ausführliche Übersicht zu Forschungen, die <strong>Schwarm<strong>in</strong>telligenz</strong><br />

5


2 Recommendersysteme<br />

u<br />

Items<br />

1 n<br />

1<br />

Recommender<br />

Geschätzte<br />

Bewertung<br />

von User u<br />

für Item j<br />

User<br />

f<br />

Input: User <strong>und</strong> Item-Features-Matrix<br />

j<br />

Abbildung 2.3: Das gr<strong>und</strong>legende Modell e<strong>in</strong>es (<strong>in</strong>halts-basierten) Recommendersystems. Die<br />

Item-Feature-Matrix enthält Items dargestellt durch ihre Features f . Der Recommender<br />

erstellt mit dieser Matrix <strong>und</strong> dem aktiven Benutzer u die geschätzte<br />

Bewertung des bisher nicht vom aktiven Benutzer bewerteten Items<br />

j.<br />

Star Wars Life of Brian Big Fish Pulp Fiction<br />

Alice 4 2 5 ⊘<br />

Toby 2 ⊘ 4 4<br />

Charles 1 2 5 4<br />

Dolly ⊘ 3 4 3<br />

Tabelle 2.1: E<strong>in</strong> Ausschnitt e<strong>in</strong>er User-Item-Matrix mit Bewertungen für Filme auf e<strong>in</strong>er Skala<br />

von 1 bis 5. Die von den Users nicht bewerteten Filme s<strong>in</strong>d mit ⊘ gekennzeichnet.<br />

<strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> <strong>in</strong> Recommendersystemen behandeln, wird <strong>in</strong> Kapitel 4 gegeben.<br />

2.3.1 E<strong>in</strong>teilung der verschiedenen Verfahren<br />

Recommendersysteme können <strong>in</strong> drei Kategorien e<strong>in</strong>geteilt werden [1]:<br />

• Inhalts-basiertes filtern (content-based filter<strong>in</strong>g)<br />

Bei diesem Verfahren werden Profile für die Benutzer <strong>und</strong>/oder die Items angelegt um<br />

ihre Eigenschaften zu charakterisieren. Beispielsweise kann e<strong>in</strong> Film die Eigenschaften<br />

Genre, E<strong>in</strong>spielergebnis oder mitwirkende Schauspieler enthalten. Für die Erstellung<br />

solcher Profile s<strong>in</strong>d oft externe Informationen notwendig, die von Experten manuell<br />

erstellt werden müssen [58, 57]. Wenn e<strong>in</strong> Profil e<strong>in</strong>es Items mit e<strong>in</strong>em Profil e<strong>in</strong>es Nutzers,<br />

der dieses für sich selbst mit se<strong>in</strong>en eigenen Vorlieben gefüllt hat, übere<strong>in</strong>stimmt,<br />

wird e<strong>in</strong>e Empfehlung für dieses Item abgegeben.<br />

• Kollaboratives filtern (collaborative filter<strong>in</strong>g)<br />

Für dieses Verfahren werden <strong>in</strong> der Vergangenheit abgegebene Bewertungen von Benut-<br />

6


2.3 Übersicht existierende Recommendersysteme<br />

zern für Items als Input des Verfahrens verwendet, siehe Tabelle 2.1. Für e<strong>in</strong>en Benutzer<br />

werden andere Benutzer gesucht, welche die gleichen Filme wie dieser Benutzer bewertet<br />

haben <strong>und</strong> <strong>in</strong> dieser Bewertung auch übere<strong>in</strong>stimmen. Anhand dieser Nachbarschaft<br />

werden für den aktiven Nutzer Bewertungen für Items erstellt, die dieser noch nicht bewertet<br />

hat [29, 71, 59].<br />

• Hybrides filtern (hybrid filter<strong>in</strong>g)<br />

Inhalts-basierte Filtermethoden <strong>und</strong> kollaborative Filtermethoden werden zu e<strong>in</strong>em Modell<br />

komb<strong>in</strong>iert. Folgende Varianten s<strong>in</strong>d vorgeschlagen worden [1]:<br />

1. Getrennte Implementierung von kollaborativen <strong>und</strong> <strong>in</strong>halts-basierten Methoden<br />

mit anschließender Komb<strong>in</strong>ation der Ergebnisse.<br />

2. Verwendung von klassischen <strong>in</strong>halts-basierten Methoden (Itemprofile) <strong>in</strong> kollaborative<br />

Verfahren.<br />

3. Verwendung von klassischen kollaborativen Methoden (Benutzernachbarschaft) <strong>in</strong><br />

<strong>in</strong>halts-basierten Verfahren.<br />

4. E<strong>in</strong> vere<strong>in</strong>igendes Modell, dass beide Ansätze auf e<strong>in</strong>e neue <strong>und</strong> nicht <strong>in</strong> die obigen<br />

Kategorien passende Art umsetzt.<br />

Der Begriff filter<strong>in</strong>g wird <strong>in</strong> der Literatur oft synonym zu recommender systems verwendet. Die<br />

ersten Forschungen zu Recommendersystemen [26] haben diesen Begriff geprägt.<br />

Abbildung 2.4 <strong>und</strong> die Tabellen 2.2 <strong>und</strong><br />

Varianten der Recommendersysteme.<br />

2.3 geben e<strong>in</strong>e Übersicht über die verschiedenen<br />

Content-based Methode Input Output<br />

Heuristische Bestimmung ähnlicher, Items als Vektoren, Bewertung für<br />

Methoden bewerteter Items zu Features beschreiben unbekanntes<br />

e<strong>in</strong>em unbekannten Item, das Item. Item<br />

Schätzung der Bewertung Benutzer per<br />

anhand dieser Gruppe. Vektor beschrieben.<br />

(z.B. Mittelwert der<br />

bewerteten Items)<br />

Klassifizierung Bayes’scher Items als Vektoren, E<strong>in</strong>teilung <strong>in</strong><br />

Klassifikator, Features beschreiben relevante oder<br />

Bestimmung der Whkt., das Item. irrelevante Klasse<br />

ob e<strong>in</strong> Item relevant Benutzer per<br />

ist oder nicht.<br />

Vektor beschrieben.<br />

Masch<strong>in</strong>elles Cluster<strong>in</strong>g, Items als Vektoren, E<strong>in</strong>teilung <strong>in</strong><br />

Lernen Entscheidungsbäume, Features beschreiben Gruppen.<br />

oder künstl. neuronale das Item. Jede Gruppe<br />

Netze Benutzer per gibt e<strong>in</strong>e<br />

Vektor beschrieben. Bewertungsmöglichkeit<br />

an<br />

Tabelle 2.2: Übersicht der content-based Verfahren.<br />

7


2 Recommendersysteme<br />

Latent<br />

Factor<br />

basierend<br />

Komb<strong>in</strong>ierte<br />

Bewertungen<br />

Item<br />

basierend<br />

Content<br />

<strong>in</strong> Kollaborativ<br />

Collaborative<br />

Filter<strong>in</strong>g<br />

Recommender<br />

Systeme<br />

Hybrid<br />

Filter<strong>in</strong>g<br />

Modell<br />

basierend<br />

Kollaborativ<br />

<strong>in</strong> Content<br />

Memory<br />

basierend<br />

Vere<strong>in</strong>tes<br />

Modell<br />

Content<br />

Filter<strong>in</strong>g<br />

Masch<strong>in</strong>elles<br />

Lernen<br />

Heuristiken<br />

Bayes’scher<br />

Klassifikator<br />

Abbildung 2.4: E<strong>in</strong>teilung der verschiedenen Varianten von Recommendersystemen.<br />

2.4 Content-based Filter<strong>in</strong>g<br />

In <strong>in</strong>halts-basierten Recommendersystemen wird die Bewertung e<strong>in</strong>es Items über die Bewertungen<br />

von anderen ähnlichen Items geschätzt, die der User <strong>in</strong> der Vergangenheit bewertet<br />

hat, siehe Abbildung 2.5. Formell ausgedrückt, die Bewertung r ui des Users u für Item i ergibt<br />

sich aus den Bewertungen r uik , die der User den Items i k ∈ I, die ähnlich zu Item i s<strong>in</strong>d,<br />

gegeben hat.<br />

Das <strong>in</strong>halts-basierte System versucht Geme<strong>in</strong>samkeiten zwischen den Items zu f<strong>in</strong>den, die<br />

der User bisher mit hohen Rat<strong>in</strong>gs bewertet hat. E<strong>in</strong>e Möglichkeit um e<strong>in</strong>e Beschreibung der<br />

Items zu erstellen, ist die Verarbeitung der wichtigsten Wörter (keywords) dieser Items bzw.<br />

Dokumente, um damit die jeweiligen Items zu charakterisieren. Formal kann dies wie folgt<br />

ausgedrückt werden:<br />

Sei profile(i) das Profil e<strong>in</strong>es Items, d.h. e<strong>in</strong>e Menge von Attributen die es beschreiben. Diese<br />

Attribute werden bei textuellen Systemen durch die Analyse der wichtigsten Wörter des<br />

Dokuments erzeugt [4, 57, 58]. Die Bedeutung e<strong>in</strong>es keyword wird über das term frequency /<br />

<strong>in</strong>verse document frequency (TF/IDF) Verfahren bestimmt:<br />

8


2.4 Content-based Filter<strong>in</strong>g<br />

Collaborative Methode Input Output<br />

Memory-based Bestimmung ähnlicher User-Item Bewertung für<br />

Benutzer zum aktiven Matrix unbekannte<br />

Benutzer per k-nearest<br />

Items des<br />

neighbor. Schätzung<br />

aktiven Benutzers<br />

der Bewertung anhand<br />

dieser Gruppe.<br />

(z.B. Mittelwert der<br />

Rat<strong>in</strong>gs)<br />

Item-based Bestimmung ähnlicher, User-Item Bewertung für<br />

geme<strong>in</strong>sam bewerteter Matrix unbekannte<br />

Items <strong>und</strong> Berechnung<br />

Items des<br />

der jeweiligen Ab-<br />

aktiven Benutzers<br />

stände <strong>und</strong> Bestimmung<br />

der Nachbarschaft<br />

(k-nearest neighbor)<br />

Model-based Cluster<strong>in</strong>g <strong>in</strong> Gruppen, User-Item Items werden <strong>in</strong><br />

oder per Bayes’scher Matrix Bewertungsgruppen<br />

Klassifikatoren die<br />

e<strong>in</strong>geteilt (Cluster)<br />

Bestimmung der wahr-,<br />

sche<strong>in</strong>lichen Bewertung<br />

oder die Bewertung<br />

mit der höchsten<br />

Whkt. wird<br />

ausgegeben (Bayes)<br />

Tabelle 2.3: Übersicht der collaborative-based Verfahren.<br />

Sei d j e<strong>in</strong> gegebenes Dokument oder Item <strong>und</strong> k i e<strong>in</strong> keyword <strong>in</strong> d j . Die normalisierte Häufigkeit<br />

des Auftretens dieses keywords ist def<strong>in</strong>iert als<br />

TF i,j =<br />

n i,j<br />

∑ k n k,j<br />

mit n i,j als die gesamte Anzahl des Auftretens von k i <strong>und</strong> der Zähler als Summe aller Auftrittshäufigkeiten<br />

aller keywords. Jedoch s<strong>in</strong>d keywords, die <strong>in</strong> vielen Dokumenten auftreten,<br />

nicht nützlich für die Unterscheidung von Dokumenten. Daher wird die <strong>in</strong>verse document<br />

frequency (IDF) <strong>in</strong> Komb<strong>in</strong>ation mit TF genutzt. IDF ist def<strong>in</strong>iert als<br />

IDF i = log N n i<br />

mit N für die gesamte Anzahl aller Dokumente <strong>und</strong> n i als Anzahl der Dokumente, <strong>in</strong> der k i<br />

auftritt. Das TDF/IDF-Gewicht für keyword k i ist def<strong>in</strong>iert als<br />

w i,j = TF i,j × IDF i<br />

<strong>und</strong> das Profil e<strong>in</strong>es Items i für e<strong>in</strong> Dokument d j als pro f ile(i) = (w 1,j , ..., w k,j ).<br />

Um nun bisher ungesehene Items e<strong>in</strong>em User zu empfehlen, werden diese mit den bisher bewerteten<br />

Items verglichen. Dabei wird aus den Profilen der bekannten <strong>und</strong> bewerteten Items<br />

9


2 Recommendersysteme<br />

Ähnliche Items<br />

? 3 4 3<br />

unbewertes Item<br />

bewertete Items<br />

Recommender:<br />

?<br />

3,3<br />

Abbildung 2.5: Vere<strong>in</strong>fachte Darstellung e<strong>in</strong>es Content-based Recommender. Zu e<strong>in</strong>em bisher<br />

nicht bewerteten Item werden die ähnlichsten, bewerteten Items bestimmt <strong>und</strong><br />

zum Beispiel der Mittelwert dieser Items als Bewertung übernommen.<br />

e<strong>in</strong> User-Profil pro f ile(u) = (w u,1 , ...w u,k ) erstellt, wobei jedes Gewicht w u,i die Wichtigkeit<br />

des keywords k i bestimmt. Dieses Profil gibt die Vorlieben des Benutzers wieder <strong>und</strong> kann auf<br />

verschiedenen Wegen erzeugt werden. Der Rocchio Algorithmus [62] beispielsweise bestimmt<br />

das Userprofil als Durchschnitt der Itemprofile, woh<strong>in</strong>gegen auch Bayes’sche Klassifikatoren<br />

e<strong>in</strong>gesetzt werden können [57]. E<strong>in</strong>e weitere Möglichkeit ist die Anwendung des W<strong>in</strong>now-<br />

Algorithmus [56].<br />

Die Bewertungsfunktion r ui ergibt sich nun als<br />

r ui = score(pro f ile(u), pro f ile(i)),<br />

mit score als beliebige Funktion, die aus den beiden Argumenten e<strong>in</strong>e Bewertung erstellt. Dabei<br />

werden die Profile der Benutzer als Gewichtsvektoren dargestellt, wobei die Gewichte für<br />

die e<strong>in</strong>zelnen keywords stehen. Es können daher heuristische Bewertungen verwendet werden,<br />

um die Ähnlichkeit zwischen den Vektoren zu bestimmen, so zum Beispiel die Kos<strong>in</strong>us-<br />

Ähnlichkeit:<br />

r(u, i) = cos( ⃗w u , ⃗w i ) =<br />

⃗w u · ⃗w i<br />

‖ ⃗w u ‖ 2 × ‖⃗w i ‖ 2<br />

=<br />

mit K als die gesamte Anzahl der keywords im System.<br />

∑ K x=1 w x,uw x,i<br />

√<br />

∑ K x=1 w2 x,u<br />

√<br />

∑ K x=1 w2 x,i<br />

Weitere Techniken, denen nicht der bisher vorgestellte heuristische Ansatz zugr<strong>und</strong>e liegt,<br />

s<strong>in</strong>d Bayes’sche Klassifikatoren <strong>und</strong> zahlreiche Methoden aus dem Bereich des masch<strong>in</strong>ellen<br />

Lernen wie etwa Cluster<strong>in</strong>g, Entscheidungsbäume oder künstliche neuronale Netze. Pazzani<br />

et al. [57] verwenden beispielsweise e<strong>in</strong> naiver Bayes’scher Klassifikator, um Webseiten zu<br />

10


2.5 Collaborative Filter<strong>in</strong>g<br />

bewerten. Diese werden <strong>in</strong> Klassen C i e<strong>in</strong>geteilt, z.B. relevant <strong>und</strong> nicht relevant, <strong>in</strong>dem man<br />

die Wahrsche<strong>in</strong>lichkeiten berechnet zu welcher Klasse C i die Webseite p j gehört, gegeben die<br />

Keywords k 1j , · · · , k nj dieser Webseite:<br />

Pr(C i |k 1j & · · · &k nj ) (2.1)<br />

Weiter wird angenommen, dass die Schlüsselwörter e<strong>in</strong>er Webseite unabhängig s<strong>in</strong>d <strong>und</strong><br />

daher die Wahrsche<strong>in</strong>lichkeiten proportional zu<br />

P(C i ) ∏ P(k x,j |C i )<br />

x<br />

s<strong>in</strong>d. Es können P(C i ) <strong>und</strong> P(k x,j |C i ) aus den zugr<strong>und</strong>e liegenden Daten des Tra<strong>in</strong><strong>in</strong>gsdatensatzes<br />

bestimmt werden. Es wird die Wahrsche<strong>in</strong>lichkeit <strong>in</strong> Formel 2.1 für jede Webseite p j<br />

<strong>und</strong> jede Klasse C j berechnet <strong>und</strong> p j <strong>in</strong> eben die Klasse C j e<strong>in</strong>geteilt, die die höchste Wahrsche<strong>in</strong>lichkeit<br />

hat.<br />

2.5 Collaborative Filter<strong>in</strong>g<br />

Die gr<strong>und</strong>legende Idee h<strong>in</strong>ter collaborative filter<strong>in</strong>g ist die Empfehlung oder Vorhersage e<strong>in</strong>er<br />

Bewertung e<strong>in</strong>es Items auf Basis der Me<strong>in</strong>ungen anderer Benutzer mit ähnlichem Geschmack,<br />

die dieses Item schon bewertet haben. Die Me<strong>in</strong>ung über e<strong>in</strong> Item kann dabei entweder explizit<br />

oder implizit von den Benutzern e<strong>in</strong>geholt werden. Der Benutzer kann etwa e<strong>in</strong> explizites<br />

Rat<strong>in</strong>g auf e<strong>in</strong>er Skala von 1 bis 5 abgeben oder das Rat<strong>in</strong>g wird aufgr<strong>und</strong> der impliziten<br />

Beobachtungen se<strong>in</strong>es Kaufverhaltens, der Analyse von Logdateien oder des Klickverhalten<br />

auf e<strong>in</strong>er Webseite erstellt.<br />

Formal ausgedrückt ergibt sich die geschätzte Bewertung r ui e<strong>in</strong>es Users u für e<strong>in</strong> Item i aus<br />

den Bewertungen r uk i, die dem Item i von anderen Usern u k ∈ U gegeben wurde. E<strong>in</strong>e konkrete<br />

Implementierung e<strong>in</strong>es Recommendersystems für Filme würde beispielsweise zuerst<br />

die User suchen, die den gleichen Filmgeschmack wie der aktive User haben (d.h. manche<br />

Filme ähnlich bewertet), um mit diesen Informationen den Film zu f<strong>in</strong>den, der von dieser<br />

Nachbarschaft kollektiv am besten bewertet wurde.<br />

Im Folgenden werden die vier Hauptansätze der kollaborativen Filtermethoden vorgestellt.<br />

Die ersten drei Methoden, memory-based, item-based <strong>und</strong> model-based, werden <strong>in</strong> der Literatur<br />

häufig geme<strong>in</strong>schaftlich als neighbourhood-Methoden bezeichnet. Der vierte Ansatz, latent<br />

factor models kann man als model-based Ansatz ansehen, er wird hier aber als eigenständige<br />

Methode behandelt.<br />

2.5.1 Memory-based Ansatz<br />

Dieser Ansatz arbeitet auf dem gesamten Datensatz, also der gesamten User-Item Matrix (siehe<br />

Tabelle 2.1). Es werden verschiedene Methoden angewandt, um die ähnlichsten Benutzer<br />

11


2 Recommendersysteme<br />

Item<br />

5<br />

3<br />

1<br />

5<br />

3<br />

Item<br />

5<br />

4<br />

3<br />

2<br />

?<br />

geschätzte<br />

Bewertung:<br />

1,33<br />

4<br />

Item<br />

4<br />

3<br />

4<br />

1<br />

Abbildung 2.6: Vere<strong>in</strong>fachter kollaborativer Recommender. Der aktive User l<strong>in</strong>ks <strong>und</strong> se<strong>in</strong>e<br />

Nachbarn haben e<strong>in</strong>e ähnliche Me<strong>in</strong>ung (hohe Bewertung) über die geme<strong>in</strong>sam<br />

gesehenen Items (l<strong>in</strong>ks). Die Nachbarn bewerten, hier vere<strong>in</strong>facht als Mittelwert,<br />

das für den aktiven Benutzer unbekannte Item “?” mit dem Wert 1,33.<br />

Dieser Wert wird als Schätzung für die Bewertung des aktiven Benutzers angenommen.<br />

für e<strong>in</strong>en gegebenen aktiven Benutzer zu f<strong>in</strong>den. Mit dieser Menge <strong>und</strong> e<strong>in</strong>er Aggregationsfunktion<br />

werden die bisher abgegebenen Bewertungen so komb<strong>in</strong>iert, dass e<strong>in</strong>e Empfehlung<br />

für das unbekannte Item geschätzt werden kann.<br />

Es wird dafür e<strong>in</strong>e Aggregation der Rat<strong>in</strong>gs der Nachbarn aufgestellt. Die Bewertungen der<br />

Nachbarn für das zu bewertende Item des aktiven Benutzers fließen <strong>in</strong> die folgenden Methoden<br />

mit e<strong>in</strong> <strong>und</strong> berechnen die Bewertung des unbekannten Items, mit sim als beliebige<br />

Abstandsfunktion zwischen zwei Benutzern, die im Folgenden besprochen werden:<br />

r ui = 1<br />

|Û| ∑ rûi (2.2)<br />

û∈Û<br />

r ui = k ∑ sim(u, û) × rûi (2.3)<br />

û∈Û<br />

r ui = ¯r u + k ∑ sim(u, û) × (rûi − ¯rû) (2.4)<br />

û∈Û<br />

mit k als Normalisierungsfaktor, <strong>in</strong> der Regel def<strong>in</strong>iert als<br />

k =<br />

∑û∈Û<br />

1<br />

|sim(u, û)|<br />

12


2.5 Collaborative Filter<strong>in</strong>g<br />

<strong>und</strong> ¯r c als durchschnittliches Rat<strong>in</strong>g des Users u, def<strong>in</strong>iert als<br />

¯r u = 1<br />

|I u | ∑<br />

i∈I u<br />

r ui , mit I u = {i ∈ I|r ui ̸= ⊘}.<br />

Der e<strong>in</strong>fachste Fall ist der Mittelwert aller Rat<strong>in</strong>gs, Formel 2.2. Jedoch ist die gebräuchlichste<br />

Art die Schätzung der Rat<strong>in</strong>gs e<strong>in</strong>e gewichtete Summe der Mittelwerte, Formel 2.3. Die<br />

dabei verwendete Ähnlichkeit sim zweier User u <strong>und</strong> û, wird als Gewicht der Rat<strong>in</strong>gs verwendet.<br />

Je ähnlicher sich zwei User s<strong>in</strong>d, desto mehr fließt das Rat<strong>in</strong>g dieses Nachbarn î<br />

<strong>in</strong> das geschätzte Rat<strong>in</strong>g e<strong>in</strong>. Dabei können die verschiedenen Recommender für sim eigene<br />

Ähnlichkeitsmaße def<strong>in</strong>ieren, so lange sie e<strong>in</strong>e Normalisierung der Werte über den Faktor k<br />

durchführen. Jedoch berücksichtigt die gewichtete Summe nicht, dass verschiedene User die<br />

Rat<strong>in</strong>gskala durchaus anders verwenden bzw. <strong>in</strong>terpretieren. Zwei verschiedene User könnten<br />

e<strong>in</strong> Item unterschiedlich bewerten, obwohl sie subjektiv genau die gleiche Me<strong>in</strong>ung von<br />

ihm haben. Daher bietet sich e<strong>in</strong>e Modifikation der gewichteten Summe an, die diese Abweichungen<br />

korrigieren kann. Formel 2.4 tut dies <strong>und</strong> verwendet statt dem absoluten Betrag der<br />

Bewertung die Abweichung vom Mittelwert dieses Users.<br />

Für die Berechnung der Ähnlichkeit zweier User <strong>in</strong> kollaborativen Systemen wurden verschiedene<br />

Methoden entwickelt, die meist auf den Bewertungen der Items basieren, die beide<br />

User <strong>in</strong> der Vergangenheit bewertet haben. Zwei mögliche Maße s<strong>in</strong>d der Pearson Korrelationskoeffizient<br />

<strong>und</strong> der Kos<strong>in</strong>us des W<strong>in</strong>kel zwischen zwei Vektoren (Benutzer). Seien u <strong>und</strong><br />

v zwei verschiedene User <strong>und</strong> I uv = {i ∈ I|r ui ̸= ⊘ ∧ r vi ̸= ⊘} die Menge der Items, für die u<br />

<strong>und</strong> v beide Bewertungen abgegeben haben. Die Pearson Korrelation ist def<strong>in</strong>iert als<br />

sim(u, v) =<br />

∑ i∈Iuv (r ui − ¯r u )(r vi − ¯r v )<br />

√∑ i∈Iuv (r ui − ¯r u ) 2 ∑ i∈Iuv (r vi − ¯r v ) 2 (2.5)<br />

Das kos<strong>in</strong>us-basierte Ähnlichkeitsmaß, das die beiden User u <strong>und</strong> v als m-dimensionalen<br />

Vektor mit m = |I uv | beschreibt, wird bestimmt durch<br />

sim(u, v) = cos(⃗u,⃗v) =<br />

⃗u ·⃗v<br />

||⃗u|| 2 × ||⃗v|| 2<br />

=<br />

∑ i∈Iuv r ui r vi<br />

√<br />

∑ i∈Iuv r 2 ui<br />

√<br />

∑ i∈Iuv r 2 vi<br />

mit ⃗u · ⃗v als Skalarprodukt zwischen Vektor ⃗u <strong>und</strong> ⃗v. E<strong>in</strong> weiterer Korrelationskoeffizient ist<br />

der Rangkorrelationskoeffizient von Spearman. Für e<strong>in</strong>e Diskussion, siehe Kapitel 6.<br />

,<br />

2.5.2 Item-based Ansatz<br />

E<strong>in</strong> Nachteil von memory-basierenden Ansätzen ist der große Aufwand für die Berechnung<br />

aller Abstände zwischen den Usern. Dies hat vor allem dann Gewicht, wenn sich die Eigenschaften<br />

der User häufig ändern, d.h. wenn die User beispielsweise oft viele Filme bewerten<br />

<strong>und</strong> sich somit ihre persönliche Nachbarschaft verändert. Item-basierende Verfahren [66] umgehen<br />

dieses Problem, <strong>in</strong>dem sie die Ähnlichkeit zwischen Items <strong>und</strong> nicht zwischen Usern<br />

13


2 Recommendersysteme<br />

berechnen, da sich die Ähnlichkeiten zwischen Items (z.B. Filme, Bücher etc.) nicht bzw.<br />

nur sehr selten ändern. Daher muss diese Berechnung nur e<strong>in</strong>mal durchgeführt werden <strong>und</strong><br />

bleibt dann statisch im System bestehen. Mit geeigneten Datenstrukturen (z.B. Hashtabelle)<br />

kann e<strong>in</strong>e Abfrage der Ähnlichkeit performant durchgeführt werden.<br />

Die Ähnlichkeitsberechnung der Items geschieht nicht wie bei den <strong>in</strong>halts-basierten Methoden<br />

über die Profile der Items, sondern über die von anderen Usern abgegebenen Bewertungen<br />

über dieses Item. Es werden weiterh<strong>in</strong>, wie bei allen kollaborativen Verfahren, die<br />

anderen User des Systems <strong>in</strong> die Vorhersage der Bewertungen mit e<strong>in</strong>bezogen.<br />

Der Algorithmus berechnet zu e<strong>in</strong>em gegebenen Item i die k ähnlichsten Items I k = {i 1 , · · · i k }<br />

<strong>und</strong> deren Abstände zu i, S i = {s i1 , · · · s ik }. Das Rat<strong>in</strong>g für Item i wird dann als gewichtetes<br />

Mittel über all diese ähnlichen Bewertungen bestimmt.<br />

Für die Berechnung der Ähnlichkeit zweier Items i <strong>und</strong> j stellt Sarwar et al. [66] drei Varianten<br />

vor: Kos<strong>in</strong>usähnlichkeit, Pearson Korrelationskoeffizient <strong>und</strong> e<strong>in</strong>e modifizierte Kos<strong>in</strong>usähnlichkeit.<br />

Es wird für jedes Itempaar die Menge U ij an Usern bestimmt, die beide Items <strong>in</strong> der<br />

Vergangenheit bewertet haben, siehe Abbildung 2.7. Implementieren kann man dies, <strong>in</strong>dem<br />

man die Schnittmenge der Mengen U i <strong>und</strong> U j berechnet.<br />

1<br />

2<br />

Item<br />

1 2 i j n-1 n<br />

r r<br />

-<br />

r<br />

User<br />

u<br />

r<br />

r<br />

Co-rated<br />

Items<br />

m-1<br />

m<br />

r<br />

r<br />

r<br />

-<br />

Abbildung 2.7: Exemplarische Berechnung der Ähnlichkeit zweier Items. Es werden dabei<br />

nur die geme<strong>in</strong>sam bewerteten Items betrachtet. Die Paare werden dabei aus<br />

verschiedenen Benutzern gewählt.<br />

Bei der Kos<strong>in</strong>us-basierten Ähnlichkeit werden die Items als m-dimensionale Vektoren (die<br />

Spalten <strong>in</strong> Grafik 2.7) aufgefasst. Als Ähnlichkeit wird, analog zum memory-based Verfahren,<br />

der Kos<strong>in</strong>usw<strong>in</strong>kel zwischen diesen beiden Vektoren angewandt. Es wird der komplette Vektor<br />

<strong>in</strong>klusive aller nicht bewerteten Items verwendet. Die fehlenden Bewertungen werden<br />

dabei durch den Wert 0 ersetzt.<br />

Für die Pearson-Korrelationskoeffizient ist es wichtig, dass mit der die Menge U ij <strong>und</strong> nicht<br />

mit der Menge I uv der Items gerechnet wird, die Formel 2.5 muss angepasst werden.<br />

14


2.5 Collaborative Filter<strong>in</strong>g<br />

Bei dieser Varianten der Kos<strong>in</strong>usähnlichkeit wird das Problem berücksichtigt, dass zwei User<br />

die Bewertungsskala anders <strong>in</strong>terpretieren können. Es könnte beispielsweise se<strong>in</strong>, das e<strong>in</strong><br />

User e<strong>in</strong>en Film, den er “durchschnittlich” fand, auf e<strong>in</strong>er Skala von 1 bis 5 die Wertung 3<br />

gibt, während e<strong>in</strong> anderer Benutzer genau die gleiche Me<strong>in</strong>ung hat, aber die Wertung 2.5<br />

vergibt. Diese Abweichung kann man dadurch auffangen, <strong>in</strong>dem von jedem Rat<strong>in</strong>g e<strong>in</strong>es<br />

Users u ∈ U ij der Mittelwert alles Rat<strong>in</strong>gs dieses Users, ¯r u , abgezogen wird.<br />

Wenn man mit diesen Methoden die Ähnlichkeiten e<strong>in</strong>es bisher unbewerteten Items i zu allen<br />

anderen Items bestimmt hat, kann man daraus die k-ähnlichsten Items auswählen. Damit,<br />

<strong>und</strong> den bisherigen Bewertungen des aktiven Users für diese ähnlichen Items, wird nun e<strong>in</strong>e<br />

Schätzung für die Bewertung des Items i abgegeben.<br />

Es wird die Bewertung e<strong>in</strong>es Users u für e<strong>in</strong> Item i über e<strong>in</strong>e gewichtete Summe aller Bewertungen<br />

dieses Users auf die zu i ähnlichen Items S i = {s i1 , · · · s ik } bestimmt:<br />

r ui = ∑ s ij ∈S i<br />

(s ij × r uj )<br />

∑ s∈Si |s ij |<br />

Es wird ausgewertet, wie der User die ähnlichen Items von i bisher bewertet hat <strong>und</strong> gewichtet<br />

diese Wertungen mit der vorab bestimmten Ähnlichkeit. Die Skalierung der Bewertung<br />

erfolgt dabei über die Summe aller Abstände.<br />

2.5.3 Model-based Ansatz<br />

Der model-based Ansatz beschreibt viele gr<strong>und</strong>legend unterschiedliche Ansätze. Es wird hier<br />

e<strong>in</strong> Verfahren mit zwei konkreten Umsetzungen exemplarisch vorgestellt. Für weitere Verfahren<br />

siehe die Übersicht <strong>in</strong> Abschnitt 2.7.<br />

Die Bestimmung der Bewertung e<strong>in</strong>es Users u für e<strong>in</strong> Item i kann bei modell-basierten Verfahren<br />

auch als Wahrsche<strong>in</strong>lichkeit aufgefasst werden, mit der dieser User dieses Item bewerten<br />

würde. Diese Schätzung berechnet man aufgr<strong>und</strong> dessen, was man bisher über diesen User<br />

<strong>in</strong> Erfahrung gebracht hat. Formell kann man dies wie folgt beschreiben, wenn man e<strong>in</strong>e<br />

diskrete Bewertungsskala von 0 bis m annimmt:<br />

p ui = E(r ui ) =<br />

m<br />

∑ Pr(r ui = i|r uk , k ∈ I i ) × i (2.6)<br />

i=0<br />

mit I i als Menge aller Items, die User i bisher bewertet hat. Es wird also die Wahrsche<strong>in</strong>lichkeit<br />

bestimmt, mit der der User u e<strong>in</strong> Item i mit e<strong>in</strong>em bestimmten Wert bewertet, unter Berücksichtigung<br />

se<strong>in</strong>er bisherigen Bewertungen. Um nun diese Wahrsche<strong>in</strong>lichkeit zu bestimmen,<br />

können zwei alternative Modelle e<strong>in</strong>gesetzt werden: E<strong>in</strong> Modell basierend auf Cluster<strong>in</strong>g (<strong>und</strong><br />

e<strong>in</strong>em naiven Bayes’schen Klassifikators) <strong>und</strong> e<strong>in</strong> Modell basierend auf Bayes’schen Netzen.<br />

Ersteres clustert ähnliche User <strong>in</strong> verschiedene Gruppen. Für jeden User, dessen Gruppe bekannt<br />

ist, wird angenommen, dass se<strong>in</strong>e Bewertungen für die Items unabhängig vone<strong>in</strong>ander<br />

15


2 Recommendersysteme<br />

s<strong>in</strong>d. Dieses Modell ist e<strong>in</strong> naiver Bayes’schen Klassifikator:<br />

Pr(C = u, r 1 · · · r n ) = Pr(C = u)<br />

n<br />

∏<br />

i=1<br />

Pr(r i |C = u)<br />

Der l<strong>in</strong>ke Teil der Formel beschreibt die Wahrsche<strong>in</strong>lichkeit, dass e<strong>in</strong> User u e<strong>in</strong>er Klasse C angehört<br />

<strong>und</strong> e<strong>in</strong> dazugehöriger kompletter Satz von Bewertungen. Die <strong>in</strong> Formel 2.6 benötigte<br />

Wahrsche<strong>in</strong>lichkeit lässt sich nun aus dieser Formel bestimmen. Die Parameter für den naiven<br />

Bayes-Klassifikator, Pr(U = u) <strong>und</strong> Pr(r i |C = u), werden mit e<strong>in</strong>em Tra<strong>in</strong><strong>in</strong>gsdatensatz<br />

geschätzt.<br />

Der zweite Modell, basiert auf Bayes’schen Netzen. Dabei ist jedes Item e<strong>in</strong> Knoten <strong>in</strong> e<strong>in</strong>em<br />

Bayes’schen Netz <strong>und</strong> der Zustand jedes Knoten entspricht den möglichen Werten der Bewertungsskala<br />

für jedes Item. Es wird auf e<strong>in</strong>em Tra<strong>in</strong><strong>in</strong>gsdatensatz e<strong>in</strong> Algorithmus für das<br />

Lernen von Bayes’schen Netzen angewandt [14]. Im daraus resultierenden Netz hat jedes Item<br />

die Knoten als Eltern, die die besten Vorhersagen über die Bewertung dieses Items treffen. E<strong>in</strong><br />

Problem bei diesem Verfahren ist, dass e<strong>in</strong> User nur <strong>in</strong> genau e<strong>in</strong> Cluster e<strong>in</strong>geteilt werden<br />

kann [1]. Es ist aber möglich, dass e<strong>in</strong> User sich für zwei vollkommen andere Themengebiete<br />

gleich <strong>in</strong>teressiert <strong>und</strong> e<strong>in</strong>e solche E<strong>in</strong>teilung daher problematisch ist.<br />

2.5.4 Latent Factor Models<br />

Latent Factor Models schließen aus dem Bewertungsmuster der Benutzer per Lernverfahren auf<br />

mehrere Faktoren (ab ca. 20 bis über 100), die die Items <strong>und</strong> die User charakterisieren. Jedes<br />

Item <strong>und</strong> jeder User wird über e<strong>in</strong>en Vektor charakterisiert, der diese Faktoren enthält. Jeder<br />

Faktor e<strong>in</strong>es Items beschreibt dessen Eigenschaften, für den Fall von Filmen beispielsweise<br />

Faktoren wie Menge an Action, Tiefe der Charaktere, Comedy vs. Drama, Eignung für K<strong>in</strong>der<br />

oder auch Faktoren, die direkt gar nicht vorherzusagen s<strong>in</strong>d. Für den Benutzer misst jeder<br />

Faktor den Grad, wie sehr dieser an den entsprechenden Eigenschaften <strong>in</strong>teressiert ist.<br />

E<strong>in</strong>e mögliche Durchführung von Latent Factor Models ist die Matrixfaktorisierung, die jedes<br />

Item <strong>und</strong> jeden Benutzer als Vektor von Faktoren darstellt [41]. E<strong>in</strong>e hohe Ähnlichkeit der<br />

beiden Vektoren führt zu e<strong>in</strong>er Empfehlung. Viele Recommendersysteme arbeiten auf expliziten<br />

Bewertungen von anderen Items, beispielsweise wenn die Benutzer konkrete Werte<br />

für e<strong>in</strong> Item auf e<strong>in</strong>er Skala von 1 bis 5 abgeben. Dies führt zu e<strong>in</strong>er sehr spärlich gefüllten<br />

User-Item-Matrix, da die meisten Benutzer im Vergleich zur gesamten Anzahl an Items<br />

nur sehr wenige bewertet haben. Der Vorteil der Matrixfaktorisierung ist, dass auch implizite<br />

Bewertungen bzw. Präferenzen der Benutzer <strong>in</strong> das Modell mit e<strong>in</strong>fließen können [41]. Dies<br />

wären z.B. D<strong>in</strong>ge wie die Art der besuchten Seiten e<strong>in</strong>er Webseite, Muster bei der Suche, das<br />

Kaufverhalten der Benutzer, etc.<br />

Die Matrixfaktorisierung bildet Items <strong>und</strong> Benutzer <strong>in</strong> e<strong>in</strong>en geme<strong>in</strong>samen latent factor Merkmalsraum<br />

ab, so dass man die Geme<strong>in</strong>samkeiten zwischen Items <strong>und</strong> Benutzern als Skalarprodukt<br />

der jeweiligen Vektoren beschreiben kann [39]. Die geschätzte Bewertung ˆr von<br />

16


2.5 Collaborative Filter<strong>in</strong>g<br />

Benutzer u für Item i berechnet sich als<br />

ˆr ui = q T i p u (2.7)<br />

mit q i als Vektor, der das Item mit den angesprochenen Faktoren beschreibt <strong>und</strong> p u als Vektor,<br />

der die Faktoren des Benutzers be<strong>in</strong>haltet. Die Faktoren können dabei positiv wie negativ<br />

se<strong>in</strong>, je nach genauer Charakterisierung dieses Items bzw. Nutzers.<br />

Die eigentliche Schwierigkeit dieses Verfahrens ist die Abbildung des Verhaltens der Benutzer<br />

auf die Vektoren sowie das Lernen der Itemfaktoren <strong>in</strong> den Itemvektoren. Diese Beschreibungen<br />

der Items <strong>und</strong> Benutzer s<strong>in</strong>d a priori nicht bekannt <strong>und</strong> müssen aus der User-Item-<br />

Matrix gelernt werden. Dieses Problem, das mit der S<strong>in</strong>gulärwertszerlegung (SVD) verwandt<br />

ist, wird gelöst [41, 40, 39], <strong>in</strong>dem die vorliegenden Bewertungen der Benutzer genommen<br />

werden, um damit direkt e<strong>in</strong> Modell des Benutzerverhaltens zu modellieren. Die Vektoren q i<br />

<strong>und</strong> p u werden erlernt, <strong>in</strong>dem der regulierte, quadrierte Fehler <strong>in</strong> der Menge der bekannten<br />

Bewertungen m<strong>in</strong>imiert wird:<br />

m<strong>in</strong><br />

∑<br />

(u,i)∈K<br />

(r ui − q T i p u) 2 + λ(||q i || 2 + ||p u || 2 ) (2.8)<br />

mit K als Menge aller Item-Nutzer-Paare (u, i), für die e<strong>in</strong>e Bewertung r ui bekannt ist. Das<br />

System lernt die bisherigen Bewertungen <strong>und</strong> soll daraus e<strong>in</strong>e Verallgeme<strong>in</strong>erung für zukünftige<br />

Bewertungen ableiten. Es besteht jedoch die Gefahr der Überanpassung, so dass die<br />

Konstante λ den Grad der Regulierung kontrolliert <strong>und</strong> üblicherweise per Kreuzvalidierung<br />

bestimmt wird [41].<br />

E<strong>in</strong>e Möglichkeit, die Gleichung 2.8 zu m<strong>in</strong>imieren ist e<strong>in</strong> stochastischer Gradientenabstieg,<br />

der von Simon Funk 1 vorgeschlagen <strong>und</strong> mit großem Erfolg im Netflix Prize e<strong>in</strong>gesetzt wurde<br />

(die Lösung der Gew<strong>in</strong>ner setzt dieses Verfahren erfolgreich e<strong>in</strong> [38]). Für jeden Fall im<br />

Tra<strong>in</strong><strong>in</strong>gsdatensatz schätzt das Verfahren die echte Bewertung r ui <strong>und</strong> bestimmt den entsprechenden<br />

Fehler e:<br />

e ui := r ui − q T i p u.<br />

Danach modifiziert es die Parameter um die Größenordnung γ <strong>in</strong> die entgegengesetzte Richtung<br />

des Gradienten:<br />

q i ← q i + γ · (e ui · p u − λ · q i ) (2.9)<br />

p u ← p u + γ · (e ui · q i − λ · p u ) (2.10)<br />

Dieses Verfahren bietet die Möglichkeit, zusätzliche implizite Informationsquellen mit e<strong>in</strong>zubeziehen.<br />

Dafür kann die Gleichung 2.7 erweitert werden. E<strong>in</strong>e s<strong>in</strong>nvolle Erweiterung ist<br />

die Beachtung des systematischen Fehlers, der sich ergeben kann, wenn beispielsweise zwei<br />

Benutzer die Bewertungsskala verschieden <strong>in</strong>terpretieren oder wenn es Items gibt, die allgeme<strong>in</strong><br />

besser als alle anderen Items bewertet werden, auch wenn sie dies objektiv gar nicht<br />

1 http://sifter.org/~simon/journal/20061211.html<br />

17


2 Recommendersysteme<br />

s<strong>in</strong>d. Dieser Bias b lässt sich wie folgt schätzen:<br />

b ui = µ + b i + b u<br />

mit µ als globaler Mittelwert alles Bewertungen, b i als Abweichung des Items i vom Mittelwert,<br />

beispielsweise wenn e<strong>in</strong> Film immer 0.5 Sterne besser bewertet wird als der Durchschnitt<br />

aller Filme, <strong>und</strong> b u als Abweichung des Benutzers u vom Mittelwert, beispielsweise wenn e<strong>in</strong><br />

kritische Benutzer immer 0.4 Sterne weniger vergibt als der Durchschnitt. Daraus ergibt sich<br />

folgende Modifikation der Formel 2.7:<br />

ˆr ui = µ + b i + b u + q T i p u (2.11)<br />

Das Modell m<strong>in</strong>imiert nun den Fehler über die angepasste Funktion<br />

m<strong>in</strong><br />

∑<br />

(u,i)∈K<br />

(r ui − µ − b u − b i − q T i p u) 2 + λ(||q i || 2 + ||p u || 2 + b 2 u + b 2 i ).<br />

2.6 Hybrid Filter<strong>in</strong>g<br />

Stellvertretend für die große Anzahl an verschiedenen hybriden Ansätzen für Recommendersystemen<br />

wird im Folgenden das Verfahren von Claypool et al. [15] vorgestellt.<br />

Claypool et al. setzen e<strong>in</strong>en klassischen memory-based kollaborativen Filter e<strong>in</strong>, siehe Abschnitt<br />

2.5.1, sowie e<strong>in</strong>en <strong>in</strong>halts-basierten Filter basierend auf keywords, ähnlich dem Abschnitt<br />

2.4 vorgestellten Verfahren. Beide Verfahren schätzen unabhängig vone<strong>in</strong>ander die<br />

Bewertungen für e<strong>in</strong> Item, das der aktive User noch nicht gesehen hat. Anschließend werden<br />

beide Bewertungen l<strong>in</strong>ear mite<strong>in</strong>ander komb<strong>in</strong>iert. Die Schwierigkeit liegt dar<strong>in</strong>, die jeweiligen<br />

Gewichte w col <strong>und</strong> w cont zu f<strong>in</strong>den, damit sich die komb<strong>in</strong>ierte Bewertung r ui ergibt<br />

als<br />

r ui = w col · r colui + w cont · r contui<br />

mit r colui als Bewertung des kollaborativen Filter <strong>und</strong> r contui als Bewertung des <strong>in</strong>halts-basierten<br />

Filter. Die Gewichte werden erstellt, <strong>in</strong>dem zu Beg<strong>in</strong>n mit gleichen Gewichten begonnen wird.<br />

Immer dann, wenn e<strong>in</strong> Benutzer e<strong>in</strong> neues Item bewertet <strong>und</strong> <strong>in</strong> den Datensatz e<strong>in</strong>fügt, wird<br />

der absolute Fehler zwischen den beiden geschätzten Bewertung des Algorithmus <strong>und</strong> dieser<br />

echten Bewertung des Benutzer bestimmt <strong>und</strong> die Gewichte so angepasst, das der Fehler<br />

dazwischen m<strong>in</strong>imiert wird. Die Gewichte werden per Benutzer erstellt, also jeder Benutzer<br />

hat se<strong>in</strong> eigenes Paar von Gewichten [15].<br />

2.7 Überblick über die bisherige Forschung<br />

Die Wurzeln der Recommendersysteme s<strong>in</strong>d <strong>in</strong> anderen Forschungsdiszipl<strong>in</strong>en, namentlich<br />

<strong>in</strong> den Bereichen der cognitive science, approximation theory, <strong>in</strong>formation retrieval, forecast<strong>in</strong>g theo-<br />

18


2.7 Überblick über die bisherige Forschung<br />

ries, management science <strong>und</strong> consumer choice model<strong>in</strong>g <strong>in</strong> market<strong>in</strong>g, zu f<strong>in</strong>den [1]. Das Gebiet<br />

hat sich Mitte der 1990er zu e<strong>in</strong>em eigenständigen Forschungsbereich entwickelt, nicht zuletzt<br />

aufgr<strong>und</strong> der kommerziellen Bedeutung <strong>und</strong> dem von nun an expliziten Fokus auf die<br />

Schätzung von Bewertungen. Die erste Veröffentlichung zu Recommendersystems wurden<br />

zuerst von Goldberg et al. [26] aufgegriffen <strong>und</strong> gilt unter dem Namen <strong>in</strong>formation tapestry als<br />

das erste Recommendersystem [60].<br />

Die erste, im Allgeme<strong>in</strong>en akzeptierte Formulierung e<strong>in</strong>es Recommendersystems ist <strong>in</strong> Hill<br />

et al. [32, 59, 71] zu f<strong>in</strong>den. Ausgehend von diesem Model s<strong>in</strong>d alle weiteren Verfahren abgeleitet.<br />

Die Anfänge der Forschung zu Content-based filter<strong>in</strong>g f<strong>in</strong>den sich <strong>in</strong> den Gebieten <strong>in</strong>formation<br />

retrieval [65] <strong>und</strong> <strong>in</strong>formation filter<strong>in</strong>g [7]. In diesen Bereichen haben sich früh Methoden<br />

entwickelt, welche mit Textdokumenten arbeiten <strong>und</strong> bis heute von Bedeutung s<strong>in</strong>d <strong>und</strong> sich<br />

daher auch auf die meisten <strong>in</strong>halts-basierten Recommender niedergeschlagen haben. Auch<br />

<strong>in</strong> der Entwicklung von Suchmasch<strong>in</strong>en s<strong>in</strong>d solche Methoden erfolgreich e<strong>in</strong>gesetzt worden<br />

[11]. E<strong>in</strong>e wichtige Verbesserung der Ansätze der <strong>in</strong>formation retrieval <strong>und</strong> <strong>in</strong>formation filter<strong>in</strong>g-Forschung<br />

ergab sich mit der E<strong>in</strong>beziehung von explizit oder implizit erstellen Benutzerprofilen,<br />

die Informationen über die Vorlieben <strong>und</strong> Bedürfnisse der Benutzer enthielten. E<strong>in</strong><br />

Beispiel hierfür ist der Recommender Fab [4], welcher Webseiten empfiehlt, <strong>in</strong>dem es die 100<br />

wichtigsten Wörter pro Webseiten bestimmt <strong>und</strong> daraus e<strong>in</strong> Profil der Webseite erstellt.<br />

Forschung zu Content-based Filter<strong>in</strong>g Das erste Content-based Recommendersystem wurde<br />

von Pazzani et al. [57, 58] vorgeschlagen. Balabanovic et al. [4] <strong>und</strong> Lang [46] setzen den<br />

Roccio Algorithmus <strong>in</strong> e<strong>in</strong>em [62] <strong>in</strong>halts-basierten Recommendersystem e<strong>in</strong>. Littlestone et<br />

al. [47] entwickelte e<strong>in</strong>en Algorithmus für Verfahren mit großer Anzahl von Features.<br />

Neben diesen klassischen Verfahren aus der <strong>in</strong>formation retrieval haben sich auch andere Techniken<br />

entwickelt, die aus den zugr<strong>und</strong>e liegenden Daten e<strong>in</strong> Modell erstellen, um daraus<br />

Empfehlungen zu berechnen. Bayes’sche Klassifikatoren setzt Mooney et al. [54] <strong>und</strong> Pazzani<br />

et al. [57] e<strong>in</strong>. Money et al. [54] empfiehlt bisher nicht bewertete Webseiten, <strong>in</strong>dem es e<strong>in</strong>en<br />

naiven Bayes’schen Klassifikator e<strong>in</strong>setzt, der als Input Webseiten, e<strong>in</strong>geteilt <strong>in</strong> die Kategorien<br />

“relevant” <strong>und</strong> “nicht relevant”, erhält <strong>und</strong> daraus Empfehlungen generiert.<br />

E<strong>in</strong>e bekannte Implementierung des content-based Ansatzes ist das Music Genome Project,<br />

welches vom Internetradio Pandora 2 genutzt wird. Musikexperten tra<strong>in</strong>ieren das Verfahren<br />

explizit, <strong>in</strong>dem jeder Song mit h<strong>und</strong>erten von musikalischen Merkmalen charakterisiert wird.<br />

Der Benutzer bestimmt über die Weboberfläche se<strong>in</strong>en Musikgeschmack bzw. e<strong>in</strong>en Künstler,<br />

<strong>und</strong> das System liefert e<strong>in</strong>en persönlichen Radiostream zurück, der den E<strong>in</strong>gaben möglichst<br />

ähnlich ist.<br />

Forschung zu Collaborative Filter<strong>in</strong>g Tapestry [26] wird oft als das erste Recommendersystem<br />

bezeichnet, wobei hier die ähnlichen User noch manuell bestimmt werden mussten. Erst<br />

2 http://www.pandora.com/ (Aus lizenzrechtlichen Gründen bisher nicht ausserhalb der USA verwendbar.)<br />

19


2 Recommendersysteme<br />

die folgenden Systeme, GroupLens [37], Video Recommender [32] <strong>und</strong> R<strong>in</strong>go [71], automatisierten<br />

die Vorhersage der Bewertungen <strong>und</strong> gelten daher als die ersten echten kollaborativen<br />

Recommender. Aus heutiger Sicht s<strong>in</strong>d beispielsweise die Systeme von Netflix, Amazon <strong>und</strong><br />

Last.fm <strong>in</strong>teressant. Netflix, e<strong>in</strong>e Onl<strong>in</strong>e-DVD-Videothek mit USA-weitem Distributionsnetzwerk,<br />

hat mit dem von ihnen ausgeschriebenen Netflix Prize 3 für viel Aufsehen im Forschungsbereich<br />

der Recommendersysteme gesorgt. Der mit 1 Million US-Dollar dotierte Preis<br />

für den Algorithmus, der den bisherigen Netflix Recommender um 10% verbessert, g<strong>in</strong>g nach<br />

ca. 3 Jahren an e<strong>in</strong> <strong>in</strong>ternational zusammengesetztes Forscherteam namens BellKor’s Pragmatic<br />

Chaos. Die Veröffentlichung <strong>und</strong> genaue Beschreibung ihres Algorithmus, e<strong>in</strong>e Bed<strong>in</strong>gung des<br />

Wettbewerbs, ist unter [38] zu f<strong>in</strong>den.<br />

Breese et al. [29] teilte die kollaborativen Recommender <strong>in</strong> zwei Gebiete e<strong>in</strong>: Memory-based<br />

<strong>und</strong> model-based. Beispiele für re<strong>in</strong>e memory-based <strong>Algorithmen</strong> <strong>und</strong> Verfahren s<strong>in</strong>d <strong>in</strong> Breese<br />

et al. [29], Resnick et al. [59] <strong>und</strong> Shardanand et al. [71] zu f<strong>in</strong>den. Alternativ schlägt Aggarwal<br />

et al. [2] e<strong>in</strong>en Graph-basierten Recommender vor, der Vorteile beim Bestimmen der<br />

Nachbarschaften hat, da diese systembed<strong>in</strong>gt schon vorliegen. Beispiele für Model-basierte Verfahren<br />

[29, 9, 33, 49, 55, 76] s<strong>in</strong>d <strong>in</strong> der Literatur zahlreich zu f<strong>in</strong>den. Neuronale Netze setzt<br />

Billsus et al. [9] e<strong>in</strong>, <strong>in</strong>duction rule learn<strong>in</strong>g Basu et al. [5], l<strong>in</strong>eare Klassifikatoren Zhang et al.<br />

[80], Bayes’sche Netzwerke <strong>und</strong> Cluster<strong>in</strong>g Breese et al. [29] <strong>und</strong> Verfahren basierend auf der<br />

Hauptkomponentenanalyse Goldberg et al. [27].<br />

Aktuellere Forschung <strong>in</strong> diesem Bereich beschäftigt sich mehr <strong>und</strong> mehr mit komplexen<br />

probabilistischen Modellen für die Schätzung von Rat<strong>in</strong>gs. Beispielsweise betrachtet Shani<br />

et al [70] den Recommenderprozess als sequentielles Entscheidungsproblem <strong>und</strong> schlägt<br />

e<strong>in</strong>en Markov-Entscheidungsprozess für die Erstellung der Bewertungen vor. Kumar et al [43]<br />

schlägt h<strong>in</strong>gegen e<strong>in</strong> e<strong>in</strong>faches probabilistisches Modell vor, das demonstrieren soll, dass auch<br />

schon bei sehr wenigen Daten über jeden User s<strong>in</strong>nvolle Empfehlungen abgegeben werden<br />

können.<br />

Item-basierte Methoden schlägt Sarwar et al. <strong>in</strong> [66] vor. Von Desphande et al. [20] wird dieser<br />

Ansatz weiter verfolgt <strong>und</strong> bestätigt dort auch das Ergebnis von [66], dass Item-basierende<br />

Methoden unter Umständen qualitativ bessere Ergebnisse als User-basierende Methoden liefern.<br />

Forschung zu Hybrid Filter<strong>in</strong>g Komb<strong>in</strong>ierte Verfahren wendet Claypool et al. [15] an, <strong>in</strong>dem<br />

Bewertungen verschiedener Recommender l<strong>in</strong>earer komb<strong>in</strong>iert werden, während Pazzani<br />

et al. [56] e<strong>in</strong>e Votierung verwendet. Das DailyLearner System [10] wählt das Rat<strong>in</strong>g aus,<br />

dass die größte Sicherheit unter allen Rat<strong>in</strong>gs bietet.<br />

Beispiele für <strong>in</strong>halts-basierte Methoden <strong>in</strong> kollaborative Verfahren s<strong>in</strong>d das Fab System [4]<br />

<strong>und</strong> das schon genannte Verfahren von Pazzani et al. [56]. Good et al. [28] schlägt e<strong>in</strong> System<br />

vor, das mit sogenannten filterbots arbeitet, die die Inhalte des Systems fe<strong>in</strong>er untersuchen um<br />

damit die Empfehlungen zu verbessern.<br />

3 http://www.netflixprize.com/<br />

20


2.7 Überblick über die bisherige Forschung<br />

E<strong>in</strong> Beispiel für kollaborative Methoden <strong>in</strong> <strong>in</strong>halts-basierten Verfahren ist Soboroff et al. [72],<br />

die latent semantic <strong>in</strong>dex<strong>in</strong>g verwenden, e<strong>in</strong>e Technik aus der <strong>in</strong>formation retrieval um Dimensionalitäten<br />

zu reduzieren.<br />

Beispiele für Verfahren, die kollaborative <strong>und</strong> <strong>in</strong>halts-basierte Recommender vere<strong>in</strong>igen s<strong>in</strong>d<br />

Basu et al. [5], die e<strong>in</strong>en regelbasierten Klassifikator e<strong>in</strong>setzen, der die Charakteristiken der<br />

Items <strong>und</strong> User berücksichtigt (z.B. Alter, Geschlecht, Genre von Filmen etc.). E<strong>in</strong> Ansatz<br />

von Condliff et al. [18] nutzt Bayes’sche Regressionsmodelle mit Mischeffekten, um damit<br />

Markovketten <strong>und</strong> Monte-Carlo Methoden für die E<strong>in</strong>stellung von Parameter anzuwenden.<br />

Forschung zu Latent Factor Models Hofmann untersucht <strong>in</strong> [33] <strong>und</strong> [34] latent semantic<br />

models, mit denen er die Rat<strong>in</strong>gs des aktiven User als gemischtes System von Usergruppen<br />

modelliert, bei denen die User mit e<strong>in</strong>er gewissen Wahrsche<strong>in</strong>lichkeit <strong>in</strong> e<strong>in</strong>er der Gruppen<br />

teilnehmen. Koren [39] untersucht e<strong>in</strong>en Vorschlag, der kollaborative Modelle <strong>und</strong> latent factor<br />

models komb<strong>in</strong>iert <strong>und</strong> die Empfehlungsqualität durch die E<strong>in</strong>beziehung von explizitem <strong>und</strong><br />

implizitem Benutzerfeedback empirisch verbessern kann. Weiter beschreibt Koren <strong>in</strong> [40] die<br />

Entwicklung e<strong>in</strong>es Verfahrens, dass die zeitliche Verschiebung von Benutzer<strong>in</strong>teressen bei der<br />

Schätzung der Empfehlungen mit e<strong>in</strong>bezieht. Beide von Koren vorgeschlagenen Verfahren<br />

wurden mit Erfolg beim Netfliz Prize e<strong>in</strong>gesetzt.<br />

Weitere Entwicklungen im Forschungsbereich der Recommendersysteme In den letzten<br />

Jahren hat sich die Forschung zu Recommendersystemen <strong>und</strong> allen angrenzenden Gebieten<br />

sehr rasch entwickelt. Dabei s<strong>in</strong>d viele Vorschläge zu Verfahren entstanden, die sich nicht<br />

mehr genau <strong>in</strong> e<strong>in</strong>e der bisher vorgestellten Kategorien e<strong>in</strong>sortieren lassen. Im Folgenden<br />

wird versucht, e<strong>in</strong>en kurzen Überblick über diese Arbeiten zu geben.<br />

Schweighofer et al. [67] schlagen e<strong>in</strong> probabilistisches memory-based Verfahren vor, dass weniger<br />

auf die re<strong>in</strong>e Verbesserung der Vorhersagequalität zielt, sondern andere Aspekte wie<br />

Skalierung, Anpassung auf neue Daten <strong>und</strong> Verständlichkeit der Empfehlungen (“warum<br />

wurde dieses Item empfohlen”) <strong>in</strong> den Vordergr<strong>und</strong> stellt. Gassner et al. [24] schlägt e<strong>in</strong><br />

Verfahren zur Visualisierung von Empfehlungen vor. E<strong>in</strong>e geografische Visualisierung der<br />

Empfehlungen soll zeigen, wie die Empfehlungen zustande kamen <strong>und</strong> die Nachbarschaften<br />

der Items zue<strong>in</strong>ander angeordnet s<strong>in</strong>d. Miller et al. [53] setzt mit ihrem PocketLens-Verfahren<br />

auf e<strong>in</strong> portables System, das nicht auf large-scale Computern e<strong>in</strong>gesetzt werden muss, sondern<br />

auf mobilen Geräten funktionieren soll. Das Thema Privacy <strong>in</strong> Recommendersystemen<br />

untersucht Canny et al. [13] <strong>und</strong> Lam et al. [45, 44]. Mehta et al. [52] verwenden robuste<br />

statistische Methoden (M-estimators), mit denen sie absichtliche Verfälschungen oder unabsichtliche<br />

Abweichungen der Rat<strong>in</strong>gs abzufangen versuchen.<br />

Herlocker et al. [31] untersuchen die verschiedenen Möglichkeiten zur Evaluation von Recommendersystemen<br />

<strong>und</strong> gehen auf die dabei wichtigsten zu treffenden Entscheidungen e<strong>in</strong>.<br />

Darunter die Art der Analyse <strong>und</strong> Auswahl der Datensätze, wie die Qualität von Empfehlungen<br />

evaluiert wird, alternative Arten der Qualitätsmessung (Precision <strong>und</strong> Recall) <strong>und</strong> die<br />

allgeme<strong>in</strong>e Zufriedenheit des Benutzers mit dem System.<br />

21


2 Recommendersysteme<br />

Zaier et al. [79] beschreibt die Bedeutung von Recommendersystemen <strong>in</strong> kommerziellen Umgebungen<br />

mit exponentiellen Warenverteilungen (long tail). In solchen Systemen wird e<strong>in</strong>e<br />

kle<strong>in</strong>e Menge von Produkte sehr häufig gekauft (z.B. der aktuelle Bestseller oder der neueste<br />

K<strong>in</strong>ofilm auf DVD), e<strong>in</strong>e große Menge an Waren aber nur selten. Recommendersysteme helfen<br />

dabei, dieses große Potential an “versteckten Waren” zu nutzen <strong>und</strong> diese dem passenden<br />

K<strong>und</strong>en anzubieten. Zaier et al. [79] untersucht bekannte Datensätze (Netflix, MovieLens, Jester,<br />

BookCross<strong>in</strong>g <strong>und</strong> EachMovie) auf diese Eigenschaften.<br />

22


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong><br />

<strong>Algorithmen</strong><br />

<strong>Schwarm<strong>in</strong>telligenz</strong> [36] <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> [22] s<strong>in</strong>d nicht-standard Optimierungsverfahren,<br />

mit deren Hilfe komb<strong>in</strong>atorische Probleme näherungsweise gelöst werden<br />

können. Beide Verfahren werden durch Vorgänge <strong>in</strong> der Natur <strong>in</strong>spiriert; bei <strong>Schwarm<strong>in</strong>telligenz</strong><br />

durch das Verhalten von Schwärmen, Kolonien <strong>und</strong> anderen kollektiven Gruppierungen,<br />

bei <strong>evolutionäre</strong>n <strong>Algorithmen</strong> durch den Vorgang der biologischen Evolution. Ziel<br />

beider Ansätze ist es, zur Lösung des zugr<strong>und</strong>e liegenden Problems Methoden aus der Natur<br />

zu abstrahieren <strong>und</strong> damit Lösungen für die gestellten Probleme zu f<strong>in</strong>den. Die Vorgänge <strong>in</strong><br />

der Natur können dabei aus e<strong>in</strong>er höheren Sicht auf e<strong>in</strong>fache Regeln abgebildet werden, die<br />

die jeweiligen Verfahren umsetzen.<br />

Die folgenden Abschnitte beschreiben die verschiedenen Varianten von <strong>Schwarm<strong>in</strong>telligenz</strong><br />

<strong>und</strong> <strong>evolutionäre</strong>n <strong>Algorithmen</strong> sowie die bisherigen Forschungen auf diesem Gebiet. Anschließend<br />

werden die <strong>in</strong> dieser Arbeit e<strong>in</strong>gesetzten Verfahren im Detail beschreiben.<br />

Evolutionäre <strong>Algorithmen</strong> Die biologische Evolution besteht vere<strong>in</strong>facht aus drei Vorgängen,<br />

die sich <strong>in</strong> jeder Generation wiederholen: Rekomb<strong>in</strong>ation, Mutation <strong>und</strong> Selektion [22].<br />

Mit diesen drei Vorgehensweisen ist die Natur <strong>in</strong> der Lage, das Erbgut der Individuen an<br />

die Bed<strong>in</strong>gungen <strong>und</strong> Lebensumstände <strong>in</strong> ihrer Umwelt anzupassen. Gut angepasste <strong>und</strong><br />

damit erfolgreiche Lebewesen haben so e<strong>in</strong>e größere Chance sich fortzupflanzen <strong>und</strong> damit<br />

ihre Gene <strong>in</strong> die nächste Generation weiter zu reichen. Die natürliche Evolution bevorzugt<br />

Individuen, die sich ihrer direkten Umgebung am besten anpassen <strong>und</strong> im Wettstreit um die<br />

vorhanden Ressourcen als Sieger hervorgehen.<br />

Evolutionäre <strong>Algorithmen</strong> greifen dies <strong>in</strong> vere<strong>in</strong>fachter Art auf <strong>und</strong> entwickeln e<strong>in</strong> Modell,<br />

mit dessen Hilfe man komplexe Probleme mit den Methoden der Evolution näherungsweise<br />

lösen kann. E<strong>in</strong> solches Modell ist vere<strong>in</strong>facht e<strong>in</strong>e Umgebung, <strong>in</strong> welche zufällig generierte<br />

Individuen platziert werden. Diese Individuen spiegeln <strong>in</strong> e<strong>in</strong>em <strong>evolutionäre</strong>n Algorithmus<br />

die möglichen Lösungen des Problems wieder. Repräsentiert wird jedes Individuum i als<br />

mehrdimensionaler Vektor v i , der für jede Dimension e<strong>in</strong>e Komponente der Lösung des Problems<br />

der Größe n enthält bzw. die Position <strong>in</strong> der Fitnesslandschaft darstellt:<br />

v i = (k 1 , · · · , k n ).<br />

Die gesamte Population P besteht aus der Menge aller Individuen v i :<br />

P = {v 1 , · · · , v |P| }.<br />

23


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

Selektiere Eltern<br />

Eltern<br />

Initialisierung<br />

Rekomb<strong>in</strong>ation<br />

Population<br />

Mutation<br />

Abbruchbed<strong>in</strong>gung erfüllt<br />

Selektiere Überlebende<br />

Nachkommen<br />

Abbildung 3.1: Das allgeme<strong>in</strong>e Schema e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus<br />

mit |P| als Anzahl aller Individuen <strong>in</strong> der Population.<br />

Die Fitness f (die Güte e<strong>in</strong>er Lösung) wird durch die momentane Position des Individuum <strong>in</strong><br />

der Landschaft bestimmt <strong>und</strong> gibt damit wieder, wie gut sich dieses Individuum mit se<strong>in</strong>en<br />

Eigenschaften auf dieser Stelle der Landschaft verhält. Wenn die Fitness hoch ist, d.h. das<br />

Individuum gut an die momentane Position angepasst ist, steigt die Chance des Überlebens<br />

<strong>und</strong> der damit verb<strong>und</strong>enen Weitergabe der eigenen Eigenschaften <strong>in</strong> die nächste Generation.<br />

Wenn dies nicht der Fall ist, wird das Individuum mit hoher Wahrsche<strong>in</strong>lichkeit dem <strong>evolutionäre</strong>n<br />

Druck nicht standhalten können <strong>und</strong> se<strong>in</strong>e (negativen) Merkmale werden aus der<br />

Population entfernt.<br />

Die zufällig generierten Individuen/Lösungen e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus durchlaufen<br />

Rekomb<strong>in</strong>ation, Mutation <strong>und</strong> Selektion <strong>in</strong> jeder Generation bzw. Iteration des Algorithmus<br />

<strong>und</strong> werden anschließend durch die problemspezifische Fitnessfunktion bewertet. Die Repräsentation<br />

e<strong>in</strong>er Lösung wird vom zugr<strong>und</strong>e liegenden Problem bestimmt. In der Regel formuliert<br />

man e<strong>in</strong>e Lösung als reellen oder b<strong>in</strong>ären Vektor, der die Problemstellung erfüllt, unabhängig<br />

der Qualität dieser Lösung. Der biologischen Begriffe Chromosom <strong>und</strong> Gen werden<br />

häufig synonym für diesen Vektor <strong>und</strong> die Elemente des Vektors verwendet. In Abbildung 3.1<br />

wird das allgeme<strong>in</strong>e Schema e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus dargestellt. E<strong>in</strong> <strong>evolutionäre</strong>r<br />

Algorithmus durchläuft folgende Schritte:<br />

• Rekomb<strong>in</strong>ation<br />

Bei der Rekomb<strong>in</strong>ation (auch crossover) werden die Chromosome der beiden Elternpaare<br />

zu e<strong>in</strong>em neuen Chromosom komb<strong>in</strong>iert. Dabei werden Eigenschaften beider Eltern<br />

<strong>in</strong> die K<strong>in</strong>dgeneration weitergegeben mit dem Ziel, dass sich daraus e<strong>in</strong>e Lösung, die<br />

e<strong>in</strong>e m<strong>in</strong>destens genauso gute Qualität wie ihre Eltern hat. Die Position, an der die<br />

24


eiden Chromosome gekreuzt werden, wird problemspezifisch bestimmt. Es existieren<br />

verschiedene Ansätze für die Umsetzung der Kreuzung, für e<strong>in</strong>e nähere Untersuchung<br />

siehe Eiben et al. [22]. Die Rekomb<strong>in</strong>ation von Individuen führt zur weitläufigen Erk<strong>und</strong>ung<br />

der Fitnesslandschaft, da das Ergebnis e<strong>in</strong>er Kreuzung an e<strong>in</strong>er ganz anderen<br />

Stelle der Landschaft als dessen Eltern liegen kann. In der Literatur spricht man hier<br />

auch von Exploration.<br />

• Mutation<br />

Die zufällige Mutation e<strong>in</strong>es Chromosoms bzw. e<strong>in</strong>es Gens liefert e<strong>in</strong> leicht verändertes<br />

Individuum zurück, dessen Fitness sich dadurch nicht zw<strong>in</strong>gend verbessert, aber<br />

durch die stochastische Komponente der Mutation wird “frisches Blut” <strong>in</strong> die Population<br />

e<strong>in</strong>gefügt [22]. Mutation verändert das Individuum zwar nur <strong>in</strong> e<strong>in</strong>em kle<strong>in</strong>en<br />

Rahmen, diese Veränderung kann aber häufig dazu führen, dass die direkte Nachbarschaft<br />

der Fitnesslandschaft genauer untersucht wird <strong>und</strong> dadurch vielleicht das lokale<br />

(<strong>und</strong> eventuell das globale) Optimum gef<strong>und</strong>en wird. In der Literatur spricht man auch<br />

von Exploitation.<br />

• Selektion<br />

Die Selektion kommt <strong>in</strong> zwei Varianten zu verschiedenen Zeiten im Ablauf des Algorithmus<br />

vor. Zum e<strong>in</strong>en werden die Individuen bestimmt, die per Rekomb<strong>in</strong>ation neue<br />

Nachkommen generieren dürfen. Die Wahl dieser Paare ist von der jeweiligen Ausprägung<br />

des <strong>evolutionäre</strong>n Systems <strong>und</strong> des zugr<strong>und</strong>e liegenden Problems abhängig. Es<br />

können beispielsweise werden nur die besten 50% e<strong>in</strong>er Generation zur Rekomb<strong>in</strong>ation<br />

verwendet werden.<br />

Zum anderen f<strong>in</strong>det nach Rekomb<strong>in</strong>ation <strong>und</strong> Mutation e<strong>in</strong>e Auswahl statt, welche Individuen<br />

aus der Menge der Eltern <strong>und</strong> K<strong>in</strong>der <strong>in</strong> die nächste Generation übernommen<br />

werden. Verschiedene Modelle s<strong>in</strong>d möglich, es können beispielsweise nur die Nachkommen<br />

oder e<strong>in</strong>e Komb<strong>in</strong>ation aus Eltern <strong>und</strong> Nachkommen übernommen werden.<br />

Die Fitnessfunktion bestimmt die Güte e<strong>in</strong>er Lösung. Sie stellt e<strong>in</strong>e Vorgabe dar, <strong>in</strong> welche<br />

Richtung sich e<strong>in</strong>e Population entwickeln soll <strong>und</strong> def<strong>in</strong>iert, was e<strong>in</strong>e Verbesserung der Fitness<br />

bedeutet <strong>und</strong> leitet damit den <strong>evolutionäre</strong>n Vorgang. Aus der Sicht der Problemlösung<br />

def<strong>in</strong>iert sie das eigentliche Problem <strong>und</strong> der <strong>evolutionäre</strong> Algorithmus liefert mögliche Lösungen.<br />

Die beste dieser Lösungen wird gesucht.<br />

Die Fitnessfunktion <strong>und</strong> die von ihr def<strong>in</strong>ierte Fitnesslandschaft ist für zwei Merkmale (oder<br />

Gene) <strong>in</strong> Abbildung 3.2 dargestellt. Die Höhe dieser Landschaft spiegelt die Fitness wieder:<br />

E<strong>in</strong>e hohe Position bedeutet e<strong>in</strong>e hohe Fitness, tiefer liegende Positionen bedeuten niedrige<br />

Fitness (im Falle e<strong>in</strong>es Maximierungsproblems).<br />

E<strong>in</strong>e detaillierte Beschreibung des Genetischen Algorithmus, e<strong>in</strong>e Variante der <strong>evolutionäre</strong>n<br />

<strong>Algorithmen</strong>, folgt <strong>in</strong> Abschnitt 3.1. Dieses Verfahren f<strong>in</strong>det danach <strong>in</strong> Kapitel 4.6 E<strong>in</strong>satz <strong>in</strong><br />

e<strong>in</strong>em Recommendersystem.<br />

Überblick <strong>evolutionäre</strong> <strong>Algorithmen</strong> In der Vergangenheit haben sich verschiedene Varianten<br />

von <strong>evolutionäre</strong> <strong>Algorithmen</strong> entwickelt. In den USA der 1960er haben Fogel, Walsh<br />

25


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

55<br />

50<br />

45<br />

40<br />

0<br />

5<br />

10<br />

15<br />

0 1 2 3 4 5 6 7 8 9<br />

Abbildung 3.2: Beispiel für e<strong>in</strong>e aus e<strong>in</strong>er Fitnessfunktion mit zwei Merkmalen ergebenden<br />

Fitnesslandschaft. Für e<strong>in</strong> Maximierungsproblem spiegeln die hohen Positionen<br />

e<strong>in</strong>e hohe Fitness wieder, niedrige Positionen e<strong>in</strong>e schlechtere Fitness. Es<br />

können mehrere lokale Optima auftreten (multimodale Landschaft).<br />

<strong>und</strong> Owens Evolutionary Programm<strong>in</strong>g (EP) vorgeschlagen, während Holland se<strong>in</strong>e Variante<br />

Genetic Algorithm (GA) genannt hat. In Deutschland haben Rechenberg <strong>und</strong> Schwefel unter<br />

den Namen Evolutionary Strategies (ES) erste Forschungen auf diesem Gebiet betrieben. In den<br />

1990er hat Koza mit Genetic Programm<strong>in</strong>g (GP) e<strong>in</strong>e weitere Variante vorgeschlagen.<br />

Allen Varianten liegt die gleiche <strong>evolutionäre</strong> Idee zugr<strong>und</strong>e, während sie sich <strong>in</strong> den Details<br />

<strong>und</strong> E<strong>in</strong>satzgebieten sehr vone<strong>in</strong>ander unterscheiden. Dabei ist es vom eigentlichen Problem<br />

<strong>und</strong> dessen Ausprägung abhängig, welche Variante sich am besten zur Lösung anbietet. Die<br />

Tabellen 3.1 <strong>und</strong> 3.2 geben e<strong>in</strong>e Übersicht über die vier großen Varianten der <strong>evolutionäre</strong>n<br />

<strong>Algorithmen</strong> <strong>und</strong> deren typische Anwendungsfälle.<br />

<strong>Schwarm<strong>in</strong>telligenz</strong> Die Bildung von Gruppen <strong>und</strong> Teams <strong>in</strong> der Tierwelt ist e<strong>in</strong> häufig<br />

beobachtetes Verhalten [3], z.B. <strong>in</strong> Vogel-, Fisch- <strong>und</strong> Bienenschwärmen oder Ameisenkolonien.<br />

Interessant s<strong>in</strong>d vor allem solche Gruppen, die von ke<strong>in</strong>em Führer (Alphatier) geleitet<br />

werden, sondern e<strong>in</strong> emergentes Verhalten zeigen. Die e<strong>in</strong>zelnen Individuen <strong>in</strong> solchen Gruppen<br />

haben ke<strong>in</strong> direktes Wissen über ihre Umgebung <strong>und</strong> das globale Verhalten der eigenen<br />

Gruppe, können sich aber trotzdem gegenseitig f<strong>in</strong>den <strong>und</strong> zusammen fortbewegen. Dieses<br />

Verhalten basiert auf der lokalen Kommunikation e<strong>in</strong>es Individuum mit se<strong>in</strong>en direkten<br />

Nachbarn im Schwarm. Auf diese Weise entwickelt der Schwarm Verhaltensweisen wie die<br />

Erk<strong>und</strong>ung der Umgebung, Rückkehr an e<strong>in</strong>en bestimmten Ort oder hütendes Verhalten.<br />

26


GA<br />

ES<br />

Typisches Komb<strong>in</strong>atorische Kont<strong>in</strong>uierliche<br />

Problem Optimierung Optimierung<br />

Typische Zeichenketten <strong>in</strong> e<strong>in</strong>em Vektoren<br />

Repräsentation endlichen Alphabet mit reellen Zahlen<br />

Rolle der Primärer Variations- Wichtig, aber<br />

Rekomb<strong>in</strong>ation operator zweitrangig<br />

Rolle der Sek<strong>und</strong>ärer Variations- Wichtig, manchmal<br />

Mutation operator der e<strong>in</strong>zige Operator<br />

Selektion Zufällig, bee<strong>in</strong>flusst Zufällig, uniform<br />

der Eltern durch die Fitness<br />

Selektion Generational: nicht alle Determ<strong>in</strong>istisch,<br />

der neuen Individuen werden ersetzt Bee<strong>in</strong>flusst durch Fitness<br />

Generation Steady-state: determ<strong>in</strong>istisch<br />

Bee<strong>in</strong>flusst durch Fitness<br />

Tabelle 3.1: Übersicht über die GA <strong>und</strong> ES Dialekte <strong>in</strong> <strong>evolutionäre</strong>n <strong>Algorithmen</strong>.<br />

Diverse Simulationen zu diesem Verhalten haben zu e<strong>in</strong>em besseren Verständnis der Schwärme<br />

geführt. Reynolds [61] hat mit den vom ihm entwickelten Boids gr<strong>und</strong>legende Erkenntnisse<br />

für das Verhaltensweisen <strong>in</strong> Schwärmen erforscht. Er führt drei Regeln auf, die jedes<br />

Individuum e<strong>in</strong>halten muss, damit der Schwarm e<strong>in</strong> emergentes Verhalten zeigt:<br />

• Vermeidung von Kollisionen<br />

Jedes Individuum versucht nicht mit se<strong>in</strong>en direkten Nachbarn zu kollidieren, basierend<br />

auf der physikalischen Koord<strong>in</strong>aten jedes Individuum.<br />

• Angleichung der Geschw<strong>in</strong>digkeit<br />

Jedes Individuum passt sich der Richtung <strong>und</strong> Geschw<strong>in</strong>digkeit der umliegenden Individuen<br />

an.<br />

• Zentrierung des Schwarms<br />

Jedes Individuum versucht <strong>in</strong> der Nähe des Zentrums des Schwarms zu bleiben.<br />

Abbildung 3.3: Boids: Vermeidung von Kollisionen <strong>in</strong>nerhalb der direkten Nachbarschaft<br />

(Kreis), Angleichung an die umliegenden Nachbarn <strong>und</strong> Zentrierung <strong>in</strong> der<br />

Nachbarschaft, exemplarisch für e<strong>in</strong>en Teilnehmer (mitte, schwarz).<br />

27


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

EP<br />

GP<br />

Typisches Optimierung Modellierung<br />

Problem<br />

Typische Problemspezifisch Bäume<br />

Repräsentation<br />

Rolle der Nicht angewandt Primär / e<strong>in</strong>ziger<br />

Rekomb<strong>in</strong>ation<br />

Variationsoperator<br />

Rolle der Der e<strong>in</strong>zige Variations- Sek<strong>und</strong>är, manchmal<br />

Mutation operator gar nicht e<strong>in</strong>gesetzt<br />

Selektion Jedes Individuum Zufällig, bee<strong>in</strong>flusst durch<br />

der Eltern erstellt e<strong>in</strong> K<strong>in</strong>d Fitness<br />

Selektion Zufällig, bee<strong>in</strong>flusst durch Zufällig, bee<strong>in</strong>flusst durch<br />

der neuen Fitness Fitness<br />

Generation<br />

Tabelle 3.2: Übersicht über die EP <strong>und</strong> GP Dialekte <strong>in</strong> <strong>evolutionäre</strong>n <strong>Algorithmen</strong>.<br />

E<strong>in</strong> ähnliches Modell wurde von Heppner <strong>und</strong> Grenander [30] vorgeschlagen. Sie erweiterten<br />

das Modell von Reynolds um e<strong>in</strong>en sogenannten “Rooster”, der den anderen Teilnehmer des<br />

Schwarms als Anziehungspunkt dient.<br />

E<strong>in</strong>e ganze Reihe weiterer Modelle wurde <strong>in</strong> den nachfolgenden Jahren vorgeschlagen. Das<br />

Verhalten von Fischschwärmen wird Stephens et al. [73] untersucht. E<strong>in</strong>e Modell für das Verhalten<br />

von Menschenmassen bespricht Saiwak et al. [64]. Das Modell von Crep<strong>in</strong>sek et al. [19]<br />

modelliert das Verhalten der Teilnehmer bei der Wahl der Nachbarn <strong>und</strong> der Richtungsangleichung.<br />

Das Modell, das <strong>in</strong> den späteren Kapiteln e<strong>in</strong>gesetzt wird, ist der Particle Swarm Optimization-Algorithmus<br />

(PSO), vorgeschlagen von Kennedy <strong>und</strong> Eberhart [21, 36]. Dieses Modell<br />

optimiert beliebige Funktionen. Andere E<strong>in</strong>satzgebiete außerhalb der Optimierung, für die<br />

teilweise die obigen Modelle verwendet werden (wie Computerspiele oder Filmanimationen),<br />

s<strong>in</strong>d im PSO Modell nicht vorgesehen.<br />

Particle Swarm Optimization basiert auf dem sozial-psychologischen Modell der sozialen E<strong>in</strong>flussnahme<br />

<strong>und</strong> dem sozialen Lernen. Alle Partikel <strong>in</strong> e<strong>in</strong>em Schwarm verfolgen e<strong>in</strong> Hauptziel:<br />

Die Nachahmung des Verhaltens der direkten Nachbarn im Schwarm. Wenn alle Partikel<br />

dieses Verhalten befolgen, konvergiert der Schwarm <strong>in</strong> Richtung des globalen Optimums der<br />

Umgebung.<br />

Das PSO Modell durchlief e<strong>in</strong>ige Iterationen, <strong>in</strong> denen jeweils die Ergebnisse aus anderen<br />

Arbeiten e<strong>in</strong>flossen sowie eigene Verbesserungen <strong>und</strong> Erweiterungen vorgenommen wurden.<br />

So wurde nach e<strong>in</strong>em anfänglichen Modell, welches nur die Bestimmung der nächsten Nachbarn<br />

<strong>und</strong> die Angleichung der Richtung implementiert hatte, dass Konzept der “Rooster” von<br />

Heppner <strong>und</strong> Grenander [30] übernommen, um den ganzen Schwarm auf die lokalen <strong>und</strong><br />

globalen Optima der Nachbarn <strong>und</strong> des Schwarms selbst zu leiten. Der bis dah<strong>in</strong> verwendete<br />

28


Ansatz leitete den Schwarm ohne diese Erweiterung zu schnell <strong>in</strong> e<strong>in</strong>e feste Richtung, die<br />

nicht mehr verlassen wurde [23].<br />

Invasive Weed Optimization E<strong>in</strong> weiteres der <strong>Schwarm<strong>in</strong>telligenz</strong> zugeteiltes Optimierungsverfahren<br />

wird durch das Verbreitungsverhalten von Unkraut motiviert: Invasive Weed Optimization<br />

[51]. Unkraut werden dabei all die Pflanzen <strong>in</strong> e<strong>in</strong>er Agrikultur genannt, die dort<br />

nicht gewollt s<strong>in</strong>d bzw. die e<strong>in</strong> angreifendes <strong>und</strong> schädlichen Verhalten gegenüber ihrer Umwelt<br />

zeigen. Das vorliegende numerische Optimierungsverfahren ist e<strong>in</strong>fach aufgebaut, konvergiert<br />

aber sehr effektiv auf das globale Optimum. In e<strong>in</strong>er ausführlichen Evaluation vergleicht<br />

Mehrabian et. al. [51] IWO auf verschiedenen Testfunktionen (die aus der Forschung<br />

zu <strong>evolutionäre</strong>n <strong>Algorithmen</strong> bekannten Funktionen Sphere, Griewank <strong>und</strong> Rastrig<strong>in</strong>) mit<br />

genetischen <strong>Algorithmen</strong> (GA), memetischen <strong>Algorithmen</strong> (MA), Particle Swarm <strong>Algorithmen</strong><br />

(PSO) <strong>und</strong> Shuffled frog leap <strong>Algorithmen</strong> (SFL). Zusätzlich wird IWO mit diversen Simulated<br />

Anneal<strong>in</strong>g-Varianten verglichen.<br />

Abbildung 3.4: IWO: Verlauf der Pflanzenausbreitung <strong>in</strong> e<strong>in</strong>er zweidimensionalen Landschaft.<br />

Grafik aus [51].<br />

IWO wurde <strong>in</strong> nachfolgenden Forschungsarbeiten hauptsächlich für die Optimierung von<br />

Funktionen verwendet. E<strong>in</strong>e Veröffentlichung von Rad et al. [69], die <strong>in</strong> den späteren Kapiteln<br />

aufgegriffen wird, ist e<strong>in</strong> Recommendersystem, dass den von Ujj<strong>in</strong> et al. [74] vorgeschlagenen<br />

<strong>evolutionäre</strong>n Recommender als Gr<strong>und</strong>lage verwendet, dabei aber die Optimierungsfunktion<br />

durch das Invasive Weed Optimization-Verfahren (IWO) ersetzt. Dieses Verfahren wird <strong>in</strong><br />

Kapitel 4.7 besprochen.<br />

Zhang et al. [81] erweitern den IWO Algorithmus zu e<strong>in</strong>er populations-basierten Optimierungsmethode,<br />

shuffled IWO genannt, <strong>in</strong>dem sie IWO mit e<strong>in</strong>em shuffled complex evolution-<br />

Ansatz komb<strong>in</strong>ieren. Das dynamische Verhalten von Energiemärkten wird von Sahraei et al.<br />

[63] mit Hilfe des IWO untersucht. Die Optimierung von Antennen mithilfe des IWO untersucht<br />

Karimkashi et al. [35].<br />

Überblick <strong>Schwarm<strong>in</strong>telligenz</strong> Die Varianten der <strong>Schwarm<strong>in</strong>telligenz</strong> werden von zwei<br />

Methoden dom<strong>in</strong>iert, die <strong>in</strong> den letzten Jahren <strong>in</strong> der Forschung die meiste Aufmerksam-<br />

29


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

keit bekommen haben: Particle Swarm Optimization <strong>und</strong> Ant Colony Optimization. Jedoch<br />

s<strong>in</strong>d auch andere Ansätze verbreitet <strong>und</strong> werden aktiv untersucht. In Tabelle 3.3 <strong>und</strong> 3.4 wird<br />

e<strong>in</strong> Überblick über die verschiedenen Varianten gegeben.<br />

Particle Swarm Ant Colony Bees Algorithm<br />

Typisches Optimierung Optimaler Pfad, Komb<strong>in</strong>atorische oder<br />

Problem Optimierung funktionale Optimierung<br />

Motivation Verhalten der Mitglieder Wegf<strong>in</strong>dung von Nahrungssuche von<br />

von (Vogel-)Schwärmen Ameisen <strong>in</strong> Kolonien Bienenschwärmen<br />

Tabelle 3.3: Übersicht über Methoden der <strong>Schwarm<strong>in</strong>telligenz</strong><br />

Invasive Weed Firefly Algorithm<br />

Typisches Optimierung Optimierung<br />

Problem<br />

Motivation Ausbreitung von Ausbreitung <strong>und</strong> gegenseitige<br />

Pflanzensamen Anziehung von Leuchtkäfern<br />

Tabelle 3.4: Übersicht über Methoden der <strong>Schwarm<strong>in</strong>telligenz</strong><br />

3.1 Genetischer Algorithmus<br />

Der genetische Algorithmus (GA) ist der am weitesten verbreitete <strong>evolutionäre</strong> Algorithmus.<br />

Er ist e<strong>in</strong>facher zu implementieren als die anderen EA-Varianten [22], da er ke<strong>in</strong>e besonderen<br />

Spezialisierungen, im Gegensatz zu den anderen Varianten, implementiert. Evolution<br />

Strategies, mit der vergleichsweise komplexen Selbstanpassung der Mutationsschritte oder<br />

die Baumstruktur zur Repräsentation der Individuen bei Genetic Programm<strong>in</strong>g, s<strong>in</strong>d je nach<br />

Umfang des E<strong>in</strong>satzes um e<strong>in</strong> vielfaches komplexer als e<strong>in</strong> GA-Algorithmus.<br />

Typischer Ablauf Der typische Ablauf e<strong>in</strong>es genetischen Algorithmus ist im List<strong>in</strong>g 3.1 als<br />

Pseudocode aufgeführt. Dieser Ablauf kann auch auf alle anderen Varianten von EAs übertragen<br />

werden, der Ablauf ist bis auf Details identisch. Die Abbruchbed<strong>in</strong>gung ist problemspezifisch<br />

<strong>und</strong> kann auf viele Arten def<strong>in</strong>iert werden. Oft verwendete Bed<strong>in</strong>gungen s<strong>in</strong>d das<br />

Erreichen e<strong>in</strong>er vorgegeben Anzahl von Iterationen bzw. Generationen der Population, ke<strong>in</strong>e<br />

messbare Verbesserung der Fitness <strong>in</strong> den letzten n Iterationen oder das Erreichen e<strong>in</strong>er vorab<br />

def<strong>in</strong>ierten Qualität der Lösung.<br />

Repräsentation der Individuen Die Wahl der Repräsentation e<strong>in</strong>es Individuum ist e<strong>in</strong>e<br />

wichtige Entscheidung im Entwurfsprozess e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus. Dabei muss<br />

diese Entscheidung immer mit Blick auf das zugr<strong>und</strong>e liegende Problem getroffen werden, e<strong>in</strong>e<br />

allgeme<strong>in</strong>e <strong>und</strong> immer erfolgreiche Methode gibt es nicht. Zusätzlich muss die Abbildung<br />

des Genotyps auf den Phenotyps def<strong>in</strong>iert werden, also die Abbildung der im <strong>evolutionäre</strong>n<br />

30


3.1 Genetischer Algorithmus<br />

1 BEGIN<br />

List<strong>in</strong>g 3.1: Der generische Ablauf e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus als Pseudocode<br />

2 INITIALISE random population;<br />

3 EVALUATE each member;<br />

4 REPEAT UNTIL (TERMINATION CONDITION is true) DO<br />

5 1 SELECT parents;<br />

6 2 CROSSOVER parent pairs;<br />

7 3 MUTATE result<strong>in</strong>g offspr<strong>in</strong>g;<br />

8 4 EVALUATE every offspr<strong>in</strong>g;<br />

9 5 SELECT survivors;<br />

10 OD<br />

11 END<br />

12 }<br />

1 0 1 0 1 1 0 0<br />

Abbildung 3.5: B<strong>in</strong>äres Chromosom<br />

Algorithmus verwendeten Repräsentation <strong>in</strong> e<strong>in</strong>e Repräsentation die zum lösenden Problem<br />

passt.<br />

E<strong>in</strong>e mögliche Repräsentationsart ist die b<strong>in</strong>äre Repräsentation. Der Genotyp besteht hier aus<br />

e<strong>in</strong>em Bitstr<strong>in</strong>g. Für e<strong>in</strong> spezifisches Problem muss die Länge des Str<strong>in</strong>gs <strong>und</strong> die Abbildung<br />

der b<strong>in</strong>ären (genotypischen) Werte auf die phenotypische Lösung bestimmt werden. Diese<br />

Lösung muss weiterh<strong>in</strong> e<strong>in</strong>e gültige Lösung im Problemraum darstellen. Für Probleme, deren<br />

Lösungen aus boolschen Variablen bestehen, bietet sich diese Repräsentation auf natürliche<br />

Weise an.<br />

E<strong>in</strong>e weitere Möglichkeit ist die Repräsentation durch ganze Zahlen, die sich für Probleme<br />

anbietet, bei denen jedes Gen mehr als zwei Werte annehmen kann, beispielsweise die Angaben<br />

{hoch, runter, l<strong>in</strong>ks, rechts}. Die reellwertige Repräsentation wird bei Problemen verwendet,<br />

die kont<strong>in</strong>uierliche Werte verlangen. Die Repräsentation durch Permutationen bietet sich bei<br />

komb<strong>in</strong>atorischen Problemen an, beispielsweise beim Problem des Handlungsreisenden, bei<br />

der e<strong>in</strong>e Lösung den Verlauf der Reise (feste Abfolge von Städten) darstellt.<br />

Mutation Falls die Mutation der e<strong>in</strong>zige Operator ist, der pro Generation neue Lösungen erzeugt,<br />

wird nur e<strong>in</strong> Elternteil verwendet, um e<strong>in</strong> Nachkommen zu generieren. Wenn aber vor<br />

der Mutation zusätzlich e<strong>in</strong>e Rekomb<strong>in</strong>ation aus zwei Eltern stattf<strong>in</strong>det, wird die Mutation<br />

anschließend auf den neu entstandenen Nachkommen angewandt.<br />

E<strong>in</strong>e Lösung wird durch e<strong>in</strong>e zufällige Operation verändert <strong>und</strong> damit e<strong>in</strong>e neue Lösung<br />

erstellt. E<strong>in</strong>e Art der Mutation bei b<strong>in</strong>ärer Repräsentation ist der Bitflip e<strong>in</strong>es Gens, siehe<br />

Abbildung 3.6. Dabei wird der Wert e<strong>in</strong>es Gens mit e<strong>in</strong>er Wahrsche<strong>in</strong>lichkeit p m negiert. Die<br />

Anzahl L der Bitflips <strong>in</strong> e<strong>in</strong>em Chromosom wird dabei vom Algorithmus bestimmt, auch dieser<br />

Wert kann zufällig bestimmt werden. Es ergeben sich L · p m -viele Bitflips pro Chromosom.<br />

31


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1<br />

Abbildung 3.6: Mutation e<strong>in</strong>es b<strong>in</strong>ären Chromosoms<br />

0 0 0 0 1 1 0 0<br />

0 0 0 0 0 0 1 1<br />

1 0 1 0 0 0 1 1<br />

1 0 1 0 1 1 0 0<br />

Abbildung 3.7: One-Po<strong>in</strong>t Crossover<br />

Ganzzahlige Repräsentationen verwenden typischerweise zwei Mutationsvarianten: Zufälliges<br />

zurücksetzen e<strong>in</strong>es Gens auf e<strong>in</strong>en zufällig bestimmten neuen Wert oder creep mutation,<br />

bei der jedes Gen mit Wahrsche<strong>in</strong>lichkeit p um e<strong>in</strong>en zufällig gezogenen Wert (positiv oder<br />

negativ) erhöht wird. Reellwertige Repräsentationen mutieren ihre Gene <strong>in</strong>dem aus e<strong>in</strong>em fest<br />

def<strong>in</strong>ierten Intervall e<strong>in</strong> neuer Wert zufällig gezogen wird. Die Wahrsche<strong>in</strong>lichkeitsverteilung,<br />

aus der die Werte gezogen werden, ist entweder stetig oder unstetig gleichverteilt. Permutationsrepräsentationen<br />

tauschen zwei Gene <strong>in</strong>nerhalb e<strong>in</strong>es Chromosoms aus, verschieben die<br />

Position e<strong>in</strong>es Gens oder mischen zufällig Teilabschnitte des Chromosom.<br />

Rekomb<strong>in</strong>ation Die Rekomb<strong>in</strong>ation von zwei (oder mehr) Individuen aus der Elternpopulation<br />

erzeugt zwei (oder mehr) Nachkommen aus den Informationen, die die Elternchromosome<br />

<strong>in</strong> sich tragen. Mit dieser Operation wird die Vielfalt <strong>in</strong>nerhalb der möglichen Lösungen<br />

gewahrt. Die Rekomb<strong>in</strong>ation unterscheidet e<strong>in</strong>en EA von globalen Optimierungsalgorithmen.<br />

Die Wahrsche<strong>in</strong>lichkeit e<strong>in</strong>er Rekomb<strong>in</strong>ation zweier Lösungen wird über die Crossover-Rate<br />

p c bestimmt, die üblicherweise im Intervall [0.5, 1.0] liegt. Zwei Eltern werden rekomb<strong>in</strong>iert,<br />

wenn e<strong>in</strong>e zufällig aus dem Intervall [0, 1) gezogene Variable kle<strong>in</strong>er ist als p c . Wenn die<br />

Zufallsvariable größer ist, dann werden die K<strong>in</strong>der als Kopien der Eltern, ohne Veränderung,<br />

erzeugt.<br />

Die Rekomb<strong>in</strong>ationsoperatoren für die Komb<strong>in</strong>ation zweier Lösungen s<strong>in</strong>d von der Repräsentation<br />

der Lösungen abhängig. Für b<strong>in</strong>äre Repräsentationen können zwei Chromosome<br />

per one-po<strong>in</strong>t crossover komb<strong>in</strong>iert werden, siehe auch Abbildung 3.7. An e<strong>in</strong>em zufällig gewählten<br />

Punkt <strong>in</strong>nerhalb des Chromosoms werden die h<strong>in</strong>teren Teile der Eltern vertauscht.<br />

E<strong>in</strong>e generalisierte Variante davon ist der n-po<strong>in</strong>t crossover, bei dem mehr als e<strong>in</strong> Punkt für<br />

die Komb<strong>in</strong>ation gewählt wird <strong>und</strong> abwechselnd die Teilabschnitte vertauscht werden, siehe<br />

Abbildung 3.8. Der e<strong>in</strong>heitliche Crossover (uniform crossover) behandelt jedes Gen unabhängig<br />

<strong>und</strong> wählt zufällig aus, ob dieses Gen aus dem e<strong>in</strong>en oder anderen Elternteil übernommen<br />

wird. Das zweite Chromosom wird als Inverses des Ersten erzeugt, siehe Abbildung 3.9<br />

Bei ganzzahliger Repräsentation werden die selben Operatoren wie bei b<strong>in</strong>ärer Darstellung<br />

verwendet. Für die restlichen Repräsentationsformen besteht e<strong>in</strong>e große Auswahlmöglich-<br />

32


3.1 Genetischer Algorithmus<br />

0 0 0 0 1 1 0 0<br />

0 0 0 0 0 0 0 0<br />

1 0 1 0 0 0 1 1<br />

1 0 1 0 1 1 1 1<br />

Abbildung 3.8: N-Po<strong>in</strong>t Crossover<br />

0 0 0 0 1 1 0 0<br />

0 0 1 0 0 0 0 1<br />

1 0 1 0 0 0 1 1<br />

1 0 0 0 1 1 1 0<br />

Abbildung 3.9: Uniform Crossover<br />

keit an Operatoren, die je nach Problemstellung gewählt werden müssen. Für e<strong>in</strong>e genaue<br />

Darstellung siehe Eiben et al. [22].<br />

Populationsmodelle Nach Rekomb<strong>in</strong>ation <strong>und</strong> Mutation muss entschieden werden, welche<br />

Individuen <strong>in</strong> die nächste Generation übernommen werden. Zwei Modelle können hier<br />

genannt werden: Entweder wird die gesamte Elternpopulation µ durch die gesamte K<strong>in</strong>dpopulation<br />

λ ersetzt (generational model), oder es wird nur e<strong>in</strong> Teil der Eltern durch neue<br />

K<strong>in</strong>der ersetzt (steady-state)-Modell. Dabei ist die Anzahl der zu ersetzenden Eltern variabel<br />

<strong>und</strong> muss problemspezifisch entschieden werden, jedoch hat sich durch das erste steady-state-<br />

Modell GENITOR e<strong>in</strong> Wert von λ = 1 <strong>in</strong> vielen Anwendungen durchgesetzt, es wird also<br />

immer nur e<strong>in</strong> neues K<strong>in</strong>d <strong>in</strong> die Elternpopulation e<strong>in</strong>gefügt.<br />

Selektion An zwei Stellen im Ablauf e<strong>in</strong>es <strong>evolutionäre</strong>n Algorithmus muss aus den Individuen<br />

der Population e<strong>in</strong>e Auswahl getroffen werden: Zum e<strong>in</strong>en muss entschieden werden,<br />

welche Individuen <strong>in</strong> die nächste Generation übernommen werden, zum anderen welche Individuen<br />

für die Rekomb<strong>in</strong>ation <strong>in</strong> Frage kommen. Beide Entscheidungen hängen nur von<br />

der jeweiligen Fitness ab. Je besser die Fitness, desto höher ist die Wahrsche<strong>in</strong>lichkeit ausgewählt<br />

zu werden.<br />

E<strong>in</strong>e Möglichkeit ist die fitness proportional selection (FPS), bei der die Individuen gemäß ihrer<br />

absoluten Fitness <strong>in</strong> der Population gemessen werden. Die Wahrsche<strong>in</strong>lichkeit P i als Elternteil<br />

ausgewählt zu werden liegt für Individuum f i bei<br />

P i =<br />

f i<br />

∑ µ j=1 f j<br />

Dieses Verfahren hat jedoch Nachteile. Entweder können sehr fitte Ausreißer die Population<br />

sehr schnell übernehmen (premature convergence), da sie fast immer gewählt werden, oder es<br />

33


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

kann passieren, dass wenn alle Individuen ähnliche Fitnesswerte haben, der Selektionsdruck<br />

praktisch nicht vorhanden ist. Zur Vermeidung dieser Probleme s<strong>in</strong>d von Eiben et al. [22]<br />

Erweiterungen vorgeschlagen worden.<br />

A<br />

3/6 = 50%<br />

B<br />

1/6 = 17%<br />

C<br />

2/6 = 33%<br />

Abbildung 3.10: Fitness-Proportional Selektion für drei Individuen. A mit Fitness 3, B mit<br />

Fitness 1 <strong>und</strong> C mit Fitness 2. Im Prozent ist angegeben, mit welcher Wahrsche<strong>in</strong>lichkeit<br />

das Individuum überlebt.<br />

E<strong>in</strong>e weitere Möglichkeit ist die Sortierung der Population nach Fitness <strong>und</strong> die nachfolgende<br />

Zuweisung von Selektionswahrsche<strong>in</strong>lichkeiten je nach Rang des Individuum. Auf dieser Art<br />

wird e<strong>in</strong> konstanter Selektionsdruck ausgeübt, der nicht direkt von der Fitness abhängt, sondern<br />

nur vom Rang <strong>in</strong>nerhalb der Population. Die Berechnung der Wahrsche<strong>in</strong>lichkeiten kann<br />

wie folgt vorgenommen werden, mit 1.0 < s


3.2 Particle Swarm Optimization<br />

3.2 Particle Swarm Optimization<br />

Der PSO Algorithmus arbeitet mit e<strong>in</strong>em Schwarm von Partikeln, von denen jeder e<strong>in</strong>zelne<br />

Partikel e<strong>in</strong>e mögliche Lösung des Optimierungsproblems darstellt. Die Partikel bewegen<br />

sich durch e<strong>in</strong>en mehrdimensionalen Problemraum, um <strong>in</strong> diesem e<strong>in</strong> Optimum zu f<strong>in</strong>den.<br />

Die Partikel werden dabei so gesteuert, dass sie zum e<strong>in</strong>en auf ihre bisher beste Position, im<br />

S<strong>in</strong>ne e<strong>in</strong>er auf dem Problemraum def<strong>in</strong>ierten Fitnessfunktion, zusteuern <strong>und</strong> zum anderen<br />

sich <strong>in</strong> Richtung des globalen oder lokalen Optimums des Schwarms bewegen. Die Position<br />

e<strong>in</strong>es Partikels wird geändert, <strong>in</strong>dem e<strong>in</strong> Geschw<strong>in</strong>digkeitsvektor v i (t) auf die momentane<br />

Position x i (t) des Partikels i addiert wird:<br />

x i (t + 1) = x t (t) + v i (t + 1)<br />

mit t als diskreter Zeitschritt des Algorithmus. Der Geschw<strong>in</strong>digkeitsvektor ist die treibende<br />

Kraft h<strong>in</strong>ter der Optimierung <strong>und</strong> enthält die Informationen darüber, wo der Partikel <strong>in</strong> der<br />

Vergangenheit die beste Fitness hatte bzw. wo der gesamte Schwarm <strong>in</strong> der Vergangenheit<br />

e<strong>in</strong> (temporäres) Optimum gef<strong>und</strong>en hat.<br />

Die Bestimmung des Geschw<strong>in</strong>digkeitsvektor v i (t) kann auf zwei Arten durchgeführt werden:<br />

Indem man den gesamten Schwarm des Partikels i <strong>und</strong> dessen bisheriges Optimum<br />

betrachtet (global best, gbest) oder nur die Nachbarschaft e<strong>in</strong>es Partikels i <strong>und</strong> dessen bisheriges<br />

Optimum <strong>in</strong> die Berechnung der Geschw<strong>in</strong>digkeit mit e<strong>in</strong>bezieht (local best, lbest). Im<br />

ersten Fall liegt e<strong>in</strong>e sternförmige Nachbarschaft, siehe Abbildung 3.12, zwischen den Partikeln<br />

vor. D.h. jeder Partikel ist mit jedem anderen Partikel verb<strong>und</strong>en. Im zweiten Fall ist<br />

die Nachbarschaft zwischen den Partikeln die e<strong>in</strong>es R<strong>in</strong>gs. E<strong>in</strong> Partikel ist nur mit e<strong>in</strong>er Teilmenge<br />

der Partikeln verb<strong>und</strong>en <strong>und</strong> sieht jeweils nur se<strong>in</strong>e beiden direkten Nachbarn. In der<br />

Praxis wird der zweite Fall über die Indizierung der Partikel realisiert <strong>und</strong> nicht über e<strong>in</strong>e<br />

topologische Nachbarschaft.<br />

Global best PSO Für gbest PSO ist die Berechnung des Geschw<strong>in</strong>digkeitsvektors wie folgt<br />

def<strong>in</strong>iert, mit y als persönlich beste Position des Partikels <strong>und</strong> ŷ als beste Position des Schwarms:<br />

v ij (t + 1) = v ij (t) + c 1 r 1j (t)[y ij (t) − x ij (t)] + c 2 r 2j (t)[ŷ j (t) − x ij (t)] (3.1)<br />

für die j-te Dimension des Positions- <strong>und</strong> Geschw<strong>in</strong>digkeitsvektors, siehe auch Abbildung 3.11.<br />

Der zweite Term der Formel ist der kognitiven Anteil des Geschw<strong>in</strong>digkeitsvektors, der den<br />

bisherigen Verlauf dieses Partikels beschreibt. Der dritte Term der Formel stellt dementsprechend<br />

den sozialen Anteil dar, der den bisherigen Verlauf des gesamten Schwarms widerspiegelt.<br />

c 1 <strong>und</strong> c 2 s<strong>in</strong>d positive Konstanten für die Beschleunigung der Partikel bestimmen.<br />

r 1j (t) <strong>und</strong> r 2j (t) s<strong>in</strong>d gleichverteile Zufallszahlen zwischen 0 <strong>und</strong> 1, die dem Algorithmus e<strong>in</strong><br />

stochastisches Element h<strong>in</strong>zufügen.<br />

35


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

ŷ(t)<br />

x(t + 1)<br />

neue Richtung<br />

soziale Geschw<strong>in</strong>digkeit<br />

x 2<br />

x(t + 2)<br />

x(t + 1)<br />

Trägheit<br />

x(t)<br />

x 2<br />

y(t + 1)<br />

soziale<br />

Geschw<strong>in</strong>digkeit<br />

ŷ(t + 1)<br />

Trägheit<br />

neue Richtung<br />

kognitive Geschw<strong>in</strong>digkeit<br />

kognitive Geschw<strong>in</strong>digkeit<br />

y(t)<br />

x(t)<br />

x 1<br />

x 1<br />

Abbildung 3.11: Geometrische Darstellung e<strong>in</strong>es Positionsupdates e<strong>in</strong>es zweidimensionalen<br />

Partikels.<br />

Die persönlich beste Position y i für den nächsten Zeitschritt (t + 1) wird, bei e<strong>in</strong>em M<strong>in</strong>imierungsproblem,<br />

wie folgt bestimmt:<br />

y i (t + 1) =<br />

{<br />

y i (t)<br />

x i (t + 1)<br />

if f (x i (t + 1)) ≥ f (y i (t))<br />

if f (x i (t + 1)) < f (y i (t))<br />

mit f : R n x<br />

→ R als Fitnessfunktion. Analog für Maximierungsprobleme.<br />

Die global beste Position, ŷ(t), ist def<strong>in</strong>iert als<br />

ŷ(t) ∈ {y 0 (t), · · · , y ns (t)}| f (ŷ(t)) = m<strong>in</strong>{ f (y 0 (t)), · · · , f (y ns (t))}<br />

mit n s als Anzahl der Partikel im gesamten Schwarm.<br />

Local best PSO Der lbest PSO Algorithmus bestimmt den Geschw<strong>in</strong>digkeitsvektor wie<br />

folgt:<br />

v ij (t + 1) = v ij (t) + c 1 r 1j (t)[y ij (t) − x ij (t)] + c 2 r 2j (t)[ŷ ij (t) − x ij (t)] (3.2)<br />

Der Unterschied zum global best Verfahren ist, dass ŷ ij die beste Position <strong>in</strong> der lokalen Nachbarschaft<br />

um Partikel i bestimmt <strong>und</strong> nicht das bisher entdeckte globale Optimum des kompletten<br />

Schwarms darstellt. Formell ausgedrückt wird das lokale Optimum ŷ i <strong>in</strong> der Nachbarschaft<br />

N i def<strong>in</strong>iert als<br />

ŷ i (t + 1) ∈ {N i | f (ŷ i (t + 1)) = m<strong>in</strong>{ f (x)}, ∀x ∈ N i },<br />

36


3.2 Particle Swarm Optimization<br />

Abbildung 3.12: Zwei exemplarische soziale Netze <strong>in</strong> Schwärmen. L<strong>in</strong>ks R<strong>in</strong>g, rechts Stern.<br />

mit der Nachbarschaft def<strong>in</strong>iert als<br />

N i = {y i−nNi (t), y i−nNi +1(t), · · · , y i−1(t) (t), y i (t), y i+1 (t), · · · , y i+nNi (t)}<br />

für Nachbarschaften der Größe n. Die persönlich beste Position wird wie beim global best PSO<br />

bestimmt.<br />

Untersuchungen der Partikelflugbahnen des bisher vorgestellten, klassischen PSO haben gezeigt,<br />

dass dieser nicht immer zum globalen Optimum konvergiert [23]. Daher wurden e<strong>in</strong>e<br />

Reihe von Erweiterungen vorgeschlagen, die e<strong>in</strong>e schnellere <strong>und</strong> zuverlässigere Konvergenz<br />

sicherstellen sollen.<br />

Velocity Clamp<strong>in</strong>g E<strong>in</strong> wichtiger Aspekt e<strong>in</strong>es Optimierungsalgorithmus ist der Kompromiss<br />

zwischen Exploration <strong>und</strong> Exploitation des Suchraums. Exploration ist die weitläufige<br />

Suche im gesamten Raum, während Exploitation die genauere lokale Suche beschreibt. Für<br />

e<strong>in</strong>en erfolgreichen Optimierungsalgorithmus sollte beides ungefähr gleichmäßig vorhanden<br />

se<strong>in</strong> [23].<br />

Wenn <strong>in</strong> den Gleichungen 3.2 <strong>und</strong> 3.1 die Geschw<strong>in</strong>digkeitsvektoren berechnet werden,<br />

kann es vorkommen, dass vor allem für weit außerhalb der lokalen <strong>und</strong> globalen Optima<br />

des Schwarms liegende Partikel e<strong>in</strong> sehr großes Positionsupdate berechnet wird. Das hat die<br />

Folge, das Partikel aus dem Suchraum heraus fliegen. Dieses Verhalten kann man verh<strong>in</strong>dern,<br />

<strong>in</strong>dem man e<strong>in</strong>e Schranke V max für die maximale Positionsänderung e<strong>in</strong>führt:<br />

v i (t + 1) =<br />

{<br />

v i (t + 1)<br />

if v i (t + 1) < V max<br />

V max if v i (t + 1) ≥ V max<br />

37


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

x 2<br />

v 2 (t + 1)<br />

x i (t + 1)<br />

x<br />

i ′ (t + 1)<br />

v<br />

2 ′ (t + 1)<br />

v 1 (t + 1)<br />

x i (t)<br />

Velocityupdate<br />

Positionsupdate<br />

x 1<br />

Abbildung 3.13: Die Veränderung der Richtung durch Velocity Clamp<strong>in</strong>g.<br />

Die Wahl e<strong>in</strong>es korrekten Wertes für V max ist sehr wichtig. Große Werte für V max erlauben<br />

Exploration, jedoch mit der Gefahr, dass gute Lösungen überflogen werden. Zu kle<strong>in</strong>e Werte<br />

für V max führen zu lokaler Exploitation, jedoch wird der Schwarm womöglich <strong>in</strong> lokalen<br />

Optima hängen bleiben bzw. nur auf e<strong>in</strong>em sehr kle<strong>in</strong>en Bereich des Suchraums arbeiten.<br />

E<strong>in</strong>e gute Wahl für V max ist daher sehr wichtig. In der Regel wird der Wert auf e<strong>in</strong>en Bruchteil<br />

des Wertebereichs des Suchraums gesetzt:<br />

V max = γ(x max − x m<strong>in</strong> )<br />

mit x max <strong>und</strong> x m<strong>in</strong> als maximaler bzw. m<strong>in</strong>imaler Wert des Problemraums <strong>und</strong> γ ∈ (0, 1]. Der<br />

Wert für γ ist problemspezifisch <strong>und</strong> kann beispielsweise per Kreuzvalidierung gef<strong>und</strong>en<br />

werden. Für e<strong>in</strong>e geometrische Darstellung <strong>in</strong> zwei Dimensionen siehe Abbildung 3.13.<br />

Trägheitsgewicht Shi <strong>und</strong> Eberhart [21] schlagen e<strong>in</strong>e Erweiterung vor, mit der die Exploration<br />

<strong>und</strong> Exploitation kontrolliert werden kann <strong>und</strong> welche zusätzlich die Verwendung von<br />

Velocity Clamp<strong>in</strong>g obsolet machen soll. Ersteres konnte gezeigt werden, letzteres jedoch nicht.<br />

Die Erweiterung führt Trägheitsgewichte (<strong>in</strong>ertia weights) e<strong>in</strong>, die den E<strong>in</strong>fluss des vorherigen<br />

Geschw<strong>in</strong>digkeitsvektors gewichtet <strong>und</strong> somit E<strong>in</strong>fluss darauf nimmt, wie viel Information<br />

38


3.3 Invasive Weed Optimization<br />

aus der bisherigen Flugrichtung <strong>in</strong> den neuen Geschw<strong>in</strong>digkeitsvektor e<strong>in</strong>geht:<br />

v ij (t + 1) = wv ij (t) + c 1 r 1j (t)[y ij (t) − x ij (t)] + c 2 r 2j (t)[ŷ j (t) − x ij (t)] (3.3)<br />

mit w als Trägheitsgewicht. Die Wahl dieses Gewichts ist sehr wichtig für die Konvergenz des<br />

Schwarms <strong>und</strong> regelt das Verhältnis zwischen Exploration <strong>und</strong> Exploitation, ähnlich V max bei<br />

velocity clamp<strong>in</strong>g. Wird w ≥ 1 gewählt, beschleunigen die Partikel mit jeder Generation bis die<br />

maximale Geschw<strong>in</strong>digkeit erreicht ist. Dies führt zu Exploration. Für w < 1 verr<strong>in</strong>gern die<br />

Partikel ihre Geschw<strong>in</strong>digkeit Schritt für Schritt <strong>und</strong> erlauben damit Exploitation.<br />

Multi-start PSO Engelbrecht [23] bespricht e<strong>in</strong>e Erweiterung des PSO, das verh<strong>in</strong>dern soll,<br />

dass die Partikel <strong>in</strong> e<strong>in</strong>em Schwarm zu früh an e<strong>in</strong>em bestimmten Punkt im Problemraum<br />

hängen bleiben <strong>und</strong> sich nicht mehr von diesem lösen können, selbst wenn dieser Punkt ke<strong>in</strong><br />

globales oder gar lokales Optimum darstellt. Die Erweiterung <strong>in</strong>itialisiert Partikel zufällig<br />

neu <strong>und</strong> bewirkt damit, dass weiterh<strong>in</strong> Bereiche im Problemraum untersucht werden, selbst<br />

wenn e<strong>in</strong> Großteil der Partikel <strong>in</strong> e<strong>in</strong>er anderen Region konvergiert s<strong>in</strong>d.<br />

Es stellt sich die Frage, wie man diese Partikel neu setzen sollte. Es können entweder die Positionsvektoren<br />

der Partikel neu gesetzt werden <strong>und</strong>/oder die Richtungsvektoren. Im ersten<br />

Fall werden die Partikel <strong>in</strong> zufällige neue Bereiche gesetzt <strong>und</strong> führen dort ihre Suche fort. Im<br />

zweiten Fall wird die aktuelle <strong>und</strong> die persönlich beste Position des Partikels behalten <strong>und</strong><br />

nur die Richtung neu gesetzt, <strong>in</strong> die sich e<strong>in</strong> Partikel bewegt. Wenn <strong>in</strong> dieser Richtung ke<strong>in</strong>e<br />

bessere Lösung gef<strong>und</strong>en werden kann, bewegt sich der Partikel wieder zurück <strong>in</strong> Richtung<br />

der alten besten Lösung. Welche der beiden Varianten e<strong>in</strong>gesetzt wird, muss entsprechend<br />

des zugr<strong>und</strong>e liegenden Problems <strong>und</strong> der Charakteristika des Lösungsraums entschieden<br />

werden.<br />

Es muss entschieden werden, wann e<strong>in</strong> Partikel neu gesetzt wird. Wenn dies zu früh geschieht,<br />

hatte der Partikel mit hoher Wahrsche<strong>in</strong>lichkeit ke<strong>in</strong>e Möglichkeit die Nachbarschaft<br />

im Detail zu untersuchen. Wenn zu lange gewartet wird, ist das Partikel wahrsche<strong>in</strong>lich schon<br />

an e<strong>in</strong>er Stelle konvergiert. Engelbrecht [23] schlägt verschiedene Strategien zur Wahl des besten<br />

Zielpunkts vor.<br />

Zuletzt muss die Frage beantwortet werden, welche Partikel aus dem Schwarm neu gesetzt<br />

werden. Engelbrecht [23] schlägt entweder probabilistische Methoden vor, die e<strong>in</strong> Partikel mit<br />

e<strong>in</strong>er gewissen Wahrsche<strong>in</strong>lichkeit neu setzten, oder Methoden basierend auf der Konvergenz<br />

von Partikeln, die bestimmte Kriterien der Konvergenz verwenden, z.B. ke<strong>in</strong>e Veränderung<br />

der Fitness <strong>in</strong> τ-vielen Iterationen, um zu entscheiden, ob e<strong>in</strong> Partikel neu gesetzt werden<br />

kann.<br />

3.3 Invasive Weed Optimization<br />

Die Gr<strong>und</strong>idee des Invasive Weed Optimization-Algorithmus [51] ist, dass e<strong>in</strong>e Pflanze (gleichbedeutend<br />

mit e<strong>in</strong>er möglichen Lösung) <strong>in</strong> e<strong>in</strong>em mehrdimensionalen Raum entsprechend<br />

39


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

ihrer Fitness neue Pflanzensamen zufällig <strong>in</strong> ihrer direkten Umgebung ablegt. Je fitter e<strong>in</strong>e<br />

Pflanze ist, desto mehr Samen darf sie <strong>in</strong> ihrer direkten Umgebung ablegen. Der umliegende<br />

Bereich e<strong>in</strong>er Pflanze wird zu Beg<strong>in</strong>n des Verfahrens zuerst groß gewählt <strong>und</strong> verkle<strong>in</strong>ert<br />

sich mit jeder Iteration, so dass von e<strong>in</strong>er weitläufigen Suche mehr <strong>und</strong> mehr zu e<strong>in</strong>er lokalen<br />

Suche übergegangen wird. Wenn die maximale Anzahl der Pflanzen <strong>in</strong> der Population<br />

überschritten wird, werden nur die besten Pflanzen <strong>in</strong> die nächste Generation übernommen.<br />

Algorithmus<br />

1. Im ersten Schritt wird e<strong>in</strong>e endliche Anzahl an Pflanzensamen im Problemraum zufällig<br />

verteilt <strong>und</strong> per Fitnessfunktion evaluiert.<br />

2. Anschließend generiert jede Pflanze gemäß ihrer Fitness neue Samen <strong>und</strong> verteilt diese<br />

<strong>in</strong> ihrer direkten Umgebung.<br />

Die Anzahl der zu produzierenden Samen s wird über e<strong>in</strong>e l<strong>in</strong>eare Funktion def<strong>in</strong>iert,<br />

siehe auch Abbildung 3.15, <strong>in</strong> die die Fitness der entsprechenden Vaterpflanze <strong>und</strong> die<br />

m<strong>in</strong>imale sowie die maximale Fitness der gesamten Population e<strong>in</strong>geht:<br />

s =<br />

f p − f max<br />

f m<strong>in</strong> − f max<br />

s max +<br />

f p − f m<strong>in</strong><br />

f max − f m<strong>in</strong><br />

s m<strong>in</strong><br />

mit s max als maximale <strong>und</strong> s m<strong>in</strong> als m<strong>in</strong>imale Anzahl Samen pro Pflanze, f p als aktuelle<br />

Fitness der Pflanze, f max <strong>und</strong> f m<strong>in</strong> als maximale bzw. m<strong>in</strong>imale Fitness der gesamten<br />

Population zu diesem Zeitpunkt, wobei hier e<strong>in</strong>e niedrigere Fitness e<strong>in</strong>e bessere Lösung<br />

darstellt (M<strong>in</strong>imierungsproblem).<br />

Diese besondere Eigenschaft ermöglicht es, dass auch Pflanzen mit niedriger Fitness Nachkommen<br />

erzeugen können (falls die m<strong>in</strong>imale Anzahl an Samen > 0 ist). In klassischen<br />

<strong>evolutionäre</strong>n <strong>Algorithmen</strong> ist dies oft nicht erlaubt. Es ist aber durchaus möglich, dass<br />

zuerst schlechte Lösungen eigentlich e<strong>in</strong>e sehr gute Lösung <strong>in</strong> sich tragen, die erst durch<br />

e<strong>in</strong>e kle<strong>in</strong>e Veränderung (z.B. per Mutation) zum Vorsche<strong>in</strong> kommt. Weiterh<strong>in</strong> ist es oft<br />

nötig, dass Lösungen auch schlechte Gebiete der Fitnesslandschaft durchlaufen, um bessere<br />

Gebiete zu f<strong>in</strong>den. Wenn Lösungen, die sich momentan <strong>in</strong> solchen Tälern bef<strong>in</strong>den,<br />

nicht überleben können, können gute Lösungen durchaus gar nicht erreicht werden.<br />

3. Für die räumliche Verteilung der Samen um e<strong>in</strong>e Pflanze werden für jede Dimension<br />

zufällige Werte aus e<strong>in</strong>er Normalverteilung mit Erwartungswert 0 <strong>und</strong> variierender<br />

Standardabweichung gezogen. Die Samen platzieren sich dadurch <strong>in</strong> der direkten Umgebung<br />

der Pflanze, man kann den Erwartungswert 0 als Mittelpunkt der räumlichen<br />

Samenverteilung ansehen. Die variierende Standardabweichung wird dabei von e<strong>in</strong>em<br />

hohen Wert (= breite Normalverteilung) Generation für Generation zu e<strong>in</strong>em kle<strong>in</strong>en<br />

Wert (= schmale Normalverteilung) verr<strong>in</strong>gert, so dass e<strong>in</strong>e zuerst weitläufige Verteilung<br />

der Samen zu e<strong>in</strong>er lokalen Verteilung der Samen führt, siehe Abbildung 3.14. Die<br />

folgende Formel gibt die Berechnung der Standardabweichung σ für Iteration (gleich-<br />

40


3.3 Invasive Weed Optimization<br />

bedeutend mit e<strong>in</strong>er Generation) iter an:<br />

σ iter = (iter max − iter) n<br />

(iter max ) 2 (σ <strong>in</strong>itial − σ f <strong>in</strong>al ) + σ f <strong>in</strong>al<br />

mit iter max als maximale Anzahl der Iterationen, σ <strong>in</strong>itial als Standardabweichung zu Beg<strong>in</strong>n,<br />

σ f <strong>in</strong>al als Standardabweichung am Ende <strong>und</strong> σ iter als Standardabweichung zum<br />

aktuellen Zeitpunkt. n bestimmt den nicht-l<strong>in</strong>earen Modulations<strong>in</strong>dex.<br />

4. Im letzten Schritt des Algorithmus muss die Anzahl der Pflanzen <strong>in</strong> der Population<br />

beschränkt werden. Sobald die vorab def<strong>in</strong>ierte maximale Anzahl der Pflanzen erreicht<br />

ist, werden alle Vaterpflanzen <strong>und</strong> deren evaluierte Samen nach Fitness sortiert <strong>und</strong> nur<br />

die besten p max -vielen Pflanzen oder Samen <strong>in</strong> die nächste Generation übernommen.<br />

Auf diesem Weg werden die besten Lösungen übernommen, egal ob es Pflanzen aus<br />

der vorherigen Generation s<strong>in</strong>d die Samen abgelegt haben, oder es sich um Samen<br />

der aktuellen Generation handelt. Auf diese Weise wird immer <strong>in</strong> den Regionen des<br />

Lösungsraum gesucht, <strong>in</strong> denen die bisher besten Lösungen gef<strong>und</strong>en wurden.<br />

Abbildung 3.14: Anpassung der Normalverteilung für die Wahl der Zufallszahlen. Die Standardabweichung<br />

wird mit jeder Generation der Population verr<strong>in</strong>gert.<br />

max. Anzahl der Samen<br />

Anzahl der Samen dieser Pflanze<br />

m<strong>in</strong>. Anzahl der Samen<br />

m<strong>in</strong>. Fitness <strong>in</strong> der Population<br />

Fitness dieser Pflanze<br />

max. Fitness <strong>in</strong> der Population<br />

Abbildung 3.15: Funktion für die Anzahl der zu produzierenden Samen e<strong>in</strong>er Pflanze.<br />

Das IWO Verfahren bietet sich an, wenn die zu optimierende Funktion viele lokale Optima<br />

besitzt, wie die Evaluation der Autoren <strong>in</strong> [51] gezeigt hat. Dort wurden drei Testfunktionen<br />

41


3 <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong><br />

Symbol Beschreibung Wert<br />

N 0 Anzahl der Pflanzen zu Beg<strong>in</strong>n 10<br />

iter max Maximale Anzahl Iterationen 500<br />

dim Dimensionen des Problems 22<br />

p max Maximale Anzahl an Pflanzen 30<br />

s max Maximale Anzahl an Samen/Pflanze 5<br />

s m<strong>in</strong> M<strong>in</strong>imale Anzahl pro Samen/Pflanzen 0<br />

n Nichtl<strong>in</strong>earer Modulations<strong>in</strong>dex 3<br />

σ <strong>in</strong>it Initialer Wert der Standardabweichung 10<br />

σ <strong>in</strong>it F<strong>in</strong>aler Wert der Standardabweichung 0.02<br />

Tabelle 3.5: Empirisch bestimmte Parameter für die Griewank- <strong>und</strong> Rastrig<strong>in</strong>funktionen.<br />

untersucht, bei denen der IWO Algorithmus jeweils mit die besten Lösungen gef<strong>und</strong>en hat.<br />

Nur e<strong>in</strong> memetischer Algorithmus liefert für gewisse Parameter teilweise bessere Lösungen.<br />

Die Testfunktionen, namentlich Sphere, Griewank <strong>und</strong> Rastrig<strong>in</strong>, s<strong>in</strong>d M<strong>in</strong>imierungsprobleme<br />

<strong>und</strong> s<strong>in</strong>d wie folgt def<strong>in</strong>iert:<br />

f (x) = 1<br />

4000<br />

f (x) =<br />

n<br />

∑<br />

i=1<br />

f (x) =<br />

n<br />

∑<br />

i=1<br />

x 2 i −<br />

n<br />

∑ xi 2 (3.4)<br />

i=1<br />

n<br />

( )<br />

xi<br />

cos √ + 1 (3.5)<br />

i<br />

∏<br />

i=1<br />

(x 2 i − 10 cos(2πx i ) + 10) (3.6)<br />

Diese Funktionen s<strong>in</strong>d beliebte Benchmarks für Funktionsoptimierer <strong>und</strong> werden oft für die<br />

Evaluation von <strong>evolutionäre</strong>n <strong>Algorithmen</strong> verwendet.<br />

Für die Griewank- <strong>und</strong> Rastrig<strong>in</strong>funktion haben sich laut [51] die Parameter <strong>in</strong> Tabelle 3.5<br />

bewährt <strong>und</strong> lieferten die besten Lösungen für die jeweiligen Funktionen. Diese Parameter<br />

werden im späteren Kapitel 4.7 für die Implementierung des IWO-Algorithmus <strong>in</strong> e<strong>in</strong>em<br />

Recommender als Basis verwendet. Für e<strong>in</strong>e weitere Untersuchung des Verfahrens siehe dort.<br />

42


4 Recommender mit <strong>Schwarm<strong>in</strong>telligenz</strong> <strong>und</strong><br />

<strong>evolutionäre</strong>n <strong>Algorithmen</strong><br />

4.1 Idee <strong>und</strong> Motivation<br />

Schwarm- <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> s<strong>in</strong>d metaheuristische Methoden um Funktionen<br />

zu optimieren. Sie werden erfolgreich e<strong>in</strong>gesetzt, wenn nicht nach der e<strong>in</strong>en besten Lösung<br />

gesucht wird, sondern nur nach e<strong>in</strong>er h<strong>in</strong>reichend guten Lösung <strong>in</strong> jedoch vergleichsweise<br />

annehmbarer Zeit [22]. Damit ist es möglich e<strong>in</strong>e Lösung zu f<strong>in</strong>den, die zwar beispielsweise<br />

nur 80% der Güte der bestmöglichsten Lösung entspricht, jedoch <strong>in</strong> 10% der Zeit gef<strong>und</strong>en<br />

werden kann. Wenn diese Beschränkung für das zugr<strong>und</strong>e liegende Problem funktioniert <strong>und</strong><br />

man mit nicht ganz optimalen Lösungen arbeiten kann, s<strong>in</strong>d diese Methoden e<strong>in</strong>e gute Wahl<br />

zur Optimierung von Funktionen.<br />

In Recommendersystemen werden für den aktiven Benutzer passende Empfehlungen für<br />

Items gesucht. Diese Bewertungen werden berechnet, <strong>in</strong>dem e<strong>in</strong>e möglichst ähnliche Gruppe<br />

von anderen Benutzern gef<strong>und</strong>en wird, die ihren Geschmack mit dem des aktiven Benutzers<br />

teilen. Die Suche nach solch e<strong>in</strong>er Nachbarschaft kann mittels e<strong>in</strong>em k-nearest-neighbor-<br />

Verfahren erfolgen, das zur Bestimmung der Ähnlichkeit zweier Benutzer e<strong>in</strong> vorher def<strong>in</strong>iertes<br />

Abstandsmaß verwendet, beispielsweise die Pearson-Korrelation oder e<strong>in</strong>e M<strong>in</strong>kowski-<br />

Metrik (Euklidische Metrik, Manhattan-Metrik, etc.). Wenn dieses Abstandsmaß, das die Profile<br />

(Charakteristiken) zweier Benutzer mite<strong>in</strong>ander vergleicht, mit zusätzlichen Faktoren gewichtet<br />

wird, können für den aktiven Benutzer eventuell ähnlichere Benutzer gef<strong>und</strong>en werden,<br />

als es dies ohne Gewichte der Fall wäre. Dabei werden die für den aktiven Nutzer<br />

bevorzugten Eigenschaften (<strong>in</strong> e<strong>in</strong>em Filmkontext z.B. Alter, Beruf, Genres der Filme) stärker<br />

gewichtet <strong>und</strong> somit e<strong>in</strong>e persönlichere Auswahl der Nachbarschaft getroffen.<br />

Die Optimierung dieser Gewichte kann mit e<strong>in</strong>em <strong>evolutionäre</strong>n oder schwarmbasierten Optimierungsalgorithmus<br />

vorgenommen werden, <strong>in</strong>dem das gesamte Recommendersystem als<br />

Fitnessfunktion verwendet wird. Dabei spielt die Eigenschaft der nicht optimalen Lösungen,<br />

welche jedoch <strong>in</strong> angemessener Zeit berechenbar ist, e<strong>in</strong>e wichtige Rolle. E<strong>in</strong>e Suche nach<br />

dem e<strong>in</strong>en besten Gewicht ist aus zeitlichen Gründen oft nicht möglich. In Recommendersystemen<br />

mit vielen tausenden Benutzern <strong>und</strong> Produkten ist die Berechnung der Nachbarschaft<br />

sehr aufwendig <strong>und</strong> kann nicht für jeden Benutzer so oft wiederholt werden, bis das optimale<br />

Gewicht gef<strong>und</strong>en ist. Schwarm- <strong>und</strong> <strong>evolutionäre</strong> <strong>Algorithmen</strong> zur Optimierung von<br />

Funktionen können hier e<strong>in</strong>gesetzt werden, um die Schätzung von Empfehlungen an e<strong>in</strong>en<br />

Benutzer zu verbessern, ohne zeitliche Beschränkungen zu überschreiten.<br />

43


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

Klassische kollaborative Recommendersysteme betrachten nur die Bewertungen der Nutzer<br />

für Items. Weitere Informationen über die Nutzer <strong>und</strong> Items, wie zum Beispiel demografische<br />

Werte oder Beschreibungen der Items durch Genres, werden nicht <strong>in</strong> die Berechnung<br />

der Empfehlungen mit e<strong>in</strong>bezogen. Durch die Berücksichtigung solcher Daten könnte e<strong>in</strong><br />

Recommendersystem persönlichere Empfehlungen abgeben, da es neben den re<strong>in</strong>en Bewertungen<br />

auf Items auch die Charakterisierung des Nutzer kennt. Wenn diese Charakterzüge<br />

noch zusätzlich gewichtet werden, könnte es möglich se<strong>in</strong>, noch passendere Empfehlung zu<br />

erstellen.<br />

4.2 Ziel der vorgestellten Verfahren<br />

Ziel dieses Arbeit <strong>und</strong> der dar<strong>in</strong> vorgestellten <strong>und</strong> erweiterten Verfahren ist die Verbesserung<br />

der Empfehlungsqualität e<strong>in</strong>es kollaborativen Recommendersystems, die Untersuchung des<br />

durch den Datensatz <strong>und</strong> das Optimierungsverfahren entstehende Fitnesslandschaft sowie<br />

e<strong>in</strong>e mögliche Verbesserung der Optimierungsverfahren durch zusätzliche <strong>in</strong> der Literatur<br />

vorgeschlagene Erweiterungen.<br />

Das hier besprochenen Verfahren sowie die Metriken zur Evaluation der <strong>Algorithmen</strong> betrachten<br />

immer alle bewerteten <strong>und</strong> unbewerteten Items des aktiven Benutzers <strong>und</strong> misst die<br />

Abweichungen aller Items, auch die der niedrigen Bewertungen. Es soll das gr<strong>und</strong>legende<br />

Modell e<strong>in</strong>es Recommendersystems im Zusammenspiel mit Optimierungsverfahren betrachtet<br />

werden <strong>und</strong> diese den praxistypischen Überlegungen vorziehen. E<strong>in</strong> Top-N Recommender<br />

ist beispielsweise nur daran <strong>in</strong>teressiert, die die besten N Empfehlungen möglichst genau<br />

vorauszusagen. Er kann sich dabei größere Fehler bei irrelevanten Empfehlungen (e<strong>in</strong>e zu<br />

niedrige Bewertung) leisten.<br />

Es wird von dieser Arbeit die Hypothese aufgestellt, dass die <strong>in</strong> e<strong>in</strong>em Recommendersystem<br />

verwendeten Datensätze (Tupel aus <strong>und</strong> weiteren Eigenschaften<br />

von Items <strong>und</strong> Benutzern) e<strong>in</strong>e sehr multimodale Fitnesslandschaft ergeben. Durch die<br />

große Anzahl an Benutzer, die sehr ähnlich oder unähnlich zu e<strong>in</strong>ander se<strong>in</strong> können, <strong>und</strong> die<br />

teilweise sehr unterschiedlich bewerteten Items, ist <strong>in</strong> den ersten Untersuchungen des Verfahrens<br />

diese Vermutung gewachsen. Es konnte <strong>in</strong> den ersten Testläufen ke<strong>in</strong> festes Gewicht<br />

für e<strong>in</strong>en Benutzer gef<strong>und</strong>en werden. Es ergeben sich für mehrere unabhängig durchgeführte<br />

Läufe jeweils unterschiedliche Gewichtsvektoren. Diese Eigenschaft muss von den e<strong>in</strong>gesetzten<br />

Optimierungsalgorithmen beachtet werden, um nicht verfrüht <strong>in</strong> e<strong>in</strong>em lokalen Optimum<br />

hängen zu bleiben.<br />

E<strong>in</strong>e solche Situation kann auftreten, wenn die verwendete Fitnessfunktion das zugr<strong>und</strong>e liegende<br />

Problem nicht komplett spezifiziert [23]. Dies ist <strong>in</strong> Recommendersystemen der Fall,<br />

da die Fitnessfunktion nur die Abweichung der geschätzten von den tatsächlichen Bewertungen<br />

wiedergibt <strong>und</strong> diese Abweichung (vermutlich) nicht auf e<strong>in</strong>en theoretisch möglichen<br />

M<strong>in</strong>imalwert von 0 reduziert werden kann.<br />

44


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


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


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

2. Schritt Im nächsten Schritt müssen die ähnlichsten Benutzer (die Nachbarschaft) zum aktiven<br />

Benutzer a bestimmt werden. Hierfür muss zuerst festgelegt werden, welche Benutzer<br />

<strong>in</strong> dieser Suche verwendet werden. Es ist oft der Fall, dass aus Performanzgründen nur e<strong>in</strong>e<br />

Teilmenge zufällig gezogener Benutzer <strong>in</strong> die Nachbarschaftsberechnung e<strong>in</strong>geht. In dieser<br />

Arbeit werden alle Benutzer des Datensatzes verwendet, die Parallelisierung der Implementierung<br />

macht dies möglich.<br />

Nun folgt die Bestimmung der Nachbarschaft zum aktiven Benutzer a. Die meisten der bestehenden<br />

Recommendersysteme [31] verwenden für diese Berechnung nur die abgegebenen<br />

Bewertungen der Benutzer. Es ist im “echten Leben” aber häufig der Fall, das zwei Personen<br />

nicht nur deshalb ähnlich s<strong>in</strong>d, weil sie bestimmte Items, z.B. Filme, gleich bewertet haben.<br />

Oft s<strong>in</strong>d auch demografische Eigenschaften wie Alter, Geschlecht oder Beruf von Bedeutung.<br />

Beispielsweise könnte e<strong>in</strong> Benutzer viel mehr Wert darauf legen, was gleichaltrige K<strong>in</strong>ogänger<br />

von e<strong>in</strong>em Film halten. Diese Präferenzen versucht das vorgeschlagene Verfahren e<strong>in</strong>zufangen<br />

<strong>und</strong> <strong>in</strong> die Nachbarschaftsbestimmung mit aufzunehmen. Für diese Überlegung wird<br />

mit dem PSO Algorithmus e<strong>in</strong> Gewichtsvektor bestimmt, der jedes Feature im Profil e<strong>in</strong>es<br />

Benutzers gewichtet, siehe Abbildung 4.2, um damit die Nachbarschaftsbestimmung persönlicher<br />

zu gestalten. Der Gewichtsvektor wird dabei wie folgt bestimmt: Der PSO generiert<br />

w 1 w 2 w 3 w 4 ...<br />

w 22<br />

Abbildung 4.2: Der Gewichtsvektor für den aktiven User. Jedes der 22 Gewichte bee<strong>in</strong>flusst<br />

die entsprechende Präferenz.<br />

n-viele zufällige 22-dimensionale Partikel <strong>und</strong> verwendet als Fitnessfunktion den gesamten<br />

Recommenderprozess. Je besser der Recommender mit e<strong>in</strong>em gegebenen Partikel bzw. Gewicht<br />

abläuft, desto besser ist dieser Gewichtsvektor für den aktiven Benutzer geeignet. Die<br />

Details des hier verwendeten PSO Algorithmus werden im späteren Verlauf dieses Abschnitts<br />

erläutert.<br />

Der Recommenderprozess verwendet anschließend den Partikel bzw. Gewichtsvektor mit der<br />

höchsten Fitness <strong>in</strong> der Ähnlichkeitsbestimmung zweier Benutzer, genauer <strong>in</strong> der Berechnung<br />

des euklidischen Abstands zwischen zwei Benutzerprofilen:<br />

√<br />

sim(a, u) =<br />

√ ∑<br />

û∈Û<br />

22<br />

∑ w f · diff u, f<br />

(a, u) 2 (4.1)<br />

f =1<br />

mit diff i, f<br />

(a, u) als Differenz der Profilvektoren von User a <strong>und</strong> u für Feature f bei Item i <strong>und</strong><br />

z als Anzahl der Filme, die beide Benutzer bisher bewertet haben. Dabei ist der Unterschied<br />

für das Feature Beruf gleich 0, wenn die beiden Benutzer denselben Beruf haben, <strong>und</strong> gleich<br />

1 sonst.<br />

47


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

Sobald die Nachbarschaft Û bestimmt ist, kann aus dieser Menge die Bewertung für e<strong>in</strong> Item<br />

i bestimmt werden, dass der aktive Benutzer a noch nicht bewertet hat.<br />

r ai = ¯r a + k ∑ sim(a, û) × (rûi − ¯rû) (4.2)<br />

û∈Û<br />

mit r ai als geschätztes Rat<strong>in</strong>g für User a auf Item i. Die Berechnung wurde von Breese et al.<br />

[29] übernommen <strong>und</strong> verwendet als Gewicht die eben bestimmten euklidischen Abstände<br />

(<strong>und</strong> damit auch den Gewichtsvektor), siehe dazu auch Formel 2.4 <strong>in</strong> Abschnitt 2.5.1 für den<br />

allgeme<strong>in</strong>en Fall ohne PSO Gewichte.<br />

Details zum verwendeten PSO Ujj<strong>in</strong> <strong>und</strong> Bentley [75] verwenden e<strong>in</strong>en global best PSO<br />

Algorithmus mit Velocity Clamp<strong>in</strong>g, für Details siehe die ausführliche Beschreibung <strong>in</strong> Kapitel<br />

3.2. Die Partikel bewegen sich <strong>in</strong> e<strong>in</strong>em 22-dimensionalen Raum, der den 22 Features <strong>in</strong><br />

den Profilen entspricht. Die Positionswerte der Partikel bei der Initialisierung e<strong>in</strong>er Dimension<br />

liegen zwischen 0 <strong>und</strong> 255.<br />

Die Fitnessfunktion für die Bewertung der Position e<strong>in</strong>es Partikels ist sehr rechen<strong>in</strong>tensiv.<br />

Jede Positionsänderung e<strong>in</strong>es Partikels wird im PSO per Fitnessfunktion neu bewertet. Die<br />

Position e<strong>in</strong>es Partikels wird dabei <strong>in</strong> e<strong>in</strong>en Gewichtsvektor umgeschrieben (siehe unten) <strong>und</strong><br />

damit das komplette Recommendersystem für diesen e<strong>in</strong>en festgehaltenen Gewichtsvektor<br />

neu gestartet. Die Fitness, also die qualitative Güte e<strong>in</strong>es Partikels, wird als mittlere absolute<br />

Abweichung (MAE, siehe Abschnitt 5.2.2) zwischen dem geschätzten <strong>und</strong> dem von diesem<br />

Benutzer wirklich abgegebenen Rat<strong>in</strong>g bestimmt. Dafür wird der Datensatz <strong>in</strong> Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong><br />

Testdatensatz aufgeteilt. Auf dem Tra<strong>in</strong><strong>in</strong>gsdatensatz wird das Gewicht für die Abstandsbestimmung<br />

berechnet. Anschließend werden für alle bewerteten Items des aktiven Benutzers<br />

im Testdatensatz (se<strong>in</strong>e realen Bewertungen) die Bewertungen geschätzt <strong>und</strong> mit den<br />

tatsächlich abgegebenen Bewertungen verglichen. Der Mittelwert aller Abweichungen von<br />

geschätzten zu echten Bewertungen ergibt die Fitness e<strong>in</strong>es Gewichtsvektors bzw. dessen zugeordneten<br />

Partikels. E<strong>in</strong>e hohe Abweichung der geschätzten Bewertungen von den echten<br />

Bewertungen entspricht e<strong>in</strong>er niedrigen Fitness, e<strong>in</strong>e kle<strong>in</strong>e Abweichung e<strong>in</strong>er hohen Fitness.<br />

Um aus e<strong>in</strong>em Positionsvektor e<strong>in</strong>es Partikels e<strong>in</strong> für den Recommender nutzbares Gewicht<br />

zu erzeugen, muss dieser zuerst normiert werden. Zusätzlich werden die 18 Genre-Features<br />

reduziert, da man diese Features als e<strong>in</strong> großes Feature mit 18 Kategorien deuten kann. Damit<br />

gibt man den ersten vier unabhängigen Features e<strong>in</strong>e bessere Chance genutzt zu werden. Ujj<strong>in</strong><br />

et al. verwenden <strong>in</strong> [75] e<strong>in</strong>e Reduzierung auf 25% des Orig<strong>in</strong>alwerts.<br />

Details zu Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz für das PSOREC Verfahren Bei der Aufteilung <strong>in</strong><br />

Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz <strong>in</strong> diesem Verfahren muss darauf h<strong>in</strong>gewiesen werden, dass die<br />

e<strong>in</strong>zelnen Testdatensätze (5 Stück, disjunkt zue<strong>in</strong>ander, Aufteilung 80/20) für jeden Benutzer<br />

m<strong>in</strong>destens e<strong>in</strong> Datensample der Form 〈User, Item, Rat<strong>in</strong>g〉 enthält. Für genau diese Items<br />

werden vom Algorithmus die Bewertungen geschätzt <strong>und</strong> mit den echten Bewertungen im<br />

Testdatensatz per MAE verglichen. Das Resultat ist der Fitnesswert des jeweiligen Partikel.<br />

48


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


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

Erberhart et al. [21] schlägt e<strong>in</strong>e schrittweise l<strong>in</strong>eare Verr<strong>in</strong>gerung von 0.9 nach 0.4 für w vor,<br />

die folgendermaßen umgesetzt werden kann:<br />

w(t) = (w(0) − w(n t )) (n t − t)<br />

n t<br />

+ w(n t ) (4.3)<br />

mit n t als Gesamtanzahl der Iterationen des entsprechenden Laufs, w(0) als Startwert <strong>und</strong><br />

w(n t ) als Endwert für w.<br />

E<strong>in</strong>e weitere Möglichkeit ist die zufällige Anpassung von w. Entweder wird w aus e<strong>in</strong>er<br />

Gauss’schen Normalverteilung N(0.72, σ) gezogen, mit σ kle<strong>in</strong> genug das w deutlich größer<br />

1 ist. Der Erwartungswert von 0.72 entspricht dem Vorschlag von Clerc [16], mehr dazu im<br />

weiteren Verlauf dieses Abschnitts. Oder w wird über die Zufallszahlen <strong>und</strong> Konstanten des<br />

wie folgt PSO berechnet:<br />

w = (c 1 r 1 + c 2 r 2 ). (4.4)<br />

Clerc [16] schlägt <strong>in</strong> se<strong>in</strong>er Arbeit e<strong>in</strong>e Alternative zum Trägheitsgewicht vor, bei dem die<br />

Geschw<strong>in</strong>digkeiten im PSO durch e<strong>in</strong>en Faktor χ beschränkt werden. Diese Faktor stellt die<br />

Konvergenz des Partikelschwarms sicher <strong>und</strong> wird wie folgt berechnet:<br />

v ij (t + 1) = χ[v ij (t) + c 1 r 1j (t)(y ij (t) − x ij (t)) + c 2 r 2j (t)(ŷ j (t) − x ij (t))] (4.5)<br />

wobei<br />

mit φ = c 1 r 1 + c 2 r 2 <strong>und</strong> κ ∈ [0, 1].<br />

χ =<br />

2κ<br />

|2 − φ − √ φ(φ − 4)|<br />

Eberhart et al. [21] nutzen diese Theorie <strong>und</strong> geben konkrete Werte für w, c 1 <strong>und</strong> c 2 an:<br />

0.5 + rand<br />

w =<br />

2.0<br />

(4.6)<br />

c 1 = c 2 = 1.494 (4.7)<br />

mit rand als Zufallszahl im Intervall [0.5, 1.0] mit Erwartungswert 0.75, was <strong>in</strong> etwa den oben<br />

genannten Untersuchungen von Clerc entspricht.<br />

Beschleunigungskoeffizienten Für die Beschleunigungskoeffizienten c 1 <strong>und</strong> c 2 <strong>in</strong> Formel<br />

3.1 wählt Ujj<strong>in</strong> et. al. jeweils den Wert 1.494. Diese beiden Koeffizienten bestimmen,<br />

wie stark die Partikel <strong>in</strong> Richtung der globalen <strong>und</strong> lokalen besten Position gezogen werden.<br />

Niedrige Werte erlauben, dass sich die Partikel weiter von der Zielposition entfernen dürfen,<br />

höhere Werte bewirken, dass sich Partikel schnell <strong>in</strong> Richtung des Ziels bewegen. Die Wahl<br />

des Wertes 1.494 stützt sich auf die Untersuchungen von Eberhart et al. [21] bzw. Clerc [16],<br />

dessen Beschränkungsfaktor schon besprochen wurde. E<strong>in</strong> Nebenprodukt der Berechnung<br />

dieses Faktors s<strong>in</strong>d konkrete Werte für c 1 <strong>und</strong> c 2 , die laut Eberhart [21] problemunabhängig<br />

e<strong>in</strong>gesetzt werden können <strong>und</strong> empirisch gute Lösungen ergeben haben.<br />

50


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

Die e<strong>in</strong>zelnen Partikel ziehen ihre Stärke aus der (impliziten) Zusammenarbeit des ganzen<br />

Schwarms <strong>und</strong> arbeiten am besten zusammen, wenn c 1 ≈ c 2 , also wenn die kognitive Komponente<br />

e<strong>in</strong>es Partikels ähnlich wie die soziale Komponente gewichtet ist. Die Geschichte<br />

e<strong>in</strong>es Partikels ist ähnlich wichtig ist wie der Neid auf die besten Positionen im Schwarm.<br />

Wenn c 1 ≫ c 2 , wird der Partikel mehr von der bisherigen besten Position geleitet, was <strong>in</strong><br />

e<strong>in</strong>er <strong>in</strong>tensiveren Untersuchung des eigenen Umfeldes resultiert. Diese Variante bietet sich<br />

bei multimodalen Fitnesslandschaften an. Wenn c 1 ≪ c 2 , werden die Partikel schneller <strong>in</strong><br />

Richtung des globalen Optimums gezogen, was e<strong>in</strong>e verfrühte Konvergenz zu folgen haben<br />

könnte. Diese Variante bietet sich daher bei flachen, unimodalen Fitnesslandschaften an.<br />

Wenn <strong>in</strong> Recommendersystemen e<strong>in</strong>e multimodale Fitnesslandschaft mit sehr vielen <strong>in</strong> etwa<br />

gleich großen lokalen Optima vorliegt, wählt man die Werte für c 1 <strong>und</strong> c 2 <strong>in</strong> etwa gleich,<br />

mit e<strong>in</strong>er leichten Bevorzugung der c 1 -Komponente. Dies könnte die Auswirkung haben, das<br />

unter all diesen lokalen Optima das wirkliche globale Optima (falls überhaupt vorhanden)<br />

gef<strong>und</strong>en wird.<br />

Random Resett<strong>in</strong>g <strong>und</strong> Konvergenz Der <strong>in</strong> Abschnitt 3.2 vorgestellte multi-start PSO wird<br />

im PSOREC Algorithmus wie folgt implementiert: Alle τ Iterationen werden n-viele Partikel<br />

auf e<strong>in</strong>e zufällig gewählte neue Position gesetzt. Der Geschw<strong>in</strong>digkeitsvektor bzw. die<br />

bisherige Richtung des Partikels wird <strong>in</strong> allen Dimensionen neu <strong>in</strong>itialisiert, entweder mit<br />

Zufallszahlen oder konstant mit 0. E<strong>in</strong>e Untersuchung beider Varianten sowie die Empfehlung<br />

für konkrete Werte für τ <strong>und</strong> n folgt <strong>in</strong> Kapitel 5.3.3.<br />

Engelbrecht [23] zeigt, dass der klassische PSO Algorithmus nicht mit Sicherheit e<strong>in</strong>e globale<br />

sowie lokale Konvergenz der Partikel herbeiführen kann. Jedoch kann durch Modifikationen<br />

am klassischen Verfahren solch e<strong>in</strong>en Zustand herbeigeführt werden. Engelbrecht [23] zeigt<br />

e<strong>in</strong>ige Varianten dafür, darunter auch der Multi-start PSO Algorithmus, der e<strong>in</strong>e garantierte<br />

globale Konvergenz verspricht.<br />

Es wird <strong>in</strong> dieser Arbeit der Multi-start Ansatz verwendet, um die Suche nach dem globalen<br />

Optimum im Problemraum des Recommendersystems zu verbessern. Es wird erwartet, dass<br />

damit neue Bereiche im Problemraum entdeckt werden, die ohne Rücksetzen sonst nicht<br />

erreicht werden könnten. Konkret wird die Methode von Van der Bergh [8] verwendet, die<br />

die oben genannten zufällige Zurücksetzung mancher Partikel implementiert.<br />

Abstandsmaße Uji<strong>in</strong> et al. [75] verwenden e<strong>in</strong>e um e<strong>in</strong>en Gewichtsvektor modifizierte euklidische<br />

Abstandsfunktion, siehe Formel 4.1. Es existieren jedoch noch weitere Möglichkeiten<br />

e<strong>in</strong>e Ähnlichkeit zwischen zwei Benutzern bzw. Vektoren zu bestimmen.<br />

In dieser Arbeit werden alternative Möglichkeiten vorgeschlagen. Es wird die gewichtete<br />

Kos<strong>in</strong>usähnlichkeit e<strong>in</strong>gesetzt, um bei der Bestimmung der Nachbarschaft die ähnlichsten<br />

Benutzer zum aktiven Benutzer zu f<strong>in</strong>den:<br />

51


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

⎛<br />

sim(u, v) = 1<br />

|I uv | ·<br />

⎜ ∑ ⎝<br />

i∈I uv<br />

⎞<br />

n<br />

∑ w u f<br />

p ui f<br />

p vi f<br />

f =1<br />

√ √ n∑<br />

n∑ ⎟<br />

w u f<br />

p 2 ui<br />

w u f f<br />

p 2 ⎠<br />

vi f<br />

f =1<br />

f =1<br />

(4.8)<br />

mit n als Anzahl der Features, p ui als Profil des Benutzer u für Item i sowie p vi als Profil des<br />

Benutzers v für Item i <strong>und</strong> w u als Gewichtsvektor des Users u.<br />

Die Idee, die dieser Formel zugr<strong>und</strong>e liegt, ist, dass die Ähnlichkeit zweier Benutzer als<br />

Mittelwert der Ähnlichkeiten aller geme<strong>in</strong>samen Items gebildet wird. Dabei wird für alle<br />

geme<strong>in</strong>samen Items I uv zweier Benutzer u <strong>und</strong> v jeweils zuerst die Ähnlichkeit der (Item-<br />

)Profile berechnet <strong>und</strong> anschließend der Mittelwert dieser Werte bestimmt.<br />

E<strong>in</strong>e weitere Möglichkeit, die mit dem gleichen Gr<strong>und</strong>gedanken entwickelt wurde, ist die<br />

Verwendung der gewichteten Pearson-Korrelation:<br />

⎛<br />

sim(u, v) = 1<br />

|I uv | ·<br />

⎜ ∑ ⎝<br />

i∈I uv<br />

⎞<br />

n<br />

∑ w u f<br />

(p ui f<br />

− ¯p ui )(p vi f<br />

− ¯p vi )<br />

f =1<br />

√ √ n∑<br />

n∑<br />

⎟<br />

w u f<br />

(p ui f<br />

− ¯p ui ) 2 w u f<br />

(p vi f<br />

− ¯p vi ) 2 ⎠<br />

f =1<br />

f =1<br />

mit ¯p ui als Mittelwert der Elemente des Vektors p für Item i <strong>und</strong> User u. Im Gegensatz zum<br />

euklidischen Abstand bedeutet hier e<strong>in</strong> Wert von 1 e<strong>in</strong>e perfekte Ähnlichkeit. Dies ist bei der<br />

Implementierung <strong>und</strong> der Bestimmung der Nachbarschaft zu beachten.<br />

Es wurden die Maße durch e<strong>in</strong>en entsprechenden Gewichtsvektor des Benutzers u erweitert,<br />

der die e<strong>in</strong>zelnen Features je nach Vorlieben des Benutzers gewichtet <strong>und</strong> somit e<strong>in</strong>e genauere<br />

Auswahl der Nachbarschaft erlaubt.<br />

Die Wahl dieser Abstandsmaße gegenüber dem euklidischen Abstand, der von Ujj<strong>in</strong> <strong>und</strong><br />

Bentley [75] für dieses Verfahren vorgeschlagen wurde, begründet sich dar<strong>in</strong>, dass die Pearson<br />

Korrelation <strong>und</strong> die Kos<strong>in</strong>usähnlichkeit <strong>in</strong> der Literatur durchweg bessere Ergebnisse erzielt<br />

haben als e<strong>in</strong> euklidischer Abstand [1]. Die gewichteten Varianten s<strong>in</strong>d <strong>in</strong> dieser Form <strong>in</strong><br />

Recommendersystemen, nach dem besten Wissen des Autors, noch nicht e<strong>in</strong>gesetzt worden<br />

s<strong>in</strong>d.<br />

(4.9)<br />

Wahl der Nachbarschaft Zaier et al. [78] untersucht die Auswirkung der Nachbarschaftsgröße<br />

auf die Empfehlungsqualität. Es wird gezeigt, dass ab e<strong>in</strong>er Größe von ungefähr 50%<br />

der gesamten Benutzer des Systems ke<strong>in</strong>e deutliche Verbesserung der mittleren Abweichung<br />

des Schätzungen mehr beobachtbar ist.<br />

In dieser Arbeit wird e<strong>in</strong>e andere Grenze für die Anzahl der Benutzer <strong>in</strong> der Nachbarschaft<br />

verwendet, da e<strong>in</strong> fester Wert immer auch User mit e<strong>in</strong>beziehen kann, die nur e<strong>in</strong>e ger<strong>in</strong>ge<br />

Ähnlichkeit zum aktiven User haben. Auch wenn deren Gewicht <strong>in</strong> der Schätzung der Bewertung<br />

(siehe Gleichung 4.2) sehr niedrig ist, kann bei der Aufnahme vieler solcher Benutzer<br />

52


4.6 Genetic Algorithm Recommender (GAREC)<br />

die Empfehlung durchaus verfremdet werden. Daher wird <strong>in</strong> dieser Arbeit unter anderem<br />

e<strong>in</strong> Verfahren angewandt, dass nur die überdurchschnittlich ähnlichsten User betrachtet.<br />

Zuerst wird der Mittelwert aller Abstände vom aktiven Benutzer zu allen anderen Benutzern<br />

bestimmt. Wenn nun der Abstand e<strong>in</strong>es Benutzers gleich oder kle<strong>in</strong>er als der Mittelwerts<br />

ist, wird er <strong>in</strong> die Nachbarschaft aufgenommen. E<strong>in</strong>e Untersuchung der Auswirkung dieser<br />

Maßnahme sowie alternative Werte für die Grenze erfolgt <strong>in</strong> Abschnitt 5.3.3.<br />

Untersuchung des globalen Optimum mit e<strong>in</strong>em künstlichen Datensatz Die vermutlich<br />

dicht mit lokalen Optima durchsetzte Fitnesslandschaft soll mit e<strong>in</strong>em künstlich erzeugten<br />

bzw. e<strong>in</strong>er künstlich veränderten Variante des orig<strong>in</strong>alen Datensatzes untersucht werden. Es<br />

werden <strong>in</strong> verschiedenen Komb<strong>in</strong>ationen Features aus dem orig<strong>in</strong>alen Datensatz entfernt <strong>und</strong><br />

anschließend <strong>in</strong> Testläufen untersucht, wie sich diese Änderungen auf die Empfehlungsqualität<br />

<strong>und</strong> die weiteren Evaluationsmetriken auswirken. Vielleicht lässt sich aus den so gewonnenen<br />

Daten e<strong>in</strong>e Erklärung für das Verhalten der ermittelten Gewichtsvektoren f<strong>in</strong>den.<br />

4.6 Genetic Algorithm Recommender (GAREC)<br />

Das nun folgende Verfahren verwendet das gleiche Recommendersystem wie <strong>in</strong> Abschnitt 4.5.<br />

Jedoch wird für die Bestimmung <strong>und</strong> Optimierung des Gewichtsvektors e<strong>in</strong> genetischer Algorithmus<br />

verwendet [74]. Zusätzlich wurde e<strong>in</strong>e Variante implementiert, die Eigenschaften<br />

der Evolution Strategies umsetzt.<br />

4.6.1 Beschreibung des Verfahrens<br />

Das verwendete Recommendersystem entspricht dem aus Abschnitt 4.5.1. Der dort verwendete<br />

Particle Swarm Optimierer wurde durch den hier vorgestellten genetischen Algorithmus<br />

ersetzt. Alle weiteren Details bleiben gleich <strong>und</strong> können im genannten Abschnitt nachgelesen<br />

werden.<br />

Details zum verwendeten GA Der genetische Algorithmus verwendet e<strong>in</strong> elitäres Auswahlverfahren<br />

für die Individuen der nächsten Generation, <strong>in</strong>dem immer die besten 25% der Population<br />

<strong>in</strong> die nächste Generation übernommen werden, egal ob sie aus der Menge der<br />

Eltern µ oder der Menge der Nachkommen λ stammen. Es soll damit sichergestellt werden,<br />

dass ke<strong>in</strong>e guten Lösungen verworfen werden. Dies ist beispielsweise bei EAs der Fall, bei<br />

denen die komplette K<strong>in</strong>dgeneration die Elterngeneration ersetzt. Da wir an e<strong>in</strong>er optimalen<br />

Lösung <strong>in</strong>teressiert s<strong>in</strong>d, die die Empfehlungsqualität möglichst optimiert <strong>und</strong> es egal ist,<br />

<strong>in</strong> welchen Bereichen des Lösungsraums diese gef<strong>und</strong>en wurden, sollte diese Strategie von<br />

Vorteil se<strong>in</strong>.<br />

Für die Wahl der Eltern <strong>in</strong> der Rekomb<strong>in</strong>ation werden aus den besten 40% der Population zufällig<br />

Elternpaare gezogen. Die von diesen Paaren erzeugten Nachkommen werden immer per<br />

53


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

Rekomb<strong>in</strong>ation erstellt (Wahrsche<strong>in</strong>lichkeit 1.0) <strong>und</strong> anschließend mit e<strong>in</strong>er Wahrsche<strong>in</strong>lichkeit<br />

von 0.03 (pro Gen) e<strong>in</strong>er Mutation unterzogen. Für die Rekomb<strong>in</strong>ation wird e<strong>in</strong> one-po<strong>in</strong>t<br />

crossover Ansatz verwendet. Bei der Mutation wird jedes Gene mit der oben angegebenen<br />

Wahrsche<strong>in</strong>lichkeit negiert (bit-flip). Die Wahl der Wahrsche<strong>in</strong>lichkeiten für Crossover <strong>und</strong><br />

Mutation wird im nachfolgenden Abschnitt genauer untersucht.<br />

Jedes Gen e<strong>in</strong>es 22-stelligen Chromosom wird durch e<strong>in</strong>e 8-bit Darstellung repräsentiert. Jedes<br />

Gen kann e<strong>in</strong>en dezimalen Wert von 0 bis 255 annehmen.<br />

4.6.2 Vorgeschlagene Erweiterungen<br />

Mutations- <strong>und</strong> Rekomb<strong>in</strong>ationswahrsche<strong>in</strong>lichkeit Wenn e<strong>in</strong>e neue Lösung erzeugt wird,<br />

verwenden Ujj<strong>in</strong> et al. [74] den Rekomb<strong>in</strong>ationsoperator zu 100% <strong>und</strong> die Mutation e<strong>in</strong>es e<strong>in</strong>zelnen<br />

Gens <strong>in</strong> 3% aller Fälle. Ob die letztere Entscheidung richtig ist, oder ob e<strong>in</strong> höherer<br />

Wert die Empfehlungsqualität verbessern könnte, soll untersucht werden. Da die Fitnesslandschaft<br />

vermutlich stark multimodal ist, wird vermutet, dass e<strong>in</strong>e höhere Mutationswahrsche<strong>in</strong>lichkeit<br />

helfen könnte, aus lokalen Optima auszubrechen <strong>und</strong> die lokale Exploitation<br />

breiter zu gestalten.<br />

Fitness Shar<strong>in</strong>g <strong>und</strong> Crowd<strong>in</strong>g In e<strong>in</strong>er multimodalen Fitnesslandschaft existieren viele<br />

Punkte, die e<strong>in</strong>e höhere Fitness besitzen als alle anderen benachbarten Punkte, jedoch nicht<br />

dem globalen Maximum entsprechen. In den Bereichen zwischen diesen Punkten kann man<br />

durch Trennl<strong>in</strong>ien Täler mit unterschiedlicher Anziehungskraft (bas<strong>in</strong>s of attraction) beschreiben,<br />

welche Lösungen, die auf der e<strong>in</strong>en Seite liegen, zum Optimum auf dieser Seite wandern<br />

lassen. Die dadurch entstehenden lokalen, nicht direkt mite<strong>in</strong>ander verb<strong>und</strong>enen Optima<br />

nennt man, motiviert durch den biologischen/<strong>evolutionäre</strong>n H<strong>in</strong>tergr<strong>und</strong>, Nischen. Für e<strong>in</strong><br />

Beispiel siehe auch Abbildung 4.3. Es ist möglich, dass sich e<strong>in</strong>e Population <strong>in</strong> e<strong>in</strong>er nicht global<br />

optimalen Region festsetzt <strong>und</strong> diese nicht durch Rekomb<strong>in</strong>ation <strong>und</strong> Mutation verlassen<br />

kann, da sie es nicht schafft, die eigene Nische zu verlassen <strong>und</strong> das Tal der unterschiedlichen<br />

Anziehungskraft zu überw<strong>in</strong>den.<br />

Wenn für e<strong>in</strong> gegebenes Problem e<strong>in</strong>e multimodale Fitnesslandschaft vorliegt, kann man das<br />

beschriebene Verhalten vermeiden bzw. verm<strong>in</strong>dern, <strong>in</strong>dem man verschiedene implizite oder<br />

explizite Ansätze verwendet. Implizite Ansätze erzw<strong>in</strong>gen ke<strong>in</strong> entsprechendes Verhalten,<br />

das die Vielfältigkeit der Lösungen (also e<strong>in</strong>e weitreichende Ausbreitung <strong>in</strong> der Fitnesslandschaft)<br />

garantiert. Explizite Ansätze nehmen dagegen Veränderungen vor, die die Population<br />

zw<strong>in</strong>gen, sich <strong>in</strong> der Fitnesslandschaft auszubreiten. Implizite Methoden werden hier nicht<br />

verwendet, für e<strong>in</strong>e Übersicht siehe Eiben et al. [22]. Bei expliziten Methoden s<strong>in</strong>d zwei Varianten<br />

bekannt, die hier untersucht werden: Crowd<strong>in</strong>g <strong>und</strong> Fitness Shar<strong>in</strong>g.<br />

Fitness Shar<strong>in</strong>g kontrolliert die Anzahl der Individuen <strong>in</strong>nerhalb e<strong>in</strong>er Nische, <strong>in</strong>dem sie vor<br />

den Selektionen die Fitness aller Individuen anpasst. Je fitter e<strong>in</strong>e Nische ist, desto mehr<br />

Individuen werden ihr zugeordnet. Zwischen allen Individuen der Population wird paarweise<br />

der Abstand berechnet (auch der Abstand zu sich selbst) <strong>und</strong> die Fitness anschließend<br />

54


4.6 Genetic Algorithm Recommender (GAREC)<br />

Nische<br />

Bas<strong>in</strong> of Attraction<br />

Abbildung 4.3: E<strong>in</strong>dimensionale Landschaft mit drei Optima. Das mittlere Optimum mit dem<br />

kle<strong>in</strong>sten Bas<strong>in</strong>s of Attraction ist das globale Optimum, das l<strong>in</strong>ke Optimum<br />

weist die größte Nische auf.<br />

je nach Anzahl der Individuen, die <strong>in</strong>nerhalb e<strong>in</strong>es def<strong>in</strong>ierten Abstandes liegen, angepasst.<br />

Diese Neuberechnung der Fitness wird wie folgt durchgeführt:<br />

F ′ (i) =<br />

F(i)<br />

∑ j sh(d(i, j))<br />

mit Shar<strong>in</strong>g-Funktion sh <strong>und</strong> Abstandsmaß d, das je nach Repräsentation gewählt wird. Die<br />

Shar<strong>in</strong>g-Funktion sh wird def<strong>in</strong>iert durch<br />

sh(d) =<br />

{<br />

1 − (<br />

d<br />

σ share<br />

) α f alls d ≤ σ share ,<br />

0 sonst.<br />

α bestimmt die Form der Shar<strong>in</strong>g-Funktion, z.B. für α = 1 ist die Funktion l<strong>in</strong>ear, für größere<br />

Werte nimmt die Reduzierung der Fitness mancher Individuen schneller ab.<br />

Bei der Crowd<strong>in</strong>g-Methode generieren zwei Eltern Nachkommen per Rekomb<strong>in</strong>ation <strong>und</strong> Mutation,<br />

die anschließend evaluiert werden. Diese vier paarweisen Abstände zwischen Eltern<br />

<strong>und</strong> K<strong>in</strong>dern werden berechnet. Jedes der K<strong>in</strong>der tritt <strong>in</strong> e<strong>in</strong>em Wettbewerb gegen das Elternteil<br />

an, dem es am ähnlichsten ist. Formell ausgedrückt muss d(p 1 , o 1 ) + d(p 2 , o 2 ) <<br />

d(p 1 , o 2 ) + d(p 2 , o 1 ), mit p als Eltern <strong>und</strong> o als K<strong>in</strong>der, m<strong>in</strong>imiert werden.<br />

Dieses Auswahlverfahren stellt sicher, dass Subpopulationen <strong>in</strong>nerhalb von Nischen bestehen<br />

bleiben, ihre Größe aber nicht abhängig von der Fitness ist. Die Subpopulationen verteilen<br />

sich dabei gleichmäßig auf die bestehenden Nischen, siehe Abbildung 4.4.<br />

Recommendersystem Es wird das gleiche Recommendersystem verwendet wie im vorherigen<br />

Abschnitt, so dass auch hier die gleichen Fragestellungen wie zuvor untersucht werden.<br />

Wenn sich spezielle Unterschiede ergeben, wird gesondert darauf h<strong>in</strong>gewiesen.<br />

55


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

6<br />

f(x)<br />

5<br />

4<br />

3<br />

2<br />

1<br />

x<br />

xx<br />

x x<br />

xx x x<br />

x<br />

x x<br />

0<br />

0 1 2 3 x 4 5 6<br />

6<br />

f(x)<br />

5<br />

4<br />

3<br />

2<br />

1<br />

xxx<br />

xxx<br />

x x x<br />

xxx<br />

x x x<br />

s<br />

0<br />

0 1 2 3 x 4 5 6<br />

Abbildung 4.4: Effekt der expliziten Methoden bei multimodalen Landschaften auf die Verteilung<br />

der Individuen <strong>in</strong> verschiedene Nischen. Oben Fitness Shar<strong>in</strong>g, unten<br />

Crowd<strong>in</strong>g.<br />

4.6.3 Variante: Selbstanpassung der Mutationsschritte <strong>und</strong> Evolution<br />

Strategies<br />

Wie <strong>in</strong> Abschnitt 6.2.1 angesprochen, kann zur besseren Untersuchung der Fitnesslandschaft<br />

durch den genetischen Algorithmus e<strong>in</strong>e Anpassung der Mutationsschritte verwendet werden.<br />

Diese Idee ist das Alle<strong>in</strong>stellungsmerkmal der Evolution Strategies, es lässt sich jedoch<br />

auch <strong>in</strong> jedem anderen EA Verfahren e<strong>in</strong>setzen. Da im Invasive Weed Optimierer Ähnlichkeiten<br />

zu den anpassenden Mutationsschritten e<strong>in</strong>es ES beobachtet werden konnten <strong>und</strong> sich die<br />

Frage stellt, wie sich das vorgestellte GA Verfahren mit solchen angepassten Mutationsschritten<br />

verhält, soll nun das GA Verfahren um e<strong>in</strong> solches Feature erweitert <strong>und</strong> anschließend<br />

mit den bestehenden Verfahren verglichen werden.<br />

GA mit anpassenden Mutationsschritten Der <strong>in</strong> den vorherigen Abschnitten vorgestellte<br />

GA (GAREC) wird übernommen, jedoch wird die Mutation durch e<strong>in</strong>e ES-typische, anpassende<br />

Mutation ersetzt, sowie die Repräsentation <strong>und</strong> Rekomb<strong>in</strong>ation entsprechend angepasst,<br />

siehe auch Abbildung 4.5. Alle anderen Operatoren <strong>und</strong> Parameter bleiben gleich.<br />

Damit soll untersucht werden, wie sich der GA mit anpassenden Mutationsschritten auf dem<br />

Recommenderdatensatz verhält <strong>und</strong> ob damit e<strong>in</strong>e positive oder negative Veränderung der<br />

Empfehlungsqualität beobachtet werden kann.<br />

56


4.6 Genetic Algorithm Recommender (GAREC)<br />

Individuum<br />

Chromosome (Phenotyp)<br />

0.2 0.6 0.3 0.1 0.8 0.7 ... 0.1<br />

0 1 2 3 4 5 21<br />

Mutationsschritte<br />

3.2 5.6 1.3 4.5 2.1 6.2 ... 5.0<br />

0 1 2 3 4 5 21<br />

Abbildung 4.5: Angepasste Repräsentation e<strong>in</strong>es Individuums für den GA mit anpassenden<br />

Mutationsschritten. Es wurden zusätzliche Informationen für die Mutationsschrittweiten<br />

h<strong>in</strong>zugefügt.<br />

Die Rekomb<strong>in</strong>ation zweier Chromosome <strong>und</strong> Mutationsschritte wird ES-typisch per diskretem<br />

Crossover implementiert. Dafür wird jedes Gen zufällig aus e<strong>in</strong>em der Elternteile übernommen.<br />

Dies entspricht dem uniformen Crossover klassischer GA-Verfahren.<br />

z i = x i oder y i zufällig<br />

für alle i ∈ {1, · · · , n} mit z i als neues K<strong>in</strong>d, x i <strong>und</strong> y i als Eltern.<br />

Die Mutation mit n unterschiedlichen Mutationschritten ist die klassische Mutationsmethode<br />

der Evolution Strategies. Die Motivation dabei ist, dass unterschiedliche Dimensionen bei der<br />

Mutation unterschiedlich behandelt werden, sprich es sollen für die e<strong>in</strong>zelnen Features/Gene<br />

unterschiedliche Mutationsschrittweiten verwendet werden. Dabei wird jedes Chromosome<br />

〈x 1 , · · · , x n 〉 durch Mutationsschrittweiten erweitert, für jede Dimension genau e<strong>in</strong>e, was zu<br />

e<strong>in</strong>em neuen Chromosom 〈x 1 , · · · , x n , σ 1 , · · · , σ n 〉 führt. Die Mutation wird dann wie folgt<br />

berechnet:<br />

σ ′ i = σ i · e τ′·N(0,1)+τ·N i (0,1)<br />

(4.10)<br />

x ′ i = x i + σ ′ i · N i(0, 1) (4.11)<br />

mit τ ′ ∝ 1/ √ 2, τ ∝ 1/ √ 2 √ n <strong>und</strong> N(0, 1) als Zufallszahl aus e<strong>in</strong>er Normalverteilung mit<br />

Erwartungswert 0 <strong>und</strong> Standardabweichung 1 bzw. τ, da gilt N(0, τ) = τ · N(0, 1). Zusätzlich<br />

wird e<strong>in</strong>e Schranke e<strong>in</strong>gebaut, die Standardabweichungen nahe Null verh<strong>in</strong>dert:<br />

σ ′ i < ɛ 0 ⇒ σ ′ i = ɛ 0 .<br />

Jedes neue σ hat dabei se<strong>in</strong>e eigene Zufallszahl aus N i (0, 1) <strong>und</strong> e<strong>in</strong>e globale Zufallszahl für<br />

dieses Chromosom, N(0, 1), die nur e<strong>in</strong>mal pro Mutation gezogen wird. Die erste Komponente<br />

erlaubt e<strong>in</strong>e globale Mutation <strong>in</strong> alle Richtungen, während die zweite Komponente die<br />

57


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

Symbol Beschreibung Wert<br />

N 0 Anzahl der Pflanzen zu Beg<strong>in</strong>n 10<br />

iter max Maximale Anzahl Iterationen 500<br />

dim Dimensionen des Problems 22<br />

p max Maximale Anzahl an Pflanzen 30<br />

s max Maximale Anzahl an Samen/Pflanze 3<br />

s m<strong>in</strong> M<strong>in</strong>imale Anzahl pro Samen/Pflanzen 0<br />

n Nichtl<strong>in</strong>earer Modulations<strong>in</strong>dex 3<br />

σ <strong>in</strong>it Initialer Wert der Standardabweichung 25<br />

σ <strong>in</strong>it F<strong>in</strong>aler Wert der Standardabweichung 0.02<br />

Tabelle 4.1: IWO Standardparameter für den IWOREC-Algorithmus.<br />

Flexibilität bietet, verschiedene Mutationsstrategien <strong>in</strong> verschiedene Richtungen anzuwenden,<br />

siehe dazu Eiben et al. [22].<br />

4.7 Invasive Weed Optimization Recommender (IWOREC)<br />

Es soll nun e<strong>in</strong> Recommendersystem vorgestellt werden, dass zur Optimierung der Gewichtsvektoren<br />

e<strong>in</strong>es Benutzers das Invasive Weed Optimization-Verfahren verwendet [69], welches <strong>in</strong><br />

Abschnitt 3.3 beschrieben wird. Es wird wieder das bekannte Recommendersystem aus Abschnitt<br />

4.5.1 e<strong>in</strong>gesetzt.<br />

4.7.1 Beschreibung des Verfahrens<br />

Um die bisher vorgestellten Optimierungsverfahren PSO, GA <strong>und</strong> die GA-Variante mit EStypischer<br />

Mutation im Kontext e<strong>in</strong>es Recommendersystems besser vergleichen zu können,<br />

wird dieses dritte, alternative Optimierungsverfahren implementiert. Es zeigt e<strong>in</strong>e große Ähnlichkeit<br />

mit e<strong>in</strong>em klassischen genetischen Algorithmus, unterscheidet sich aber <strong>in</strong> den Details<br />

deutlich. Siehe dazu auch die Besprechung <strong>in</strong> Abschnitt 6.2.<br />

Details zum verwendeten IWO Das IWO Verfahren ist e<strong>in</strong> relativ neues <strong>und</strong> im Detail<br />

bisher bei weitem nicht so <strong>in</strong>tensiv untersuchtes Verfahren wie zum Beispiel Particle Swarm<br />

Optimization oder <strong>evolutionäre</strong> <strong>Algorithmen</strong>. Daher werden ke<strong>in</strong>e Erweiterungen der Standardmethoden<br />

besprochen <strong>und</strong> untersucht, wie es bei den bisherigen Methoden der Fall war.<br />

Untersucht werden dennoch die e<strong>in</strong>zelnen Parameter, die e<strong>in</strong>en großen E<strong>in</strong>fluss auf die Leistung<br />

des Algorithmus haben, auf das globale Optimum zu konvergieren.<br />

In Tabelle 4.1 werden die Parameter aufgeführt, die als Ausgangswerte für die Untersuchung<br />

verwendet werden. Sie gleichen im Pr<strong>in</strong>zip denen <strong>in</strong> Tabelle 3.5, s<strong>in</strong>d jedoch auf die Problemstellung<br />

des Recommendersystems angepasst bzw. auf den verwendeten Datensatz <strong>und</strong><br />

deren Wertebereiche.<br />

58


4.7 Invasive Weed Optimization Recommender (IWOREC)<br />

4.7.2 Vorgeschlagene Erweiterungen<br />

Parameterwahl Der <strong>in</strong>itiale Wert für die Standardabweichung bestimmt die Größe der Umgebung,<br />

<strong>in</strong> die neue Samen abgelegt werden. Dieser Wert gibt direkt an, <strong>in</strong> welchen Maßstab<br />

die Exploration zu Beg<strong>in</strong>n des Algorithmus durchgeführt wird. In der IWOREC Implementierung<br />

wird jede Dimension zu Beg<strong>in</strong>n zufällig mit e<strong>in</strong>em Wert zwischen 0 <strong>und</strong> 255 <strong>in</strong>itialisiert.<br />

Es ist wichtig, dass die Standardabweichung für die Normalverteilung diesem Parameter angepasst<br />

wird. Initial wird e<strong>in</strong> Wert von 25 verwendet, um e<strong>in</strong>en relativ großen Bereich der<br />

Fitnesslandschaft abzudecken.<br />

Es ist zu beachten, dass e<strong>in</strong> neu generierter Samen den <strong>in</strong>itialen Wertebereich e<strong>in</strong>er Dimension,<br />

hier konkret [0, 255], durchaus verlassen kann. Dies ist der Fall, wenn beispielsweise auf<br />

e<strong>in</strong>en Wert nahe 0 e<strong>in</strong>e große negative Zufallszahl aus der Normalverteilung addiert wird.<br />

Auch die maximale <strong>und</strong> m<strong>in</strong>imale Anzahl an Samen, die e<strong>in</strong>e Pflanze produzieren kann,<br />

soll untersucht werden. E<strong>in</strong> m<strong>in</strong>imaler Wert von 0, der <strong>in</strong> [51] vorgeschlagen wird, ist auch<br />

im Kontext der Recommendersysteme e<strong>in</strong> s<strong>in</strong>nvoller Wert. Damit verh<strong>in</strong>dert man zwar, das<br />

sehr schlechte Pflanzen Nachkommen erzeugen <strong>und</strong> widerspricht damit den Überlegungen<br />

<strong>in</strong> Abschnitt 3.3, Schritt 2 im Algorithmus. Da es aber immer noch Pflanzen gibt, die e<strong>in</strong>e<br />

vergleichsweise schlechte Fitness haben, aber ≥ 0 Samen produzieren, gelten die dortigen<br />

Überlegungen weiterh<strong>in</strong>.<br />

Eigenschaften von GAs <strong>in</strong> IWO Da das IWO-Verfahren e<strong>in</strong>em klassischen GA <strong>und</strong> ES sehr<br />

ähnelt, soll untersucht auch werden, <strong>in</strong>wiefern man Erweiterungen <strong>und</strong> Parameter dieser<br />

Verfahren übernehmen kann.<br />

E<strong>in</strong>e nahe liegende Erweiterung wäre, das man die Wahl der Überlebenden verändert, <strong>in</strong>dem<br />

nicht wie bisher nur die besten p max Pflanzen übernommen werden, sondern e<strong>in</strong>e der<br />

Strategien der klassischen <strong>evolutionäre</strong>n Verfahren verwendet wird, z.B. alters-basierte oder<br />

fitness-basierte Ersetzung. In dieser Arbeit wurde die Implementierung e<strong>in</strong>er Fitness Proportional<br />

Selection e<strong>in</strong>gesetzt, die Individuen mit höherer Fitness e<strong>in</strong>e größere Chance gibt, <strong>in</strong><br />

die nächste Generation übernommen zu werden. Dieser Ansatz ersetzt nicht zw<strong>in</strong>gend alle<br />

schlechten Pflanzen, sondern lässt mit e<strong>in</strong>er kle<strong>in</strong>en Wahrsche<strong>in</strong>lichkeit auch schlechtere<br />

Lösungen überleben. Dies steht im S<strong>in</strong>ne der schon besprochenen Überlegung, dass auch<br />

schlechtere Lösungen, die vielleicht sehr gute Lösungen <strong>in</strong> sich tragen, übernommen werden<br />

sollen (Abschnitt 3.3, Schritt 2).<br />

59


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

60


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

In diesem Kapitel werden die <strong>in</strong> Kapitel 4 vorgestellten Verfahren experimentell untersucht.<br />

Die dabei verwendeten Maße werden zuerst vorgestellt, sowie e<strong>in</strong>e Beschreibung des Ablaufs<br />

der Experimente aufgezeigt. Zusätzlich wird der verwendete Datensatz <strong>und</strong> dessen Eigenschaften<br />

beschrieben.<br />

5.1 Datensatz<br />

Für die Evaluation der <strong>Algorithmen</strong> wird der Datensatz MovieLens 1 der Universität von M<strong>in</strong>nesota<br />

e<strong>in</strong>gesetzt. Dieser Datensatz ist <strong>in</strong> der Forschungsgeme<strong>in</strong>de zu Recommendersystemen<br />

verbreitet <strong>und</strong> wird oft für die Evaluation von neuen Verfahren verwendet. Neben diesem Datensatz<br />

ist noch der Datensatz des Netflix Grand Prize 2 des Onl<strong>in</strong>e-DVD-Verleihers Netflix, der<br />

Jester Datensatz 3 mit Bewertungen zu Witzen, der Book-Cross<strong>in</strong>g Datensatz 4 mit Buchbewertungen<br />

<strong>und</strong> der EachMovie Datensatz für Filme <strong>in</strong> der Literatur verwendete Datensätze. Der<br />

EachMovie Datensatz wird jedoch seit 2004 nicht mehr gepflegt <strong>und</strong> kann nicht mehr aus<br />

offizieller Quelle bezogen werden.<br />

MovieLens Der MovieLens ist <strong>in</strong> drei verschiedenen Varianten erhältlich, die sich jeweils<br />

nur <strong>in</strong> der Anzahl der abgegebenen Rat<strong>in</strong>gs, User <strong>und</strong> Filmen unterscheiden. Der Gr<strong>und</strong>aufbau<br />

des Datensatzes ist bei allen Varianten derselbe.<br />

Der Hauptdatensatz, siehe Tabelle 5.1, enthält jeweils e<strong>in</strong>en Benutzer, der von diesem Benutzer<br />

bewertete Film, die entsprechende Bewertung <strong>und</strong> e<strong>in</strong>en Zeitstempel. Für jeden Benutzer<br />

s<strong>in</strong>d <strong>in</strong> e<strong>in</strong>er weiteren Tabelle die jeweiligen demografischen Daten abgelegt, siehe Tabelle 5.2.<br />

Für jeden Film s<strong>in</strong>d dessen Details wie <strong>in</strong> Tabelle 5.3 abgelegt. Die Genre werden durch e<strong>in</strong>e<br />

Bitmaske def<strong>in</strong>iert, e<strong>in</strong>e 1 bedeutet der Film ist diesem Genre zugeordnet, bei e<strong>in</strong>er 0 nicht.<br />

E<strong>in</strong> Film kann zu mehreren Genres gehören.<br />

Nicht alle Daten dieses Datensatzes wurden verwendet. Die Postleitzahl, der Zeitstempel<br />

sowie das Veröffentlichungsdatum des Film (nicht <strong>in</strong> Tabelle 5.3 aufgeführt) werden nicht <strong>in</strong><br />

den hier vorgestellten Recommendersystemen verwendet, da diese Daten sich nicht für die<br />

<strong>in</strong> Kapitel 4 vorgestellten Methoden eignen. Der Zeitpunkt der Bewertungsabgabe sowie die<br />

Veröffentlichung des Film sagt nichts über die Präferenz e<strong>in</strong>es Benutzer zu e<strong>in</strong>em Item aus.<br />

1 http://grouplens.org/node/73<br />

2 http://archive.ics.uci.edu/ml/datasets/Netflix+Prize<br />

3 http://eigentaste.berkeley.edu/dataset/<br />

4 http://www.<strong>in</strong>formatik.uni-freiburg.de/~cziegler/BX/<br />

61


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

Benutzer ID Film ID Rat<strong>in</strong>g Zeitstempel<br />

196 242 3 881250949<br />

186 302 3 891717742<br />

22 377 1 878887116<br />

244 51 2 880606923<br />

166 346 1 886397596<br />

298 474 4 884182806<br />

115 265 2 881171488<br />

253 465 5 891628467<br />

305 451 3 886324817<br />

6 86 3 883603013<br />

62 257 2 879372434<br />

286 1014 5 879781125<br />

Tabelle 5.1: Aufbau des MovieLens Datensatzes mit Beispieldaten. Der Zeitstempel s<strong>in</strong>d die<br />

vergangenen Sek<strong>und</strong>en seit 01.01.1970.<br />

Benutzer ID Alter Geschlecht Beruf Postleitzahl<br />

1 24 0 20 85711<br />

2 53 1 14 94043<br />

3 23 0 21 32067<br />

4 24 0 20 43537<br />

5 33 1 14 15213<br />

6 42 0 7 98101<br />

7 57 0 1 91344<br />

8 36 0 1 05201<br />

9 29 0 19 01002<br />

10 53 0 10 90703<br />

11 39 1 14 30329<br />

12 28 1 14 06405<br />

Tabelle 5.2: Benutzerdetails im MovieLens Datensatz.<br />

Sie könnten nur bei der letztendlichen Empfehlung verwendet werden, wenn <strong>in</strong> Nutzer zum<br />

Beispiel nur neue Filme sehen will. Ähnlich lassen sich aus gleichen Postleitzahlen zweier<br />

Benutzer nur schwer Rückschlüsse auf gleiche Vorlieben schließen. Hier müsste e<strong>in</strong>e genaue<br />

geografische Analyse des Postleitzahlensystems der USA mit <strong>in</strong> den Algorithmus e<strong>in</strong>fließen.<br />

5.2 Messverfahren <strong>und</strong> Qualitätsmaße<br />

Jedes Verfahren wird per e<strong>in</strong>facher Kreuzvalidierung mit 5 Testdurchläufen auf dem Movie-<br />

Lens Datensatzen durchgeführt <strong>und</strong> anschließend mit den <strong>in</strong> Abschnitten 5.2.3 <strong>und</strong> 5.2.2<br />

vorgestellen Maße evaluiert.<br />

62


5.2 Messverfahren <strong>und</strong> Qualitätsmaße<br />

Film ID Name des Films Genres<br />

1 Toy Story 0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0<br />

2 GoldenEye 0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0<br />

3 Four Rooms 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0<br />

4 Get Shorty 0|1|0|0|0|1|0|0|1|0|0|0|0|0|0|0|0|0|0<br />

5 Copycat 0|0|0|0|0|0|1|0|1|0|0|0|0|0|0|0|1|0|0<br />

6 Shanghai Triad 0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0<br />

7 Twelve Monkeys 0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|1|0|0|0<br />

8 Babe 0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|0|0|0|0<br />

9 Dead Man Walk<strong>in</strong>g 0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0<br />

10 Richard III 0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|1|0<br />

11 Seven (Se7en) 0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|1|0|0<br />

12 Usual Suspects, The 0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|1|0|0<br />

Tabelle 5.3: Filmdetails im MovieLens Datensatz. Die 18 Genre-Bits geben an, ob e<strong>in</strong> Film<br />

e<strong>in</strong>em Genre zugeordnet ist (1) oder nicht (0). Filme können mehreren Genres<br />

zugeordnet werden. Die Genres obigen Genres s<strong>in</strong>d, <strong>in</strong> genau dieser Reihenfolge:<br />

Action, Adventure, Animation, Children, Comedy, Crime, Documentary, Drama,<br />

Fantasy, Film-Noir, Horror, Musical, Mystery, Romance, Sci-Fi, Thriller, War <strong>und</strong><br />

Western.<br />

5.2.1 Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz<br />

Um die Qualität der Empfehlungen für e<strong>in</strong>en aktiven User zu messen, wird der verwendete<br />

Datensatz <strong>in</strong> Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz aufgeteilt, siehe Abbildung 5.1. Es wird die<br />

beim MovieLens Datensatz mitgelieferte Aufteilungsmethode verwendet. Jeder Testdatensatz<br />

enthält e<strong>in</strong>e Teilmenge der Bewertungen e<strong>in</strong>es Users. Jeder User kommt <strong>in</strong> jedem Testdatensatz<br />

als Tupel 〈User, Item, Rat<strong>in</strong>g〉 m<strong>in</strong>destens e<strong>in</strong>mal vor. Der Algorithmus wird auf dem<br />

Tra<strong>in</strong><strong>in</strong>gsteil tra<strong>in</strong>iert, mit der die Nachbarschaft zum aktiven Benutzer <strong>in</strong>kl. des optimierten<br />

Gewichts bestimmt wird. Anschließend werden die im Testdatensatz enthaltenen Items<br />

des aktiven Users geschätzt (<strong>und</strong> die dar<strong>in</strong> enthaltenen echten Bewertungen ignoriert) <strong>und</strong><br />

nachfolgend mit dessen richtigen Bewertungen verglichen, siehe dafür Abschnitt 5.2.2.<br />

5.2.2 Vorhersagende Genauigkeitsmaße<br />

Vorhersagende Genauigkeitsmaße messen wie nahe die geschätzten Bewertungen e<strong>in</strong>es Recommendersystems<br />

an die wirklichen Bewertungen e<strong>in</strong>es Benutzer herankommen.<br />

Die mittlere absolute Abweichung (mean absolut error, MAE) misst die durchschnittliche Abweichung<br />

aller vom Recommendersystem geschätzten Bewertungen p i zu den echten Bewertungen<br />

r i <strong>und</strong> wird wie folgt berechnet:<br />

MAE = ∑n i=1 |r i − p i |<br />

n<br />

mit n als Anzahl aller Items im Testdatensatz des aktiven Benutzers.<br />

63


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

x 1 x 2 y Tra<strong>in</strong><strong>in</strong>gsdatensatz<br />

Testdatensatz<br />

Abbildung 5.1: Aufteilung e<strong>in</strong>es Datensatzes <strong>in</strong> Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensatz. Der <strong>in</strong> dieser<br />

Arbeit verwendete MovieLens Datensatz wird im Verhältnis 80/20 aufgeteilt.<br />

Der MAE eignet sich für die Evaluation von Recommender, bei denen die gesamte Genauigkeit<br />

des Systems wichtig ist. Das bedeutet, es werden alle unbewerteten Items e<strong>in</strong>es Benutzers<br />

geschätzt <strong>und</strong> somit geht der gesamte Fehler über alle unbewertete Items <strong>in</strong> die Genauigkeit<br />

e<strong>in</strong>. Darunter s<strong>in</strong>d für den Benutzer auch nicht relevante Items. Das s<strong>in</strong>d Items, für die das<br />

Recommendersystem korrekt e<strong>in</strong>e niedrige Bewertung bestimmt, zum Beispiel geschätzte Bewertungen<br />

< 4.<br />

E<strong>in</strong>e Variante des MAE ist der root mean square error, der die e<strong>in</strong>zelnen Fehler vor der Summierung<br />

quadriert <strong>und</strong> somit größere Fehler mehr hervorhebt als der MAE:<br />

RMSE =<br />

√<br />

∑ n i=1 (r i − p i ) 2<br />

n<br />

5.2.3 Klassifizierende Genauigkeitsmaße<br />

Klassifizierende Genauigkeitsmaße messen die Häufigkeit, mit der e<strong>in</strong> Recommender korrekte<br />

oder falsche Empfehlungen gibt, also e<strong>in</strong>e ja / ne<strong>in</strong> Entscheidung auf Seiten des Benutzers<br />

vorliegt, ob die gegebene Empfehlung letztendlich korrekt oder falsch war. Die genaue Schätzung<br />

des numerischen Werts e<strong>in</strong>er Bewertung (z.B. Film i geschätzt 3,7 Sterne) ist weniger<br />

wichtig, so lange dadurch ke<strong>in</strong>e Klassifizierungsfehler auftreten. Solche Maße s<strong>in</strong>d Precision,<br />

Recall <strong>und</strong> ROC Kurven (receiver operat<strong>in</strong>g characteristic).<br />

Recall <strong>und</strong> Precision werden aus e<strong>in</strong>er 2x2 Tabelle berechnet, für die die Items <strong>in</strong> die zwei<br />

Klassen relevant (N r ) <strong>und</strong> irrelevant (N i ) aufgeteilt werden müssen, siehe Tabelle 5.5. Weiterh<strong>in</strong><br />

muss unterschieden werden, ob e<strong>in</strong>e Item dem Benutzer als Empfehlung präsentiert<br />

wurde (N s ) oder nicht (N n ). Daraus ergeben sich 4 Kategorien, über die Precision P <strong>und</strong> Recall<br />

64


5.2 Messverfahren <strong>und</strong> Qualitätsmaße<br />

Benutzer ID Film ID Rat<strong>in</strong>g<br />

1 1 5<br />

1 2 3<br />

1 3 4<br />

1 4 3<br />

2 1 4<br />

2 10 2<br />

3 181 4<br />

3 258 2<br />

3 260 4<br />

4 11 4<br />

4 210 3<br />

4 258 5<br />

Benutzer ID Film ID Rat<strong>in</strong>g<br />

1 6 ?<br />

1 10 ?<br />

1 12 ?<br />

1 14 ?<br />

2 13 ?<br />

2 19 ?<br />

3 245 ?<br />

3 264 ?<br />

3 272 ?<br />

4 50 ?<br />

4 260 ?<br />

4 264 ?<br />

Tabelle 5.4: Ausschnitt aus e<strong>in</strong>em Teil des Tra<strong>in</strong><strong>in</strong>gsdatensatzes (l<strong>in</strong>ks) <strong>und</strong> Testdatensatzes<br />

(rechts). Jeder Testdatensatz enthält e<strong>in</strong>e Teilmenge der Bewertungen e<strong>in</strong>es Users.<br />

Jeder User kommt <strong>in</strong> jedem Testdatensatz vor.<br />

Ausgewählt Nicht Ausgewählt Total<br />

Relevant Richtig positiv (N rs ) Falsch negativ (N rn ) N r<br />

Irrelevant Falsch positiv (N is ) Richtig negativ (N <strong>in</strong> ) N i<br />

Total N s N n N<br />

Tabelle 5.5: Aufteilung der Items <strong>in</strong> relevante <strong>und</strong> irrelevante Items sowie ausgewählte (dem<br />

Nutzer präsentierte) <strong>und</strong> nicht ausgewählte Items.<br />

R wie folgt def<strong>in</strong>iert s<strong>in</strong>d:<br />

P = N rs<br />

N s<br />

,<br />

R = N rs<br />

N r<br />

Precision gibt die Wahrsche<strong>in</strong>lichkeit an, mit der e<strong>in</strong> ausgewähltes Item relevant ist. Recall<br />

sagt, wie wahrsche<strong>in</strong>lich es ist, dass e<strong>in</strong> relevantes Item ausgewählt wird.<br />

Die Relevanz e<strong>in</strong>es Items muss bestimmt werden. Herlocker et. al. [31] schlägt vor, dass die<br />

bisher bekannten Rat<strong>in</strong>gs e<strong>in</strong>es Users <strong>in</strong> Tra<strong>in</strong><strong>in</strong>gs- <strong>und</strong> Testdatensätze aufgeteilt werden, der<br />

Algorithmus auf dem Tra<strong>in</strong><strong>in</strong>gsdatensatz tra<strong>in</strong>iert wird <strong>und</strong> dieser anschließend die Top-<br />

N Items aus dem Testdatensatz bestimmt. Wenn die Abweichung der echten Bewertung zu<br />

der vom Algorithmus geschätzten Bewertung h<strong>in</strong>reichend kle<strong>in</strong> ist (kle<strong>in</strong>er als e<strong>in</strong> vorher<br />

festgelegtes ɛ), kann man das Items für diesen Nutzer als relevant ansehen. Die Wahl des ɛ<br />

ist problemspezifisch.<br />

ROC Kurven s<strong>in</strong>d e<strong>in</strong>e Alternative zu Recall <strong>und</strong> Precision. Das ROC Modell versucht zu<br />

messen, <strong>in</strong>wieweit das zugr<strong>und</strong>e liegende System zwischen Signal (Relevanz) <strong>und</strong> Rauschen<br />

(ke<strong>in</strong>e Relevanz) unterscheiden kann. Es wird angenommen, dass der Recommender jedem<br />

Item e<strong>in</strong>e bestimmte Relevanz zuordnet, beispielsweise ob e<strong>in</strong> Item über e<strong>in</strong>er bestimmten<br />

Bewertungspunktezahl liegt. Daraus entstehen zwei Verteilungen, siehe Abbildung 5.2. Die<br />

l<strong>in</strong>ke Verteilung gibt an, mit welcher Wahrsche<strong>in</strong>lichkeit das System e<strong>in</strong> gewisses Level an<br />

Relevanz für e<strong>in</strong> Item schätzt, dass <strong>in</strong> Wirklichkeit gar nicht relevant ist <strong>und</strong> die rechte Verteilung<br />

für Items, die wirklich relevant s<strong>in</strong>d. Je weiter die beiden Verteilungen ause<strong>in</strong>ander<br />

65


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

Abbildung 5.2: E<strong>in</strong>e beispielhafte Abbildung zweier Wahrsche<strong>in</strong>lichkeitsverteilungen für relevante<br />

(rechts) <strong>und</strong> irrelevante Items (l<strong>in</strong>ks).<br />

liegen, desto besser kann das System zwischen Signal <strong>und</strong> Rauschen unterscheiden. In Recommendersytemen<br />

wird dem Benutzer typischerweise e<strong>in</strong>e absteigend sortierte Liste von<br />

Empfehlungen präsentiert, die dieser bis zu e<strong>in</strong>em gewissen Limit betrachtet. Dieses Limit<br />

kann e<strong>in</strong>e vom System festgelegte Begrenzung se<strong>in</strong> (Top-N Empfehlungen) oder auch vom<br />

Benutzer selbst festgelegt werden, beispielsweise wenn ihm die Top-5 Empfehlungen genügen.<br />

Für diesen cutoff Wert, wird e<strong>in</strong> neuer Recall berechnet, also die Anzahl der relevanten<br />

Items die dem Benutzer präsentiert werden. Dieser Wert entspricht der Fläche unter der relevanten<br />

Verteilung, rechts des cutoff. Der Fallout, also die Anzahl der irrelevanten Items die<br />

präsentiert werden, entspricht der Fläche unter der irrelevanten Verteilung, rechts des cutoff.<br />

Der Fallout ist def<strong>in</strong>iert als<br />

F = N is<br />

N i<br />

.<br />

E<strong>in</strong>e ROC Kurve ist e<strong>in</strong> Plot, der Recall gegen Fallout beschreibt, wobei jeder Punkt auf der<br />

Kurve für e<strong>in</strong>en anderen cutoff -Wert steht, siehe auch das Beispiel <strong>in</strong> Abbildung 5.3. Für e<strong>in</strong>en<br />

perfekten Schätzer würde die ROC Kurve zuerst ausschließlich nach oben zeigen bis 100%<br />

der relevanten Items behandelt wurden <strong>und</strong> dann e<strong>in</strong>e horizontale L<strong>in</strong>ie zeichen bis 100%<br />

irrelevante Items abgedeckt s<strong>in</strong>d. E<strong>in</strong> zufälliger Schätzer würde e<strong>in</strong>e W<strong>in</strong>kelhalbierende von<br />

l<strong>in</strong>ks unten nach rechts oben ziehen.<br />

5.2.4 Statistische Tests<br />

Die Resultate der e<strong>in</strong>zelnen Testläufe werden zusätzlich mit zwei statistischen Tests untersucht.<br />

Der Kruskal-Wallis-Test vergleicht, ob sich verschiedene unabhängige Stichproben h<strong>in</strong>sichtlich<br />

m<strong>in</strong>destens e<strong>in</strong>er ord<strong>in</strong>alskalierten Variable unterscheiden. Der Wilcoxon-Test prüft<br />

anhand von zwei gepaarten Stichproben die Gleichheit der zentralen Tendenz der zugr<strong>und</strong>e-<br />

66


5.3 Experimente<br />

True positive rate<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

4<br />

3<br />

2<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

False positive rate<br />

Abbildung 5.3: E<strong>in</strong>e ROC Kurve mit e<strong>in</strong>gezeichneten cutoff-Werten von 4, 3 <strong>und</strong> 2, die Bewertungen<br />

auf e<strong>in</strong>er Skala von 1 bis 5 entsprechen. Wenn man nur Items mit<br />

Bewertungen gröser-gleich 4 dem Benutzer präsentiert, werden ca. 30% aller<br />

relevanter Items <strong>und</strong> ca. 10% aller irrelevanter Items erwartet.<br />

liegenden Gr<strong>und</strong>gesamtheit. Die Nullhypothese H 0 lautet:<br />

H 0 : es gibt ke<strong>in</strong>en Unterschied zwischen den Stichproben.<br />

Die Stichproben s<strong>in</strong>d im Falle der folgenden Experimente die e<strong>in</strong>zelnen MAE Werte der gewählten<br />

Benutzer.<br />

5.3 Experimente<br />

In diesem Abschnitt werden die im vorherigen Kapitel vorgestellen Verfahren <strong>und</strong> die jeweils<br />

vorgeschlagenen Verbesserungen untersucht. Es wird dabei auf die folgenden Parameter <strong>und</strong><br />

Fragestellungen e<strong>in</strong>gegangen:<br />

• Verhalten der Verfahren mit <strong>und</strong> ohne optimierten Gewichtsvektor<br />

Wie verhält sich die Qualität der Empfehlungen wenn ke<strong>in</strong> Gewichtsvektor e<strong>in</strong>gesetzt<br />

wird? Bewirkt die vorgeschlagene Erweiterung wirklich e<strong>in</strong>e Verbesserung im mittle-<br />

67


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

ren Fehler der geschätzen Bewertungen? Wie verhält sich das Verfahren bei zufällig<br />

bestimmten Gewichtsvektoren?<br />

• Ke<strong>in</strong> globales Optimum <strong>und</strong> damit ke<strong>in</strong> stabiler Gewichtsvektor<br />

Warum ergeben mehrere unabhängige Läufe der vorgeschlagenen Verfahren verschiedene<br />

Gewichtsvektoren für den gleichen aktiven Benutzer? Ist <strong>in</strong> der Fitnesslandschaft<br />

ke<strong>in</strong> globales Optimum zu f<strong>in</strong>den <strong>und</strong> existieren stattdessen viele kle<strong>in</strong>e lokale Optima?<br />

• Größe der Nachbarschaft<br />

Wie wirkt sich die Wahl der Nachbarschaftsgröße auf die Empfehlungsqualität aus?<br />

Sollte man e<strong>in</strong>e große Menge an Nutzern befragen oder eher e<strong>in</strong>e kle<strong>in</strong>e Expertengruppe?<br />

• Verschiedene Abstandsmaße<br />

Wie verhält sich die Bestimmung der Nachbarschaft (<strong>und</strong> die daraus resultierende Genauigkeit<br />

der Empfehlungen), wenn verschiedene Abstandsmaße verwendet werden?<br />

• Spezifische Parameter der Optimierungsverfahren<br />

Alle e<strong>in</strong>gesetzten Optimierungsverfahren verfügen über mehrere Parameter, die den<br />

Ablauf des Algorithmus bee<strong>in</strong>flussen. Kann man durch die Anpassung der Parameter<br />

auf das zugr<strong>und</strong>eliegende Problem Verbesserungen <strong>in</strong> der Empehlungsqualität erzielen?<br />

Wenn ja, wie ist dies zu begründen?<br />

Ablauf der experimentellen Untersuchung Im Folgenden werden alle <strong>in</strong> Kapitel 4 vorgeschlagenen<br />

<strong>Algorithmen</strong> <strong>und</strong> Verfahren untersucht. PSOREC, das erste Verfahren das besprochen<br />

wird, geht <strong>in</strong>tensiv auf das verwendetete Recommendersystem <strong>und</strong> dessen Parameter<br />

e<strong>in</strong>. Wenn sich <strong>in</strong> den folgenden Verfahren ke<strong>in</strong>e Veränderungen <strong>in</strong> dieser H<strong>in</strong>sicht ergeben,<br />

wird darauf h<strong>in</strong>gewiesen <strong>und</strong> wenn möglich, e<strong>in</strong>e Begründung abgegeben. Auf e<strong>in</strong>e red<strong>und</strong>ante<br />

Untersuchung wird aber verzichtet.<br />

Alle Testläufe der <strong>Algorithmen</strong> werden per 5-facher Kreuzvalidierung untersucht <strong>und</strong> 20<br />

feste Benutzer im Wechsel als aktive Benutzer, die zufällig aus dem Datensatz gezogen wurden,<br />

verwendet. Je nach Art des zu testenden Problems werden mehrere unabhängige Läufe<br />

durchgeführt, um die Zufallskomponenten der verwendeten Optimierungsalgorithmen auszugleichen.<br />

Die MAE-Werte, der <strong>in</strong> den folgenden Abbildungen aufgezeigt s<strong>in</strong>d, geben den Durchschnitt<br />

der fünf Resultate der Kreuzvalidierung wieder. Innerhalb e<strong>in</strong>er der fünf Resultate wurde<br />

jeweils der beste MAE Wert der unabhäng<strong>in</strong>gen Läufe (meist zwischen 10 <strong>und</strong> 50) ausgewählt.<br />

Dies ist üblich bei Recommendersystemen, bei denen die Empfehlungen off-l<strong>in</strong>e vorberechnet<br />

werden können <strong>und</strong> es nur wichtig ist, welcher der Läufe den kle<strong>in</strong>sten mittleren Fehler<br />

ergeben hat [75, 39].<br />

5.3.1 Resultat Abstandsmaße ohne Optimierung<br />

Ohne Verwendung der Optimierungsalgorithmen werden vier verschiedene Abstandsmaße<br />

für die Ähnlichkeitsberechnung zweier Benutzer untersucht, die ke<strong>in</strong>e Gewichte auf den e<strong>in</strong>-<br />

68


5.3 Experimente<br />

zelnen Features enthalten. Neben den schon vorgestellten Maßen (Pearson-Korrelation, Kos<strong>in</strong>usähnlichkeit<br />

<strong>und</strong> euklidischer Abstand) wird zusätzlich die Manhatten-Distanz verwendet.<br />

Die Empfehlungen werden mit Formel 2.4 berechnet <strong>und</strong> für zufällig gewählte 20 Benutzer<br />

jeweils der MAE bestimmt.<br />

In Abbildung 5.4 s<strong>in</strong>d die MAE Werte für jeden der 20 Benutzer <strong>und</strong> jeweils die Abstandsmaße<br />

darstellt. Diese Werte wurden mit dem Kruskal-Wallis-Test analysiert. H 0 lautet, dass<br />

zwischen den vier Verfahren ke<strong>in</strong> Unterschied besteht. Es ergibt sich e<strong>in</strong> p-Wert von 0.9965.<br />

H 0 kann nicht abgelehnt werden.<br />

MAE (mean absolute error)<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

Manhattan Metrik<br />

Euklidische Metrik<br />

Pearson-Korrelation<br />

Kos<strong>in</strong>usähnlichkeit<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.4: MAE für 20 Benutzer bei Verwendung von vier unterschiedlichen Abstandsfunktionen<br />

ohne Optimierung.<br />

5.3.2 Resultat exemplarischer Fitnessverlauf<br />

Es soll am Beispiel e<strong>in</strong>es zufällig bestimmten aktiven Benutzers der Verlauf der Fitness während<br />

des Optimierungsverfahrens aufgezeigt werden. Der mittlere absolute Fehler verr<strong>in</strong>gert<br />

sich im Verlauf der Optimierung. Siehe dafür die entsprechenden MAE Werte <strong>in</strong> Abbildung<br />

5.5.<br />

5.3.3 Resultate PSOREC<br />

Gewichtete Abstandsmaße Es soll untersucht werden, wie sich der PSOREC verhält, wenn<br />

statische, zufällige <strong>und</strong> optimierte Gewichtsvektoren e<strong>in</strong>gesetzt werden. Es wurden für 20<br />

Benutzer je 50 unabhängige Läufe durchgeführt <strong>und</strong> jeweils der MAE bestimmt.<br />

69


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

0.59<br />

Fitnessverlauf<br />

Fitness (mean absolute error)<br />

0.585<br />

0.58<br />

0.575<br />

0.57<br />

0.565<br />

0.56<br />

0 10 20 30 40 50 60 70 80 90 100<br />

Zeit <strong>in</strong> Iterationen<br />

Abbildung 5.5: Exemplatischer Verlauf der Fitness (MAE) während der Optimierung durch<br />

e<strong>in</strong> gegebenes Optimierungsverfahren für e<strong>in</strong>en festen aktiven Benutzer.<br />

In Abbildung 5.6 s<strong>in</strong>d die e<strong>in</strong>zelnen MAE Werte aufgeführt. Der MAE ist für optimierte<br />

Gewichte bei allen 20 Benutzern kle<strong>in</strong>er oder gleich den nicht optimierten Gewichten. Für<br />

den statistischen Test wurde der Wilcoxon-Test verwendet. Die Nullhypothese lautet, das es<br />

ke<strong>in</strong>en Unterschied zwischen den optimierten <strong>und</strong> statischen Gewichtsvektoren. Es ergibt<br />

sich e<strong>in</strong> p-Wert von 0, 005722, d.h. es gibt e<strong>in</strong>en statistisch signifikanten Unterschied.<br />

Für Benutzer 14 wurden ROC Kurven gezeichnet, siehe Abbildung 5.7. Für die l<strong>in</strong>ke Kurve<br />

wurde ke<strong>in</strong> optimierter Gewichtsvektor für die Nachbarschaftsbestimmung verwendet, für<br />

die rechte Kurve wurde e<strong>in</strong> per PSOREC optimierter Vektor e<strong>in</strong>gesetzt. Tabelle 5.6 listet die<br />

Werte für die beiden areas <strong>und</strong>er the curce (AUC) auf.<br />

Methode<br />

Area <strong>und</strong>er the curve<br />

Ohne Optimierung 0.5349206<br />

PSOREC Optimierung 0.6293706<br />

Tabelle 5.6: Area <strong>und</strong>er the curve für Benutzer 14, mit <strong>und</strong> ohne optimiertem Gewichtsvektor.<br />

Globales Optimum Die vorgeschlagene Fitnessfunktion zeigt auf den Datensätzen ke<strong>in</strong> e<strong>in</strong>deutiges<br />

globales Optimum. Dieses Verhalten konnte bei der Entwicklung des Algorithmus<br />

beobachtet werden. Unabhängige, aufe<strong>in</strong>ander folgende Läufe des Algorithmus konvergieren<br />

immer auf e<strong>in</strong>en ähnlichen Fitnesswert, der zugehörige Gewichtsvektor endet jedoch<br />

nicht auf gleichen Werten. Jeder unabhängige Lauf gewichtet die Präferenzen des aktiven<br />

Users anders, so dass für e<strong>in</strong>en festgehaltenen User ke<strong>in</strong> e<strong>in</strong>deutiger Gewichtsvektor gef<strong>und</strong>en<br />

werden kann. In Abbildung 5.8 s<strong>in</strong>d 50 unabhängige Läufe exemplarisch für vier feste<br />

70


5.3 Experimente<br />

1.2<br />

1.1<br />

Optimierte Gewichte<br />

Zufällige Gewichte<br />

Ke<strong>in</strong> Gewicht<br />

MAE (mean absolute error)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.6: Auswirkungen von optimierten, zufälligen oder festen Gewichtsvektoren für<br />

20 Benutzer auf den mittleren absoluten Fehler (MAE). Der optimierte Gewichtsvektor<br />

ergibt für fast alle Benutzer e<strong>in</strong>en kle<strong>in</strong>eren Fehler <strong>und</strong> für ke<strong>in</strong>en<br />

Benutzer e<strong>in</strong>en schlechteren Fehler.<br />

aktive Benutzer als Heatmap aufgeführt, aus der man diese Schwankungen ablesen kann. Zusätzlich<br />

wurde für die gleichen Benutzer die Streuung der e<strong>in</strong>zelnen Gewichte mit Boxplots<br />

dargestellt, siehe Abbildung 5.9.<br />

Verschiedene Abstandsmaße Es soll untersucht werden, wie sich die verschiedenen Abstandsmaße<br />

auf den MAE auswirken. Es wurden für alle vier vorgestellten Abstandsmaße<br />

für 20 Benutzer je 5 unabhängige Läufe durchgeführt <strong>und</strong> der m<strong>in</strong>imale MAE-Wert verwendet.<br />

In Abbildung 5.10 sieht man, dass für manche Benutzer e<strong>in</strong>es der Maße e<strong>in</strong>en besseren<br />

MAE Wert ergibt als die anderen Maße, jedoch ke<strong>in</strong> Maß bei allen Benutzern immer besser<br />

ist als die anderen. Der euklidische Abstand ist <strong>in</strong> 14 von 20 Fällen das schlechteste Maß.<br />

Als statistischer Test wurde Kruskal-Wallis-Test verwendet. H 0 lautet, dass es ke<strong>in</strong>en Unterschied<br />

zwischen den Abstandsmaßen gibt. Es ergibt sich p-Wert von 0.5813, d.h. H 0 kann<br />

nicht abgelehnt werden.<br />

Wahl der Nachbarschaftsgröße Es wurde die Auswirkung der Nachbarschaftsgröße auf<br />

den mittleren absoluten Fehler untersucht. Dafür wurde für 10 verschiedene aktive Benutzer<br />

im Wechsel jede mögliche Nachbarschaftsgröße verwendet <strong>und</strong> der MAE bestimmt. In<br />

Abbildung 5.11 ist der Verlauf des MAE abgebildet. Es ist zu sehen, dass sich der MAE bei<br />

ansteigender Nachbarschaftsgröße verr<strong>in</strong>gert <strong>und</strong> ab ca. 400 Benutzern stabilisiert.<br />

71


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

True positive rate<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

3.43 3.78 4.13 4.49 4.84 5.19<br />

True positive rate<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

3.53 3.86 4.19 4.52 4.85 5.18<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

False positive rate<br />

0.0 0.2 0.4 0.6 0.8 1.0<br />

False positive rate<br />

Abbildung 5.7: ROC Kurven für e<strong>in</strong>en exemplatischen Benutzer (14). L<strong>in</strong>ks ohne optimierten<br />

Gewichtsvektor, rechts per PSOREC optimiert.<br />

Reduzierung von Features Es soll untersucht werden, <strong>in</strong>wiefern sich der MAE <strong>und</strong> die<br />

Gewichtsvektoren verändern, wenn Teile der demografischen Features <strong>und</strong> die Genres aus<br />

dem Datensatz entfernt werden. Es wurden dazu aus dem MovieLens Datensatz modifizierte<br />

Datensätze erstellt, die diese Features jeweils nicht enthalten. Es werden exemplarisch zwei<br />

Benutzer ausgewählt, die auch bei der Untersuchung zum globalen Optimum verwendet<br />

wurden: Benutzer 12 <strong>und</strong> 19, die beide Eigenschaften vorweisen, die zur experimentellen<br />

Untersuchung nützlich s<strong>in</strong>d (siehe dazu die Diskussion <strong>in</strong> Kapitel 6.5.3).<br />

Für beide Benutzer wurde jeweils die Abweichung der Gewichtswerte für folgende Varianten<br />

des Datensatzes <strong>in</strong> Abbildung 5.12 <strong>und</strong> 5.13 aufgezeigt: Ke<strong>in</strong> Geschlecht, ke<strong>in</strong> Alter,<br />

überhaupt ke<strong>in</strong>e demografischen Daten <strong>und</strong> ke<strong>in</strong>e Genre<strong>in</strong>formationen der Items. In Abbildung<br />

5.14 ist der Verlauf des mittleren absoluten Fehlers für 20 Benutzer abgebildet. Es ist zu<br />

erkennen, dass für manche Benutzer der Unterschied zwischen den Varianten größer ist als<br />

für andere. Es wurde der Kruskal-Wallis-Test als statistischer Test verwendet. H 0 lautet, dass<br />

es ke<strong>in</strong>en Unterschied zwischen den MAE Werten gibt, wenn Features weggelassen werden.<br />

Der Kruskal-Wallis-Test ergab e<strong>in</strong>en p-Wert von 0.9787, d.h. H 0 kann nicht abgelehnt werden.<br />

Auswirkungen von Velocity Clamp<strong>in</strong>g <strong>und</strong> Trägheitsgewichten Für die <strong>in</strong> Tabelle 5.7 aufgeführten<br />

Komb<strong>in</strong>ationen wurden 50 unabhängige Läufe durchgeführt <strong>und</strong> jeweils der MAE<br />

berechnet. Das Trägheitsgewicht (TG) wurde <strong>in</strong> zwei Varianten untersucht, siehe dazu auch<br />

Abschnitt 4.5.2. Die Mittelwerte des MAE über die 50 Läufe s<strong>in</strong>d <strong>in</strong> der zweiten Spalte aufgeführt.<br />

72


5.3 Experimente<br />

0.71546<br />

0.70665<br />

0.78251<br />

0.86519<br />

0.69509<br />

0.69176<br />

0.75966<br />

0.67989<br />

0.65857<br />

0.70404<br />

0.71409<br />

0.70412<br />

0.71568<br />

0.69943<br />

0.67155<br />

0.64140<br />

0.67828<br />

0.71797<br />

0.71373<br />

0.72955<br />

0.69804<br />

0.72820<br />

0.69885<br />

0.72415<br />

0.68596<br />

0.68532<br />

0.70963<br />

0.69323<br />

0.69770<br />

0.68020<br />

0.98210<br />

0.67420<br />

0.70987<br />

0.68926<br />

1.10581<br />

0.71468<br />

0.71065<br />

1.25463<br />

0.71728<br />

0.99730<br />

0.72246<br />

0.66131<br />

0.71779<br />

0.72129<br />

0.69297<br />

0.70643<br />

0.68802<br />

0.71990<br />

0.69265<br />

0.70272<br />

0.59135<br />

0.56914<br />

0.58819<br />

0.57763<br />

0.58075<br />

0.57233<br />

0.57810<br />

0.58807<br />

0.58306<br />

0.58172<br />

0.58721<br />

0.58129<br />

0.57746<br />

0.59998<br />

0.57474<br />

0.57517<br />

0.57100<br />

0.57917<br />

0.58238<br />

0.58937<br />

0.58097<br />

0.56544<br />

0.59027<br />

0.58083<br />

0.56129<br />

0.57346<br />

0.57893<br />

0.58107<br />

0.57539<br />

0.57497<br />

0.57706<br />

0.57898<br />

0.58232<br />

0.58784<br />

0.58072<br />

0.58617<br />

0.57351<br />

0.58033<br />

0.57278<br />

0.57509<br />

0.58624<br />

0.58633<br />

0.57479<br />

0.56892<br />

0.57015<br />

0.58486<br />

0.58404<br />

0.57150<br />

0.61490<br />

0.57034<br />

Rat<strong>in</strong>g<br />

Alter<br />

Geschlecht<br />

Beruf<br />

Action<br />

Adventure<br />

Animation<br />

Children<br />

Comedy<br />

Crime<br />

Documentary<br />

Drama<br />

Fantasy<br />

Film.Noir<br />

Horror<br />

Musical<br />

Mystery<br />

Romance<br />

Sci.Fi<br />

Thriller<br />

War<br />

Western<br />

0.82827<br />

0.81614<br />

0.81724<br />

0.82496<br />

0.82379<br />

0.82425<br />

0.82193<br />

0.81898<br />

0.82055<br />

0.82117<br />

0.82197<br />

0.82424<br />

0.82403<br />

0.82289<br />

0.82014<br />

0.8291<br />

0.81985<br />

0.8324<br />

0.82049<br />

0.82327<br />

0.82553<br />

0.82545<br />

0.82074<br />

0.82403<br />

0.82399<br />

0.82158<br />

0.82934<br />

0.82026<br />

0.8239<br />

0.84175<br />

0.82508<br />

0.82278<br />

0.82697<br />

0.82353<br />

0.82048<br />

0.82409<br />

0.82045<br />

0.82228<br />

0.82415<br />

0.81965<br />

0.82949<br />

0.82541<br />

0.82238<br />

0.82047<br />

0.82458<br />

0.82<br />

0.82353<br />

0.83047<br />

0.82342<br />

0.82683<br />

Rat<strong>in</strong>g<br />

Alter<br />

Geschlecht<br />

Beruf<br />

Action<br />

Adventure<br />

Animation<br />

Children<br />

Comedy<br />

Crime<br />

Documentary<br />

Drama<br />

Fantasy<br />

Film.Noir<br />

Horror<br />

Musical<br />

Mystery<br />

Romance<br />

Sci.Fi<br />

Thriller<br />

War<br />

Western<br />

0.78733<br />

0.77410<br />

0.79168<br />

0.85049<br />

0.77860<br />

0.77730<br />

0.77408<br />

0.81226<br />

0.79401<br />

0.78355<br />

0.77071<br />

0.77822<br />

0.75062<br />

0.78711<br />

0.78429<br />

0.77664<br />

0.77913<br />

0.78362<br />

0.79635<br />

0.79765<br />

0.77675<br />

0.78306<br />

0.77831<br />

0.77868<br />

0.78955<br />

0.79160<br />

0.77254<br />

0.77762<br />

0.77787<br />

0.77593<br />

0.77770<br />

0.78066<br />

0.78100<br />

0.77150<br />

0.77443<br />

0.77457<br />

0.78869<br />

0.77625<br />

0.77958<br />

0.77564<br />

0.77380<br />

0.77198<br />

0.77612<br />

0.77184<br />

0.77155<br />

0.77868<br />

0.78558<br />

0.80339<br />

0.78413<br />

0.79566<br />

Rat<strong>in</strong>g<br />

Alter<br />

Geschlecht<br />

Beruf<br />

Action<br />

Adventure<br />

Animation<br />

Children<br />

Comedy<br />

Crime<br />

Documentary<br />

Drama<br />

Fantasy<br />

Film.Noir<br />

Horror<br />

Musical<br />

Mystery<br />

Romance<br />

Sci.Fi<br />

Thriller<br />

War<br />

Western<br />

Abbildung 5.8: Heatmap für vier feste aktive Benutzer <strong>und</strong> 50 unabhängige Läufe. Die rechte<br />

Spalte jeder Heatmap gibt die Fitness des jeweiligen Gewichts an. Je heller e<strong>in</strong><br />

Feld, desto höher ist das Gewicht für die Features auf der horizontalen Achse.<br />

Von l<strong>in</strong>ks oben nach rechts unten geben die Heatmaps die Benutzer 19, 12, 1<br />

<strong>und</strong> 8 des MovieLens Datensatzes wieder.<br />

Rat<strong>in</strong>g<br />

Alter<br />

Geschlecht<br />

Beruf<br />

Action<br />

Adventure<br />

Animation<br />

Children<br />

Comedy<br />

Crime<br />

Documentary<br />

Drama<br />

Fantasy<br />

Film.Noir<br />

Horror<br />

Musical<br />

Mystery<br />

Romance<br />

Sci.Fi<br />

Thriller<br />

War<br />

Western<br />

Methode<br />

Mittelwert über 50 Läufe<br />

TG l<strong>in</strong>ear Absteigend 0.814354392422<br />

TG Zufällig aus [0.5,1.0] 0.814961980444<br />

Nur Velocity Clamp<strong>in</strong>g 0.817766193135<br />

Ohne VC <strong>und</strong> TG 0.830134952941<br />

Tabelle 5.7: Mittelwerte des MAE über 50 unabhängige Läufe auf dem MovieLens Datensatz<br />

für die ersten 20 Benutzer.<br />

73


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

-0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6<br />

-0.1 0.0 0.1 0.2 0.3 0.4<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

0.0 0.1 0.2 0.3 0.4<br />

-0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.9: Streuung der Werte der 22 Gewichte für vier feste aktive Benutzer <strong>und</strong> 50<br />

unabhängige Läufe. Von l<strong>in</strong>ks oben nach rechts s<strong>in</strong>d dies die Benutzer 19, 12,<br />

1 <strong>und</strong> 8.<br />

Random Resett<strong>in</strong>g Für diese Erweiterung des PSOREC Algorithmus wurden zwei Methoden<br />

untersucht. Die erste Methode setzt den Geschw<strong>in</strong>digkeitsvektor <strong>in</strong> allen Dimensionen<br />

auf 0 zurück, während die zweite Methode e<strong>in</strong>en zufälligen neuen Vektor generiert. Alle 10<br />

Iterationen wurde die Hälfte der Partikel an e<strong>in</strong>e neue, zufällige Position gesetzt.<br />

Abbildung 5.16 beschreibt den Verlauf des MAE für 20 verschiedene Benutzer. Für die meisten<br />

Benutzer ist der Unterschied sehr ger<strong>in</strong>g <strong>und</strong> es kann sich ke<strong>in</strong> Verfahren e<strong>in</strong>deutig absetzen.<br />

Es wurde als statistischer Test der Kruskal-Wallis-Test verwendet. H 0 lautet, das es ke<strong>in</strong>en<br />

Unterschied zwischen den jeweiligen MAE Werten gibt. Der p-Wert ist 0.9863, d.h. H 0 kann<br />

nicht abgelehnt werden.<br />

74


5.3 Experimente<br />

MAE (mean absolute error)<br />

1.3<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

Manhattan Metrik<br />

Euklidische Metrik<br />

Pearson Korrelationskoeffizient<br />

Kos<strong>in</strong>usähnlichkeit<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.10: PSOREC: Mittlerer absoluter Fehler für 20 Benutzer <strong>und</strong> jeweils unterschiedliche<br />

Abstandsmetriken für die Berechnung der Nachbarschaft.<br />

Es soll untersucht werden, ob Random Resett<strong>in</strong>g die erhofften Verbesserungen <strong>in</strong> der Stabilität<br />

der Gewichtsvektoren ergeben kann. Abbildung 5.17 zeigt für e<strong>in</strong>en exemplarischen<br />

Benutzer, der sich <strong>in</strong> den bisherigen Experimenten als <strong>in</strong>teressant herausgestellt hat (siehe<br />

dazu Kapitel 6.5.3), die Abweichungen der e<strong>in</strong>zelnen Gewichte.<br />

5.3.4 Resultate GAREC<br />

Gewichtete Abstandsmaße Die im vorherigen Abschnitt untersuchten Gewichte, die durch<br />

den e<strong>in</strong>gesetzten PSO optimiert wurden, sollen mit e<strong>in</strong>em per GAREC optimierten Gewichtsvektor<br />

verglichen werden. Es wurden wieder 20 Benutzer untersucht <strong>und</strong> die besten MAE-<br />

Werte der unabhängigen Läufe <strong>in</strong> Abbildung 5.18 dargestellt. Zusätzlich wurde die besprochene<br />

Selbstanpassung der Mutationsschritte als Alternative zum Standard-GA sowie das<br />

IWOREC Verfahren mit <strong>in</strong> diesen Plot aufgenommen. Zum Vergleich wird ebenfalls das PSO-<br />

REC Verfahren dargestellt. Es ist zu erkennen, dass nur Benutzer 20 große Unterschiede zeigt.<br />

IWOREC ist <strong>in</strong> 10 von 20 Fällen das beste Maß. Die Nullhypothese für den statistischen Test<br />

lautet, dass es ke<strong>in</strong>en Unterschied zwischen den Verfahren gibt. Der Kruskal-Wallis-Test ergibt<br />

e<strong>in</strong>en p-Wert von 0.9749, d.h. H 0 kann nicht abgelehnt werden.<br />

Verschiedene Abstandsmaße Es wurden, wie schon zuvor beim PSOREC Algorithmus,<br />

die Auswirkungen der verschiedenen Abstandsmaße auf den MAE untersucht. Abbildung 5.19<br />

zeigt für jeden Benutzer <strong>und</strong> jedes der Abstandsmaße den entsprechenden MAE Wert. Man<br />

sieht, dass für manche Benutzer jeweils e<strong>in</strong>es der Maße e<strong>in</strong>en besseren MAE Wert ergibt als<br />

75


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

0.95<br />

Mittlerer absoluter Fehler (MAE)<br />

Fitness (mean absolute error)<br />

0.9<br />

0.85<br />

0.8<br />

0.75<br />

0.7<br />

0.65<br />

0 100 200 300 400 500 600 700 800 900 1000<br />

Anzahl Benutzer <strong>in</strong> Nachbarschaft<br />

Abbildung 5.11: Verlauf des MAE für verschiedene Nachbarschaftsgrößen, gemittelt über 10<br />

Benutzer. Gültig für PSOREC, GAREC <strong>und</strong> IWOREC.<br />

die anderen Maße, jedoch ke<strong>in</strong> Maß bei allen Benutzern immer e<strong>in</strong>en niedrigeren Wert ergibt.<br />

H 0 für den statistischen Test Lautet, dass es ke<strong>in</strong>en Unterschied zwischen den Abstandmaßen<br />

gibt. Der Kruskal-Wallis-Test ergab e<strong>in</strong>en p-Wert von 0.5613, d.h. H 0 kann nicht abgelehnt<br />

werden.<br />

Mutationswahrsche<strong>in</strong>lichkeit Es wurde der Parameter für die Wahrsche<strong>in</strong>lichkeit e<strong>in</strong>er<br />

Mutation e<strong>in</strong>es Individuums untersucht. Zwei Tests wurden durchgeführt, e<strong>in</strong>mal mit der<br />

Standard-Wahrsche<strong>in</strong>lichkeit für GAREC von 3% <strong>und</strong> e<strong>in</strong>mal mit e<strong>in</strong>er Wahrsche<strong>in</strong>lichkeit<br />

von 25%. Der mittlere absolute Fehler für 20 Benutzer der jeweiligen Verfahren ist <strong>in</strong> Abbildung<br />

5.20 gezeigt. Für 18 von 20 Benutzer ist der MAE bei e<strong>in</strong>er 3%-igen Wahrsche<strong>in</strong>lichkeit<br />

niedriger. Es wurde der Wilcoxon-Test als statistischer Test verwendet. Es ergibt sich e<strong>in</strong> p-<br />

Wert von 0, 03624, d.h. es gibt e<strong>in</strong>en statistisch signifikanten Unterschied.<br />

Auswirkung von Fitness-Shar<strong>in</strong>g Es soll die Auswirkung der Fitness-Shar<strong>in</strong>g Erweiterung<br />

untersucht werden. Diese Erweiterung soll e<strong>in</strong>e verbesserte Verteilung der Individuen <strong>in</strong> e<strong>in</strong>er<br />

multimodalen Fitnesslandschaft gewährleisten, siehe Abschnitt 4.6.2. Es wurden 20 Benutzer<br />

auf ihren MAE Wert untersucht. Die Ergebnisse werden <strong>in</strong> Abbildung 5.21 mit den<br />

Ergebnissen e<strong>in</strong>es GA’s ohne Fitness Shar<strong>in</strong>g verglichen. Man kann erkennen, das bei 14 von<br />

20 Benutzern der MAE Wert mit Fitness-Shar<strong>in</strong>g niedriger ist. Es wurde der Wilcoxon-Test<br />

verwendet. Die Nullhypothese H 0 lautet, dass es ke<strong>in</strong>en Unterschied zwischen den beiden<br />

Verfahren gibt. Der p-Wert ist 0.01531, d.h. es gibt e<strong>in</strong>en statistisch signifikanten Unterschied.<br />

76


5.3 Experimente<br />

-0.2 0.0 0.2 0.4 0.6<br />

-1.0 -0.5 0.0 0.5 1.0<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

-10 -5 0 5<br />

-2 -1 0 1 2 3<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.12: PSOREC: Streuung der Gewichte für Benutzer 19 für e<strong>in</strong>en modizifierten<br />

Datensatz, bei dem das Alter (l<strong>in</strong>ks oben), das Geschlecht (rechts oben), alle<br />

demografischen Werte (l<strong>in</strong>ks unten) <strong>und</strong> die Genres (rechts unten) weggelassen<br />

wurde (für je 50 unabhängige Läufe).<br />

Selbstanpassung der Mutationsschritte <strong>und</strong> Evolution Strategies Nachdem <strong>in</strong> den vorherigen<br />

Paragraphen der Standard-GAREC untersucht wurde, wird nun die <strong>in</strong> Abschnitt 4.6.3<br />

vorgestellte Variante mit den bisherigen Ergebnissen verglichen. Die Anpassung der Mutationsschritte<br />

<strong>in</strong>nerhalb der Evolution der Population kann e<strong>in</strong>en positiven Effekt auf die Stabilität<br />

der Gewichte <strong>und</strong> die Recommenderqualität (MAE) haben, <strong>in</strong>dem sie lokale Optima durch<br />

die unterschiedliche Veränderung der Muationsschritte <strong>in</strong> jeder Dimension überw<strong>in</strong>den kann.<br />

Es wurden zwei Experimente durchgeführt: Zum e<strong>in</strong>en wurde der mittlere absolute Fehler<br />

über 20 Benutzer berechnet <strong>und</strong> mit dem GAREC Verfahren verglichen, siehe dazu die schon<br />

erwähnten MAE-Werte <strong>in</strong> Abbildung 5.18. Es wurde der Wilcoxon-Test für die Stichproben<br />

77


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

-0.1 0.0 0.1 0.2 0.3 0.4 0.5<br />

-2 -1 0 1 2<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

-4 -2 0 2 4<br />

-6 -4 -2 0 2 4 6 8<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.13: PSOREC: Streuung der Gewichte für Benutzer 12 für e<strong>in</strong>en modizifierten<br />

Datensatz, bei dem das Alter (l<strong>in</strong>ks oben), das Geschlecht (rechts oben), alle<br />

demografischen Werte (l<strong>in</strong>ks unten) <strong>und</strong> die Genres (rechts unten) weggelassen<br />

wurde (für je 50 unabhängige Läufe).<br />

des GAREC <strong>und</strong> des erweiterten GAREC Verfahren durchgeführt. Es ergab sich e<strong>in</strong> p-Wert<br />

von 0.08255. H 0 kann damit bei e<strong>in</strong>em Signifikanzniveau von 0,05 nicht abgelehnt werden.<br />

Zum anderen wurden für ausgewählten Benutzer 12 <strong>und</strong> 19 die jeweiligen Gewichtsvektoren<br />

untersucht, um zu sehen, ob sich Unterschiede <strong>in</strong> der Stabilität ergeben. Siehe dazu die<br />

Abbildung 5.22, <strong>in</strong> der für die jeweiligen Features die Abweichungen dargestellt s<strong>in</strong>d.<br />

78


5.3 Experimente<br />

MAE (mean absolute error)<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

Ke<strong>in</strong> Alter<br />

Ke<strong>in</strong> Geschlecht<br />

Ke<strong>in</strong>e Demografie<br />

Ke<strong>in</strong>e Genres<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.14: PSOREC: Verlauf des MAE mit jeweiligen Reduzierungen der Features für<br />

20 Benutzer.<br />

Fitness (mean absolute error)<br />

1<br />

0.95<br />

0.9<br />

0.85<br />

0.8<br />

0.75<br />

Trägheitsgewicht l<strong>in</strong>ear absteigend von 0.9 auf 0.4<br />

Zufälliges Trägheitsgewicht aus [0.5,1.0]<br />

Ke<strong>in</strong> Trägheitsgewicht, Vmax Verr<strong>in</strong>gerung<br />

0.7<br />

0 5 10 15 20 25 30 35 40 45 50<br />

Unabhängige Läufe<br />

Abbildung 5.15: PSOREC: Verlauf des MAE für verschiedene Berechnungsmethoden der<br />

Trägheitsgewichte.<br />

5.3.5 Resultate IWOREC<br />

Globales Optimum Auch beim IWOREC-Verfahren wurde das globales Optimum untersucht.<br />

Die bisher verwendeten Benutzer 1, 8, 12 <strong>und</strong> 19 s<strong>in</strong>d wie <strong>in</strong> den vorherigen Experi-<br />

79


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

MAE (mean absolute error)<br />

1.4<br />

1.3<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

Nullvektor<br />

zufälliger Vektor<br />

ke<strong>in</strong> Resett<strong>in</strong>g<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.16: PSOREC: MAE für 20 Benutzer <strong>und</strong> verschiede Ansätze zur Re<strong>in</strong>itialisierung<br />

der Partikel im PSOREC Algorithmus.<br />

menten für 50 unabhängige Läufe <strong>in</strong> Abbildung 5.23 als Boxplots dargestellt. Es wurden die<br />

Standardparameter aus Tabelle 4.1 für das IWOREC Verfahren verwendet.<br />

Verschiedene Abstandsmaße Die vier Abstandsmaße wurden für das PSOREC Verfahren<br />

untersucht. Für 20 Benutzer s<strong>in</strong>d <strong>in</strong> Abbildung 5.24 die MAE Werte für die jeweilgen Maße<br />

aufgeführt. Die Pearsonkorrelation ist <strong>in</strong> 10 von 20 Fällen das beste Maß, der euklidische<br />

Abstands <strong>in</strong> ke<strong>in</strong>em der Fälle. Für den statistischen Test lautet H 0 , dass es ke<strong>in</strong>en Unterschied<br />

zwischen den Maßen gibt. Der p-Wert, ermittelt durch den Kruskal-Wallis-Test, ist 0.7524. D.h.<br />

H 0 kann nicht abgelehnt werden.<br />

Wahl der IWO Parameter Es wurden für die Wahl der Standardabweichung σ für die<br />

Ausbreitungsweite der Samen im IWO Algorithmus verschiedene Werte getestet. In Abbildung<br />

5.25 ist der MAE für alle ganzzahligen Werte von 1 bis 50 für σ aufgeführt. Für jeden<br />

dieser Werte wurden für 20 Benutzer aus dem MovieLens Datensatz die besten MAE Werte<br />

aus 5 unabhängigen Läufen ausgewählt <strong>und</strong> der Mittelwert berechnet. Ab e<strong>in</strong>em σ von ca. 25<br />

ist e<strong>in</strong> Anstieg des MAE zu erkennen.<br />

FPS Strategie für IWO Es wurde die <strong>in</strong> Abschnitt 4.7.2 besprochene Fitness proportional selection<br />

als Alternative für die Auswahl der Nachkommen untersucht. Der Standard für IWOREC<br />

ist e<strong>in</strong>e Fitness-based Selektion. In Abbildung 5.26 ist der mittlere absolute Fehler für 20 Benutzer<br />

dargestellt. Bei 15 von 20 Benutzern ergibt sich für das Verfahren ohne FPS e<strong>in</strong> niedriger<br />

80


5.3 Experimente<br />

-0.2 -0.1 0.0 0.1 0.2 0.3 0.4<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

-0.2 0.0 0.2 0.4<br />

0.0 0.1 0.2 0.3<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.17: PSOREC: Boxplots der Streuung der e<strong>in</strong>zelnen Gewichtswerte bei 50 unabhängigen<br />

Läufen für Benutzer 12. In der oberen Abbildung wurde ke<strong>in</strong><br />

Random Resett<strong>in</strong>g verwendet, l<strong>in</strong>ks unten wurde der neue Geschw<strong>in</strong>digkeitsvektor<br />

zufällig generiert <strong>und</strong> rechts unten <strong>in</strong> allen Dimensionen auf 0<br />

gesetzt.<br />

MAE Wert. Der Wilcoxon-Test für diese beiden Stichproben ergab e<strong>in</strong>en p-Wert von 0.02148,<br />

d.h. es gibt e<strong>in</strong>en statistisch signifikanten Unterschied.<br />

81


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

MAE (mean absolute error)<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

PSOREC<br />

GAREC<br />

GAREC + Adapted<br />

IWOREC<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.18: MAE für optimierte Gewichtsvektoren der Verfahren PSOREC, GAREC, GA-<br />

REC + angepasste Mutation <strong>und</strong> IWOREC.<br />

MAE (mean absolute error)<br />

1.3<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

Manhattan Metrik<br />

Euklidische Metrik<br />

Pearson Korrelation<br />

Kos<strong>in</strong>usähnlichkeit<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.19: GAREC: Mittlerer absoluter Fehler für 20 Benutzer <strong>und</strong> jeweils unterschiedliche<br />

Abstandsmetriken für die Berechnung der Nachbarschaft.<br />

82


5.3 Experimente<br />

1.2<br />

1.1<br />

Mutationswhkt. von 25%<br />

Mutationswhkt. von 3%<br />

MAE (mean absolute error)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.20: GAREC: Auswirkung e<strong>in</strong>er höheren Mutationswahrsche<strong>in</strong>lichkeit (Wahrsche<strong>in</strong>lichkeit<br />

von 25auf den mittleren absoluten Fehler.<br />

1.2<br />

1.1<br />

GAREC mit Fitness-Shar<strong>in</strong>g<br />

GAREC<br />

MAE (mean absolute error)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.21: GAREC: Auswirkung der Verwendung von Fitness Shar<strong>in</strong>g auf die Empfehlungsqualität<br />

(MAE).<br />

83


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35<br />

0.00 0.05 0.10 0.15 0.20 0.25<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

0.0 0.1 0.2 0.3<br />

0.0 0.1 0.2 0.3 0.4<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.22: GAREC+Adapted: Streuung der Gewichte für die Benutzer 12 (obere Reihe)<br />

<strong>und</strong> 19 (untere Reihe), jeweils für den Standard-GAREC (l<strong>in</strong>ks) <strong>und</strong> GAREC<br />

mit angepassten Muationsschritten (rechts).<br />

84


5.3 Experimente<br />

-0.05 0.00 0.05 0.10 0.15 0.20 0.25 0.30<br />

0.00 0.05 0.10 0.15 0.20 0.25 0.30<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

0.00 0.05 0.10 0.15 0.20 0.25 0.30<br />

0.00 0.05 0.10 0.15 0.20 0.25 0.30<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22<br />

Abbildung 5.23: IWOREC: Streuung der Featuregewichte für 50 unabhängige Läufe der Benutzer<br />

19 (l<strong>in</strong>ks oben), 12 (rechts oben), 1 (l<strong>in</strong>ks unten) <strong>und</strong> 8 (rechts unten).<br />

85


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

MAE (mean absolute error)<br />

1.3<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

Manhattan Metrik<br />

Euklidische Metrik<br />

Pearson Korrelation<br />

Kos<strong>in</strong>usähnlichkeit<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.24: IWOREC: Verlauf des MAE für alle vier verschiedenen Abstandsmaße <strong>und</strong><br />

20 Benutzer.<br />

0.8<br />

0.795<br />

Verlauf des MAE<br />

MAE (mean absolute error)<br />

0.79<br />

0.785<br />

0.78<br />

0.775<br />

0.77<br />

0.765<br />

0.76<br />

0.755<br />

0 5 10 15 20 25 30 35 40 45 50<br />

Standardabweichung sigma<br />

Abbildung 5.25: Verlauf des MAE für verschiedene Werte für die Standardabweichung σ im<br />

IWOREC Algorithmus. Gemittelt über 20 Benutzer.<br />

86


5.3 Experimente<br />

1.2<br />

1.1<br />

Mit FPS<br />

Ohne FPS<br />

MAE (mean absolute error)<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />

Benutzer<br />

Abbildung 5.26: IWOREC: MAE Werte für zwei verschiedene Auswahlstrategien der Nachkommen:<br />

Fitness Proportional Selection <strong>und</strong> Fitness-based Replacement<br />

(Standard im IWOREC).<br />

87


5 Evaluationsmethoden <strong>und</strong> Experimente<br />

88


6 Diskussion der Ergebnisse<br />

In diesem Kapitel folgt e<strong>in</strong>e Besprechung der Ergebnisse der Experimente aus Kapitel 5.<br />

Es werden Zusammenhänge <strong>und</strong> Ähnlichkeiten der vorgestellten Verfahren angesprochen<br />

sowie Verb<strong>in</strong>dungen zu anderen Optimierungsverfahren gezogen. Anschließend folgt e<strong>in</strong>e<br />

Diskussion der Ergebnisse der Experimente.<br />

6.1 Diskussion Recommendersysteme<br />

6.1.1 Content-based filter<strong>in</strong>g<br />

Inhalts-basierte Systeme haben e<strong>in</strong>ige E<strong>in</strong>schränkungen [1]. E<strong>in</strong> Problem ist, dass die Eigenschaften<br />

e<strong>in</strong>es Items die e<strong>in</strong>zigen Informationen s<strong>in</strong>d, auf die das System aufbauen kann. Die<br />

Erstellung <strong>und</strong> Entdeckung dieser Eigenschaften ist <strong>in</strong> text-basierten Dokumenten e<strong>in</strong>fach [1],<br />

aber andere Objekte wie etwa Bilder, Musikstücke oder Filme s<strong>in</strong>d nur mit Hilfe von menschlichen<br />

Experten manuell oder mit sehr aufwendigen <strong>und</strong> nicht unbed<strong>in</strong>gt ausgereiften automatischen<br />

Techniken zu klassifizieren. Weiterh<strong>in</strong> können beispielsweise zwei Textdokumente<br />

durchaus qualitativ <strong>in</strong>haltliche Unterschiede haben, s<strong>in</strong>d jedoch aufgr<strong>und</strong> ihrer keywords sehr<br />

ähnlich <strong>und</strong> werden daher gleichbedeutend empfohlen.<br />

E<strong>in</strong> weiteres Problem ist e<strong>in</strong>e mögliche Überanpassung [1]. Wenn e<strong>in</strong>em Benutzer nur die<br />

Items empfohlen werden, die ähnlich zu bisher gut bewerteten Items s<strong>in</strong>d, werden ke<strong>in</strong>e Empfehlungen<br />

aus e<strong>in</strong>em fremden Interessengebiet erstellt. Der Benutzer steckt <strong>in</strong> der bisherigen<br />

Empfehlungskategorie fest <strong>und</strong> es gibt für ihn ke<strong>in</strong>e unerwarteten aber trotzdem <strong>in</strong>teressante<br />

Empfehlungen. Zusätzlich ist es problematisch, wenn e<strong>in</strong> Recommender zu ähnliche Items<br />

empfiehlt. Dies ist beispielsweise der Fall, wenn zwei Artikel aus verschiedenen Nachrichtenmagaz<strong>in</strong>en<br />

aufgr<strong>und</strong> der keywords als ähnlich gelten, aber <strong>in</strong> Wirklichkeit das genau gleiche<br />

Thema besprechen.<br />

6.1.2 Collaborative-based filter<strong>in</strong>g<br />

Collaborative Recommendersysteme können auf verschiedene Weisen implementiert werden.<br />

Bei Systemen, die nicht häufig um neue Daten (Bewertungen, Items, Nutzer) erweitert werden,<br />

werden die Ähnlichkeiten aller User zue<strong>in</strong>ander offl<strong>in</strong>e vorberechnet <strong>und</strong> nur im Falle<br />

e<strong>in</strong>er Änderung der Daten angepasst. Diese Anpassung kann <strong>in</strong>krementell geschehen, d.h.<br />

wenn e<strong>in</strong> User se<strong>in</strong>e Eigenschaften ändert, müssen nur die Abstände zu |U|-vielen Benutzern<br />

89


6 Diskussion der Ergebnisse<br />

neu berechnet werden. Dieser Vorteil fällt bei Systemen, die ständigen Änderungen ihrer Daten<br />

unterworfen s<strong>in</strong>d, weg. Dort kann sich e<strong>in</strong>e nicht erfolgte Neuberechnung der Abstände<br />

möglicherweise negativ auf die Vorhersage der Rat<strong>in</strong>gs auswirken [1].<br />

E<strong>in</strong>e weitere Verbesserung ist das Default Vot<strong>in</strong>g. Es nimmt für die bisher nicht bewerteten<br />

Items e<strong>in</strong>es Users den Mittelwert der Bewertung aller anderen Benutzer für dieses Item an.<br />

E<strong>in</strong> neuer Benutzer, der erst sehr wenige Items bewertet hat, hat nur e<strong>in</strong>e kle<strong>in</strong>e Schnittmenge<br />

an geme<strong>in</strong>samen Items mit anderen Benutzern. Durch die Verwendung des Mittelwerts für<br />

unbekannte Items konnte, durch empirische Tests, e<strong>in</strong>e Verbesserung gezeigt werden [29].<br />

6.2 Diskussion IWO <strong>und</strong> Vergleich zu GA / ES<br />

Der vorgestellte Invasive Weed Optimization Algorithmus ähnelt <strong>in</strong> se<strong>in</strong>er biologischen Motivation<br />

<strong>und</strong> Idee nur entfernt e<strong>in</strong>em genetischen Algorithmus, jedoch s<strong>in</strong>d die beiden Verfahren<br />

<strong>in</strong> ihrem zugr<strong>und</strong>e liegenden mathematischen Modell sehr ähnlich. Im Folgenden soll<br />

e<strong>in</strong> Vergleich durchgeführt werden, der die Unterschiede <strong>und</strong> Geme<strong>in</strong>samkeiten der beiden<br />

Verfahren aufzeigt.<br />

Die Initialisierungsphase der beiden <strong>Algorithmen</strong> ist identisch. Es wird jeweils e<strong>in</strong>e feste Anzahl<br />

an zufälligen Lösungen generiert <strong>und</strong> entsprechend im Lösungsraum verteilt. Bei der<br />

Wahl der Eltern f<strong>in</strong>det sich erste Unterschied: In e<strong>in</strong>em typischen GA werden die Eltern nach<br />

ihrer Fitness ausgewählt, also nur die fittesten Eltern reproduzieren Nachkommen. Im IWO<br />

produziert jede Pflanze alle<strong>in</strong>e für sich Nachkommen. Es f<strong>in</strong>det daher auch ke<strong>in</strong>e Rekomb<strong>in</strong>ation<br />

zwischen zwei Pflanzen statt, wie sie bei GAs typisch ist. Die Mutation ist dabei die<br />

e<strong>in</strong>zige Komponente, die Veränderungen <strong>in</strong> den Lösungen/Individuen e<strong>in</strong>führt. E<strong>in</strong>e für reelle<br />

Repräsentationen <strong>in</strong> GAs verbreitete Mutationsform ist die une<strong>in</strong>heitliche Mutation mit<br />

fester Verteilung [22]. Diese Mutation zieht zufällig Zahlen aus e<strong>in</strong>er Standardnormalverteilung<br />

mit Erwartungswert 0 <strong>und</strong> e<strong>in</strong>er festen Standardabweichung <strong>und</strong> addiert diese Werte auf<br />

die Gene. Dies ist genau das Schema, dass e<strong>in</strong> IWO für die Erzeugung neuer Pflanzen verwendet,<br />

mit dem Unterschied, dass die Standardabweichung von Generation zu Generation<br />

verr<strong>in</strong>gert wird. Die Auswahl der Lösungen, die <strong>in</strong> die nächste Generation übernommen werden,<br />

ist bei beiden Verfahren ähnlich. E<strong>in</strong> IWO hat e<strong>in</strong> festes Populationslimit von n <strong>und</strong> lässt<br />

nur die besten n Pflanzen überleben. Bei GAs ist e<strong>in</strong>e solche Vorgehensweise als Elitismus bekannt<br />

<strong>und</strong> e<strong>in</strong>e von vielen möglichen Strategien. E<strong>in</strong> weiterer Unterschied ist, dass <strong>in</strong> e<strong>in</strong>em<br />

IWO die Anzahl der pro Generation erzeugten Nachkommen nicht fest ist. Jede Pflanze kann<br />

<strong>in</strong>nerhalb gegebener Grenzen neue Pflanzensamen generieren. In e<strong>in</strong>em klassischen GA ist<br />

die Anzahl der Nachkommen pro Generation fest vorgegeben. Dies kann bei e<strong>in</strong>em IWO den<br />

Vorteil haben, dass <strong>in</strong> Gebieten mit hoher Fitness <strong>in</strong>tensiver, d.h. mit mehr neuen Lösungen<br />

nach der besten Lösung gesucht wird. Jedoch erhöht sich mit der Anzahl an zu evaluierenden<br />

Kandidaten auch die Rechenzeit des Algorithmus, so dass man zur Schätzung dieser e<strong>in</strong>en<br />

Mittelwert der möglichen Anzahl an neuen Pflanzen pro Generation (average-case) oder die<br />

maximal mögliche Anzahl (worst-case) annehmen muss.<br />

90


6.2 Diskussion IWO <strong>und</strong> Vergleich zu GA / ES<br />

GA<br />

IWO<br />

Initialisierung n zufällige Lösungen n zufällige Lösungen<br />

Rekomb<strong>in</strong>ation Diverse Varianten Ke<strong>in</strong>e<br />

Mutation Diverse Varianten Zufällige Platzierung <strong>in</strong> Nachbarschaft<br />

Parent Selection Fitness basierend Alle, aber nur e<strong>in</strong> Elternteil<br />

Survivor Selection Fitness basierend Elite, beste n Pflanzen<br />

Besonderheit - Implizite Exploration/Exploitation,<br />

variable Anzahl an Lösungen pro Generation<br />

Tabelle 6.1: Vergleich zwischen GA <strong>und</strong> IWO<br />

Durch die Anpassung der Standardabweichung implementiert e<strong>in</strong> IWO implizit e<strong>in</strong>e zuerst<br />

breite Exploration des Lösungsraum, die immer mehr zu e<strong>in</strong>er Exploitation der direkten Umgebung<br />

um die fittesten Pflanzen führt. Dieses Verhalten ist <strong>in</strong> e<strong>in</strong>em klassischen GA nicht zu<br />

f<strong>in</strong>den.<br />

6.2.1 Verwandtschaft zu Evolution Strategies<br />

E<strong>in</strong> IWO unterscheidet sich nur ger<strong>in</strong>gfügig von e<strong>in</strong>em klassischen GA, da für diesen Varianten<br />

existieren, die den Eigenschaften e<strong>in</strong>es IWO entsprechen. Der IWO kann aber durch se<strong>in</strong>e<br />

stetige Verr<strong>in</strong>gerung der Standardabweichung für die Ziehung der Mutationsschritte <strong>und</strong> der<br />

variablen Populationsgröße <strong>in</strong>nerhalb e<strong>in</strong>er Generation von e<strong>in</strong>em GA unterschieden werden.<br />

Die erste der obigen Eigenschaften er<strong>in</strong>nert dabei an e<strong>in</strong>e andere Variante von <strong>evolutionäre</strong>n<br />

<strong>Algorithmen</strong>, denEvolution Strategies.<br />

Diese Variante enthält e<strong>in</strong>e Besonderheit unter allen klassischen EA-Varianten: Die automatische<br />

Anpassung der Mutationsschritte. Für jedes Gen (bzw. jede Dimension der Lösung) wird<br />

für die Mutation e<strong>in</strong>e zufällige Zahl aus e<strong>in</strong>er Normalverteilung mit Standardabweichung σ<br />

gezogen, die auch Teil der Repräsentation des Individuums ist. Jedes Gen x i hat e<strong>in</strong> ihm<br />

zugeordnetes σ i , dass die Länge des Chromosoms verdoppelt <strong>und</strong> anschließend <strong>in</strong> die Rekomb<strong>in</strong>ation<br />

<strong>und</strong> Mutation mit e<strong>in</strong>bezogen wird. Dies bewirkt, dass der mögliche Raum, <strong>in</strong><br />

den e<strong>in</strong>e Lösung fallen kann, sich nicht mehr kreisförmig um die bestehenden Lösung anordnet,<br />

sondern für jede Dimension e<strong>in</strong>e elliptische Form annehmen kann, siehe Abbildung 6.1.<br />

Es können damit verschiedene Dimensionen mit verschiedenen Schrittweiten untersucht werden.<br />

Wenn man nun diese Eigenschaft der Evolution Strategies <strong>in</strong> die Mutation e<strong>in</strong>es GA mit e<strong>in</strong>bezieht,<br />

könnte man damit das Mutationsverhalten e<strong>in</strong>es IWO <strong>in</strong> gewissem Rahmen nachbilden<br />

<strong>und</strong> auf diese Art weitere Vergleiche zwischen den Verfahren aufstellen. Genau dies wird <strong>in</strong><br />

Abschnitt 4.6.3 <strong>und</strong> bei den Experimenten <strong>in</strong> Kapitel 5 durchgeführt.<br />

91


6 Diskussion der Ergebnisse<br />

y<br />

globales Optimum<br />

Abbildung 6.1: Anpassung der Mutationsschritte mit n Schritten auf e<strong>in</strong>er zweidimensionalen<br />

Fitnesslandschaft. Der Punkt <strong>in</strong>nerhalb der Ellipse repräsentiert e<strong>in</strong> Individuum.<br />

Die Ellipse bestimmt den Raum, <strong>in</strong> den durch Mutation neue Lösungen<br />

fallen können. Auf der x-Koord<strong>in</strong>ate ist e<strong>in</strong>e weitere Ausbreitung möglich als<br />

auf der y-Koord<strong>in</strong>ate.<br />

x<br />

6.3 Parallelisierung mit Clojure<br />

Zur Verdeutlichung der Mehrkern Parallelisierung mit Clojure wurden die drei implementierten<br />

Verfahren (PSOREC, GAREC, IWOREC) e<strong>in</strong>mal mit <strong>und</strong> e<strong>in</strong>mal ohne Parallelisierung<br />

gestartet <strong>und</strong> die Berechnungszeiten gestoppt. Die Ladezeit des Datensatzes wurde hierbei<br />

nicht mit e<strong>in</strong>bezogen. Es ergaben sich folgende Zeiten für 5 Iterationen <strong>und</strong> Benutzer 1 auf<br />

e<strong>in</strong>em Rechner mit zwei Intel Xeon W5580 CPUs mit je 4 Kernen getaktet auf 3,20 GHz:<br />

Parallelisiert Nicht Parallelisiert Faktor<br />

PSOREC 21,915 Sek<strong>und</strong>en 132,184 Sek<strong>und</strong>en 6,03<br />

GAREC 44,837 Sek<strong>und</strong>en 246,593 Sek<strong>und</strong>en 5,50<br />

IWOREC 35,637 Sek<strong>und</strong>en 217,746 Sek<strong>und</strong>en 6,11<br />

Tabelle 6.2: Vergleich der Verfahren, wenn e<strong>in</strong>e parallelisierte <strong>und</strong> e<strong>in</strong>e nicht parallelisierte<br />

Variante der Implementierung verwendet wird. Vorsicht: Verfahren untere<strong>in</strong>ander<br />

hier nicht vergleichbar!<br />

Der maximal erreichbare Faktor läge bei perfekter Auslastung bei 8,0 (ohne Betrachtung des<br />

Overheads des Betriebssystems). Die Faktoren <strong>in</strong> Tabelle 6.2 s<strong>in</strong>d niedriger, da die e<strong>in</strong>zelnen<br />

Fitnessevaluationen unterschiedlich lange dauern können (da sie unterschiedliche Abstände<br />

berechnen) <strong>und</strong> immer auf den letzten der Agenten gewartet werden muss.<br />

92


6.4 Diskussion der Evaluationsmethoden<br />

List<strong>in</strong>g 6.1: Parallelisierte Berechnung der Fitnessfunktionen aller Partikel e<strong>in</strong>es PSO<br />

1 (defn fly [swarm]<br />

2 (dorun (map #(send % update-particle (:gbest swarm))<br />

3 (:particlelist swarm)))<br />

4 (apply await (:particlelist swarm)))<br />

E<strong>in</strong> Geschw<strong>in</strong>digkeitsvergleich zwischen den e<strong>in</strong>zelnen Verfahren ist durch diese Tabelle nicht<br />

möglich, da die <strong>Algorithmen</strong> e<strong>in</strong>e unterschiedliche Anzahl an neuen Lösungen pro Generation<br />

erstellen <strong>und</strong> jeweils e<strong>in</strong>e nicht vergleichbare Anzahl an Evaluationen durchlaufen.<br />

Agenten auffordern, die Evaluation durchzuführen<br />

Agenten melden jeweils das Ende ihrer Berechnungen<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

Agent<br />

runEvaluation<br />

runEvaluation<br />

Warten auf alle Agenten<br />

Abbildung 6.2: Clojure Agenten berechnen die Fitnessfunktion parallel <strong>und</strong> melden selbstständig<br />

das Ende der Berechnung an die Kontrollfunktion zurück.<br />

Der Quellcode <strong>in</strong> der Auflistung 6.1 beschreibt den Ablauf der parallelen Aufrufe der Fitnessfunktion.<br />

Um e<strong>in</strong>e möglichst hohe Performance zu erreichen, werden statt Clojure-eigenen Vektoren<br />

oder Listen native Java-Arrays für die Repräsentation der Benutzerprofile verwendet. Dies<br />

bewirkt vor allem bei den Abstandsmaßen e<strong>in</strong>e nahezu doppelt so schnelle Berechnung der<br />

Abstände zwischen zwei Vektoren bzw. double-arrays, siehe List<strong>in</strong>g 6.2. Jede Berechnung wurde<br />

mehrfach durchgeführt um Seiteneffekte auszuschließen. Die jeweils erste Berechnung<br />

dauert länger als die Folgenden, da ab der zweiten Berechnung die Cach<strong>in</strong>g-Mechanismen<br />

der Java Virtual Mach<strong>in</strong>e verwendet werden.<br />

6.4 Diskussion der Evaluationsmethoden<br />

Tra<strong>in</strong>gs- <strong>und</strong> Testdatensatz Das Verhältnis der Aufteilung des Datensatzes ist bei der Evaluation<br />

wichtig. Sarwar et al. [66] bespricht die Auswirkung dieser Wahl auf e<strong>in</strong> Recommendersystem<br />

<strong>und</strong> zeigt, dass mit der steigenden Größe des Tra<strong>in</strong>igsdatensatz die Genauigkeit<br />

der Empfehlungen ansteigt. Dies begründet er damit, dass e<strong>in</strong> großer Tra<strong>in</strong><strong>in</strong>gsdatensatz das<br />

Modell sehr gut an die vorhandenen Daten anpasst <strong>und</strong> dadurch auf e<strong>in</strong>er entsprechend<br />

kle<strong>in</strong>en Testmenge die Vorhersage genauer wird. Wenn die Tra<strong>in</strong><strong>in</strong>gsmenge kle<strong>in</strong>er gewählt<br />

93


6 Diskussion der Ergebnisse<br />

List<strong>in</strong>g 6.2: Optimierte Berechnung der Pearson-Korrelation mit Java-Arrays <strong>in</strong> Clojure.<br />

1 ; Standard Clojure Listen<br />

2 > (dotimes [_ 10] (time (weighted-pearson v1 v2 w)))<br />

3 "Elapsed time: 0.345911 msecs"<br />

4 "Elapsed time: 0.271349 msecs"<br />

5 "Elapsed time: 0.269185 msecs"<br />

6 "Elapsed time: 0.269787 msecs"<br />

7 "Elapsed time: 0.270132 msecs"<br />

8<br />

9 ; Java Arrays<br />

10 > (dotimes [_ 10] (time (weighted-pearson-optimized v1a v2a wa)))<br />

11 "Elapsed time: 0.212101 msecs"<br />

12 "Elapsed time: 0.152125 msecs"<br />

13 "Elapsed time: 0.149573 msecs"<br />

14 "Elapsed time: 0.150041 msecs"<br />

15 "Elapsed time: 0.149723 msecs"<br />

wird, z.B. weniger als 40%, wird das Modell schlechter an das Benutzerverhalten angepasst<br />

<strong>und</strong> erstellt schlechtere Empfehlungen.<br />

Vorhersagende Genauigkeitsmaße Es soll diskutiert werden, wie Verbesserungen im MAE<br />

zu deuten s<strong>in</strong>d. Viele <strong>in</strong> der Literatur vorgeschlagene Erweiterungen der Standardalgorithmen<br />

ergeben oft nur kle<strong>in</strong>e Verbesserungen des mittleren Fehlers (<strong>in</strong> der Regel Verbesserungen<br />

um 1% bis ca. 3% gegenüber Standardverfahren). Es stellt sich die Frage, ob diese<br />

Verbesserungen letztendlich überhaupt bessere Empfehlungen für den Benutzer bedeuten.<br />

Koren [39] untersucht diese Frage mit e<strong>in</strong>em Top-N Recommender, der dem Benutzer die N<br />

besten Items empfiehlt <strong>und</strong> vergleicht die verschiedenen mittleren Fehler mehrerer Recommenderalgorithmen<br />

dah<strong>in</strong>gehend, wie sich die Qualität der Top-N Empfehlungen verändert.<br />

Dafür nimmt er alle Items e<strong>in</strong>es Benutzers aus dem Testdatensatz, die dieser Benutzer mit<br />

e<strong>in</strong>em maximalen Rat<strong>in</strong>g bewertet hat (5 Punkte auf e<strong>in</strong>er ganzzahligen Skala von 1 bis 5). Er<br />

bestimmt für jedes Item i aus dieser Menge <strong>und</strong> 1000 zufällig gewählten Items die geschätzte<br />

Bewertung <strong>und</strong> ordnet sie absteigend nach ihrem Rank<strong>in</strong>g an. Das beste erhoffte Resultat ist,<br />

dass das Item i vor allen 1000 zufälligen Items angeordnet wird, also der Recommender das<br />

vom Benutzer maximal bewertete Item i auch an erster Stelle empfiehlt.<br />

Koren [39] führt dieses Verfahren für alle maximalen Rat<strong>in</strong>gs des Testdatensatzes <strong>und</strong> 5 verschiedenen<br />

Recommendersystemen durch <strong>und</strong> kann damit zeigen, dass schon e<strong>in</strong>e kle<strong>in</strong>e<br />

Verbesserung des mittleren absoluten Fehlers deutlich bessere Empfehlungen <strong>in</strong> e<strong>in</strong>em Top-N<br />

Recommender ergeben. E<strong>in</strong> Verfahren, dass e<strong>in</strong>en mittleren Fehler auf dem von ihm verwendeten<br />

Datensatz (Netflix) von 0.8870 ergibt, hat e<strong>in</strong>e 3-fach bessere Chance Item i an erster<br />

Stelle zu empfehlen als e<strong>in</strong> Verfahren, dass e<strong>in</strong>en mittleren Fehler von 1.0534 aufweist.<br />

94


6.5 Diskussion der experimentellen Resultate<br />

6.5 Diskussion der experimentellen Resultate<br />

6.5.1 Resultat Abstandsmaße ohne Optimierung<br />

Die Ergebnisse <strong>in</strong> Abbildung 5.4 zeigen, dass die verschiedenen Metriken für die meisten<br />

Nutzer e<strong>in</strong>en Unterschied im mittleren Fehler ergeben. Jedoch konnte ke<strong>in</strong> Maß ausgemacht<br />

werden, dass für alle Benutzer e<strong>in</strong>en besseren MAE Wert als die anderen Maße ergibt. Man<br />

könnte für jeden Benutzer <strong>und</strong> für jeweils alle vier Maße den MAE Wert berechnen <strong>und</strong> die<br />

entsprechend beste Nachbarschaft festhalten, was jedoch relativ auswendig ist.<br />

6.5.2 Resultat exemplarischer Fitnessverlauf<br />

Man kann <strong>in</strong> Abbildung 5.5 erkennen, dass nach e<strong>in</strong>er anfänglichen starken Verbesserung der<br />

Fitness die Kurve nach <strong>und</strong> nach abflacht. Danach s<strong>in</strong>d ke<strong>in</strong>e deutlichen Verbesserungen mehr<br />

zu erwarten, ausgenommen man wendet multi-start-Methoden an, wie z.B. beim PSOREC-<br />

Verfahren, um Lösungen neu zu <strong>in</strong>itialisieren <strong>und</strong> damit eventuell e<strong>in</strong> lokales Optimum zu<br />

verlassen. Für Details hierzu siehe auch Abschnitt 4.5.2.<br />

6.5.3 Diskussion der PSOREC Resultate<br />

Gewichtete Abstandsmaße Man kann <strong>in</strong> Abbildung 5.6 erkennen, dass zufällige <strong>und</strong> feste<br />

Gewichte bei fast allen Benutzern höhere MAE-Fehler bei der Vorhersage ergeben als das<br />

optimierte Gewicht. In ke<strong>in</strong>em Fall war e<strong>in</strong> schlechterer MAE zu beobachten. Die Bestimmung<br />

e<strong>in</strong>es optimierten Gewichtvektors zur persönlicheren Berechnung der Nachbarschaft<br />

e<strong>in</strong>es aktiven Benutzers schlägt sich positiv auf den mittleren absoluten Fehler nieder. Alle 20<br />

zufällig gewählten Benutzer zeigen dieses Verhalten. Auch der durchgeführte Wilcoxon-Test<br />

ergab e<strong>in</strong>en p-Wert deutlich unter dem Signifikanzniveau von 0,05.<br />

Der Unterschied zwischen den e<strong>in</strong>zelnen Abstandsmaßen ist jedoch nicht e<strong>in</strong>deutig. Abbildung<br />

5.10 zeigt, dass es große Unterschiede zwischen den verschiedenen Metriken für e<strong>in</strong>zelne<br />

Benutzer gibt. Es kann ke<strong>in</strong>e Metrik ausgemacht werden, die <strong>in</strong> der Mehrheit der Fälle<br />

besser ist als die anderen Metriken.<br />

Für manche Benutzer gibt es ke<strong>in</strong>en oder nur e<strong>in</strong>en sehr ger<strong>in</strong>gen Unterschied im mittleren<br />

absoluten Fehler (Benutzer 3, 4, 5, 7 <strong>und</strong> 18 <strong>in</strong> Abbildung 5.10) zwischen den Abstandsmaßen.<br />

Bei anderen Benutzern h<strong>in</strong>gegen kann jedoch e<strong>in</strong> starker Unterschied ausgemacht werden.<br />

Bei manchen Benutzern (z.B. 9, 12, 19) ist er sogar so stark, dass die Verbesserung im mittleren<br />

Fehler e<strong>in</strong>e deutlich bessere Empfehlung ergeben würde. Für e<strong>in</strong>e genaue Diskussion<br />

des Zusammenhangs zwischen Verbesserungen im MAE <strong>und</strong> besseren Empfehlungen siehe<br />

Abschnitt 5.2.2 <strong>und</strong> [39].<br />

Dieses Ergebnis kann für Verbesserungen <strong>in</strong> Recommendersystemen verwenden werden, <strong>in</strong>dem<br />

man pro Benutzer das beste Maß bestimmt <strong>und</strong> dieses für zukünftige Empfehlungen<br />

95


6 Diskussion der Ergebnisse<br />

verwendet. Wenn der Benutzer weitere Bewertungen <strong>in</strong> das System e<strong>in</strong>pflegt, muss jedoch<br />

e<strong>in</strong>e Neubestimmung des besten Maßes durchgeführt werden.<br />

Globales Optimum In Abbildung 5.8 <strong>und</strong> 5.9 ist für manche Benutzer e<strong>in</strong>e klare Präferenz<br />

für e<strong>in</strong> Feature direkt zu erkennen, während die anderen Features für jeden Lauf (leicht)<br />

unterschiedlich gewichtet werden. Für andere Benutzer jedoch kann ke<strong>in</strong> beherrschendes<br />

Feature ausgemacht werden. Was man immer erkennen kann ist, dass das Rat<strong>in</strong>g <strong>und</strong> die<br />

demografischen Features deutlich stärker gewichtet werden als die 18 Genres der Filme. Der<br />

Gr<strong>und</strong> ist, dass die Genre-Features vorab reduziert werden, siehe Abschnitt 4.5.1.<br />

Benutzer 19 (l<strong>in</strong>ks oben) zeigt, dass das Feature “Beruf” deutlich höher gewichtet wird als alle<br />

anderen Features. In e<strong>in</strong>igen wenigen Läufen ist dies zwar nicht der Fall <strong>und</strong> die Verteilung<br />

über alle Features ist relativ gleichmäßig, jedoch kann für diesen Benutzer e<strong>in</strong> nahezu stabiles<br />

Gewicht gef<strong>und</strong>en werden.<br />

Benutzer 12 (rechts oben) zeigt, dass man für diesen ke<strong>in</strong> festes Gewicht f<strong>in</strong>den kann. Es<br />

ist aber zu beobachten, dass immer dann, wenn der Beruf sehr stark gewichtet wurde, die<br />

anderen Featuregewichte vergleichsweise niedrig s<strong>in</strong>d. Ansonsten werden die Gewichte zwischen<br />

den demografischen Werten gleichmäßig verteilt, so dass ke<strong>in</strong> dom<strong>in</strong>ierendes Feature<br />

zu erkennen ist.<br />

Benutzer 1 (l<strong>in</strong>ks unten) lässt erkennen, das hier der Beruf im Vergleich zu den anderen<br />

demografischen Werten ke<strong>in</strong>e Rolle spielt, für diese jedoch ke<strong>in</strong> festes Gewicht gef<strong>und</strong>en<br />

werden kann.<br />

Für Benutzer 8 (rechts unten) lässt sich entnehmen, dass entweder das Rat<strong>in</strong>g oder der Beruf<br />

im Wechsel dom<strong>in</strong>ant gewichtet werden. Wenn e<strong>in</strong>es der beiden Features e<strong>in</strong>en im Vergleich<br />

hohen Wert zeigt, ist das jeweils andere Feature entsprechend niedrig gewertet.<br />

An diesen vier Beispielen lässt sich erkennen, dass für ke<strong>in</strong>en der Benutzer e<strong>in</strong> immer e<strong>in</strong>deutiges<br />

Gewicht gef<strong>und</strong>en werden kann. Manche Benutzer tendieren zwar zu e<strong>in</strong>em nahezu<br />

festen Gewicht, andere jedoch zeigen überhaupt ke<strong>in</strong>e feste Tendenz zu e<strong>in</strong>em (oder mehreren)<br />

Features.<br />

Wahl der Nachbarschaftsgröße Es ist <strong>in</strong> Abbild<strong>in</strong>g 5.11 zu erkennen, dass ab e<strong>in</strong>er Größe<br />

von 200 Benutzern der MAE langsam abflacht <strong>und</strong> sich ab 500 Benutzern (also etwa die Hälfte<br />

der Gesamtgröße des Datensatzes) nicht mehr verändert. Die Ausreißer <strong>und</strong> Schwankungen<br />

ab e<strong>in</strong>er Nachbarschaftsgröße von ca. 750 Benutzer s<strong>in</strong>d damit zu erklären, dass nun auch<br />

Benutzer mit aufgenommen werden, die überhaupt ke<strong>in</strong>e Ähnlichkeit (bed<strong>in</strong>gt durch ke<strong>in</strong>e<br />

geme<strong>in</strong>samen Items) mit dem aktiven Benutzer haben. Es ist daher zu empfehlen, e<strong>in</strong>e Nachbarschaftsgröße<br />

zu wählen, die vor diesen Schwankungen liegt, z.B. im Bereich zwischen 50%<br />

<strong>und</strong> 70% der Gesamtgröße.<br />

Dieses Ergebnis bestätigt die Untersuchungen von Zaier et al. [78], der ebenfalls e<strong>in</strong>e Untersuchung<br />

verschiedener Nachbarschaftsgrößen durchgeführt hat. Für die Verfahren GAREC<br />

96


6.5 Diskussion der experimentellen Resultate<br />

(<strong>in</strong>klusive der Variante mit ES Mutation) <strong>und</strong> IWOREC ergeben sich hier ke<strong>in</strong>e Veränderungen.<br />

Reduzierung von Features Anhand der Ergebnisse für Benutzer 19, der relativ stabile Gewichte<br />

bei Verwendung aller Features gezeigt hat, zeigt sich auf dem angepassten Datensatz,<br />

dass das Entfernen von Feature “Alter” ke<strong>in</strong>e merklichen Veränderungen ergibt. Ebenso beim<br />

Geschlecht, wobei hier die Varianz der e<strong>in</strong>zelnen Läufe pro Feature ger<strong>in</strong>ger wurde. Es kann<br />

überhaupt ke<strong>in</strong> festes Gewicht mehr ausgemacht werden, wenn alle demografischen Features<br />

ausgeblendet werden. Wenn nur Genres fehlen, ist e<strong>in</strong>e mittlere Stabilität der Gewichte zu<br />

beobachten.<br />

Benutzer 12, für den <strong>in</strong> Abbildung 5.8 ke<strong>in</strong> festes Gewicht gef<strong>und</strong>en werden konnte, zeigt<br />

durch die Reduzierung von Features folgendes Verhalten: Entfernen des Alters ergibt ke<strong>in</strong>en<br />

Unterschied. Wenn Feature “Geschlecht” entfernt wird, verschlechtert sich die Stabilität, die<br />

demografischen Features s<strong>in</strong>d weniger klar von den Genres getrennt wie zuvor. Das selbe gilt<br />

logischerweise für das komplette entfernen der demografischen Features. Wenn die Genres<br />

entfernen werden, kann e<strong>in</strong>e Tendenz gegen das Feature Beruf ausgemacht werden.<br />

Für die Reduzierung an diesen zwei exemplarischen Benutzern kann man erkennen, dass das<br />

entfernen von Features ke<strong>in</strong>e deutliche Verbesserung der Gewichtsstabilität mit sich br<strong>in</strong>gt.<br />

Sie wird eher verschlechtert, wenn komplette Featuresätze wie die demografischen Features<br />

entfernt werden.<br />

Auswirkungen von Velocity Clamp<strong>in</strong>g <strong>und</strong> Trägheitsgewichten E<strong>in</strong>e Untersuchung der<br />

verschiedenen Methoden auf dem PSOREC Algorithmus haben ergeben, dass die Wahl der<br />

Berechnung ke<strong>in</strong>e messbare Auswirkung hat. Wenn weder Velocity Clamp<strong>in</strong>g (VC) noch Trägheitsgewichte<br />

(TG) e<strong>in</strong>gesetzt werden, ist jedoch e<strong>in</strong>e Verschlechterung des mittleren absoluten<br />

Fehlers messbar, siehe Tabelle 5.7.<br />

In Abbildung 5.15 ist der Verlauf des mittleren MAE über 50 unabhängige Läufe für die<br />

ersten 20 Benutzer aufgezeigt. Im Mittel ist zu sehen, dass alle Ansätze mit VC <strong>und</strong> TG<br />

nahezu ähnliche Werte liefern. Daher ist anzunehmen, dass es ke<strong>in</strong>e Auswirkung auf die<br />

Qualität der Empfehlungen des Recommenders hat, auf welche Weise man das Trägheitsgewicht<br />

berechnet. Die zugr<strong>und</strong>e liegende Fitnesslandschaft sche<strong>in</strong>t die positiven Effekte e<strong>in</strong>es<br />

Trägheitsgewicht wieder auszugleichen.<br />

Random Resett<strong>in</strong>g Die beiden untersuchten Varianten des Random Resett<strong>in</strong>g haben, siehe<br />

Abbildung 5.16, haben ke<strong>in</strong>e Verbesserung im mittleren absoluten Fehler erbracht. Dies hat<br />

auch der statistische Test ergeben, man kann e<strong>in</strong>en Unterschied zwischen den Stichproben<br />

ausmachen.<br />

Es wurde exemplarisch Benutzer 12 ausgewählt, der <strong>in</strong> Abbildung 5.8 ke<strong>in</strong>en festen Gewichtsvektor<br />

f<strong>in</strong>den konnte. Die Untersuchung der Gewichtsstabilität zeigt, siehe Abbildung 5.17,<br />

dass wenn ke<strong>in</strong> Random Resett<strong>in</strong>g verwendet wird, die Gewichte leicht <strong>in</strong>stabiler s<strong>in</strong>d als mit<br />

97


6 Diskussion der Ergebnisse<br />

Random Resett<strong>in</strong>g. Man kann mehr Instabilität <strong>in</strong>nerhalb der Genrefeatures erkennen. Die<br />

Wahl der Initialisierungsmethode (zufällig oder 0) ergibt ke<strong>in</strong>en erkennbaren Unterschied.<br />

6.5.4 Diskussion der GAREC Resultate<br />

Gewichtete Abstandsmaße Man kann über die MAE-Werte <strong>in</strong> Abbildung 5.18 erkennen,<br />

dass es bei den meisten Benutzern ke<strong>in</strong>e großen Unterschiede <strong>in</strong> den verwendeten Verfahren<br />

gibt <strong>und</strong> man ke<strong>in</strong>en e<strong>in</strong>deutig besten Algorithmus ausmachen kann. Alle Verfahren bewegen<br />

sich, bis auf e<strong>in</strong>ige Ausreißer, auf dem gleiche Niveau. Bei Benutzer 20 ist der mittlere<br />

absolute Fehler für das GAREC- <strong>und</strong> IWOREC-Verfahren deutlich niedriger. PSOREC zeigt<br />

bei Benutzer 9 e<strong>in</strong>en niedrigeren MAE Wert als die anderen Verfahren.<br />

Der Kruskal-Wallis-Test ergab e<strong>in</strong>en p-Wert von 0.9749. Die Nullhypothese kann damit nicht<br />

abgelehnt werden <strong>und</strong> sagt aus, dass es vermutlich ke<strong>in</strong>en Unterschied macht, welches der<br />

Verfahren man verwendet.<br />

Verschiedene Abstandsmaße Für die verschiedenen Abstandsmaße im GAREC Verfahren<br />

ergeben sich <strong>in</strong>teressante MAE Werte für die 20 zufällig gewählten Benutzer, siehe Abbildung<br />

5.19. Die Kos<strong>in</strong>usähnlichkeit ist <strong>in</strong> 13 von 20 Fällen das beste Maß ist <strong>und</strong> der über die<br />

Pearson Korrelation berechnete Abstand liegt im MAE jeweils nur knapp darüber. Die beiden<br />

Metriken (Manhattan <strong>und</strong> Euklid) s<strong>in</strong>d beide <strong>in</strong> 16 von 20 Fällen das schlechtere Maß.<br />

Man kann daher sagen, dass beim GAREC Verfahren die Kos<strong>in</strong>usähnlichkeit oder der Pearson<br />

Korrelationskoeffizient das bessere Maß ist, auch wenn die Nullhypothese nicht abgelehnt<br />

werden konnte (p-Wert von 0.5613).<br />

Mutationswahrsche<strong>in</strong>lichkeit <strong>und</strong> Auswirkung von Fitness-Shar<strong>in</strong>g Die Erhöhung der<br />

Mutationswahrsche<strong>in</strong>lichkeit hat e<strong>in</strong>e signifikante Auswirkung auf die MAE Werte der 20 Benutzer.<br />

Der p-Wert des statistischen Test von 0, 03624 liegt unter den Signifikanzniveau von<br />

0, 05. In 17 von 20 Fällen ist der MAE deutlich schlechter, wenn e<strong>in</strong>e Mutationswahrsche<strong>in</strong>lichkeit<br />

von 25% verwendet wird, siehe Abbildung 5.20.<br />

Für die Verwendung von Fitness-Shar<strong>in</strong>g zeigt sich, dass <strong>in</strong> 15 von 20 Fällen der mittlere<br />

absolute Fehler besser oder gleich ist, wenn Fitness Shar<strong>in</strong>g angewendet wird. Die Verbesserung<br />

des MAE ist bei manchen Benutzern relativ deutlich, so dass man e<strong>in</strong>e Verbesserung<br />

der Empfehlungen erwarten kann. Auch der statistische Test mit e<strong>in</strong>em p-Wert von 0.01531<br />

untermauert diese Aussage.<br />

Selbstanpassung der Mutationsschritte <strong>und</strong> Evolution Strategies Die Verteilung der Gewichtswerte<br />

<strong>in</strong> den unabhängigen Läufen, Abbildung 5.22, zeigen, dass es ke<strong>in</strong>en Unterschied<br />

macht ob e<strong>in</strong>e angepasste oder feste Mutationsstrategie verwendet wird. Die Gewichte für beide<br />

Benutzer bleiben gleich stabil, zwischen den beiden Verfahren gibt es ke<strong>in</strong>e Unterschiede.<br />

In dieser Abbildung ist auch zu sehen, dass das Standard-GAREC Verfahren ähnlich stabile<br />

98


6.5 Diskussion der experimentellen Resultate<br />

Gewichte erzeugt wie das PSOREC Verfahren, es also <strong>in</strong> dieser H<strong>in</strong>sicht ke<strong>in</strong>en Unterschied<br />

zwischen den Verfahren gibt.<br />

Die MAE Werte für 20 Benutzer bei der angepassten GA Variante s<strong>in</strong>d <strong>in</strong> 14 von 20 Fällen<br />

schlechter als beim Standardverfahren GAREC, siehe Abbildung 5.18. Der p-Wert von 0.08255<br />

zeigt, auch wenn er knapp über dem Signifikanzniveau von 0, 05 liegt, dass das erweitere<br />

GAREC Verfahren auch statistisch ke<strong>in</strong>e Verbesserung darstellt.<br />

6.5.5 Diskussion der IWOREC Resultate<br />

Gewichtete Abstandsmaße Für das IWOREC Verfahren liegt bei 10 von 20 Benutzern der<br />

MAE niedriger im Vergleich zu den anderen Verfahren, siehe Abbildung 5.18. Der statistische<br />

Test hat zwar ke<strong>in</strong>en signifikanten Unterschied zwischen allen vier vorgestellten Verfahren<br />

ergeben (p-Wert 0.9749), jedoch ist das IWOREC Verfahren bei e<strong>in</strong>er e<strong>in</strong>deutigen Mehrzahl<br />

der Benutzer das beste Maß, jedoch ist der jeweilige Unterschied relativ ger<strong>in</strong>g.<br />

Globales Optimum Das resultierenden Boxplots zeigen <strong>in</strong> Abbildung 5.23, dass die Gewichte<br />

weniger stabil s<strong>in</strong>d als die optimierten Gewichte im PSOREC Verfahren (Abbildung 5.8).<br />

Besonders Benutzer 19, der per PSOREC relativ stabil war, zeigt nun nicht mehr e<strong>in</strong>e deutliche<br />

Präferenz für e<strong>in</strong> Feature. Auch Benutzer 8, der bisher e<strong>in</strong> Feature (Geschlecht) durchgängig<br />

relativ niedrig bewertet hat, kann dies nicht mehr <strong>in</strong> den per IWOREC optimierten Gewichten<br />

vorweisen.<br />

Verschiedene Abstandsmaße Man sieht <strong>in</strong> Abbildung 5.24, dass für manche Benutzer jeweils<br />

e<strong>in</strong>es der Maße e<strong>in</strong>en besseren MAE Wert ergibt als die anderen Maße, jedoch ke<strong>in</strong> Maß<br />

bei allen Benutzern immer e<strong>in</strong>en niedrigeren Wert ergibt. Jedoch ist die Pearson-Korrelation<br />

<strong>in</strong> 10 von 20 Fällen das beste Maß <strong>und</strong> der euklidische Abstand <strong>in</strong> ke<strong>in</strong>em der Fälle. Damit,<br />

trotz des nicht signifikanten statistischen Tests, kann man sagen, dass die Pearson-Korrelation<br />

(unter Berücksichtigung der kle<strong>in</strong>en Stichprobe) das bevorzugte Maß im IWOREC Verfahren<br />

ist. Das Gegenteil gilt für das euklidische Maß. Da die Unterschiede im MAE teilweise sehr<br />

groß s<strong>in</strong>d (z.B. bei Benutzer 4) könnte man auch hier wieder für jeden Benutzer das beste<br />

Maß vorab bestimmen <strong>und</strong> dieses im tatsächlichen Empfehlungsprozess e<strong>in</strong>setzen.<br />

Wahl der IWO Parameter Es ist <strong>in</strong> Abbildung 5.25 zu erkennen, dass für niedrige σ-Werte<br />

der mittlere absolute Fehler niedriger ist als für höhere σ-Werte. Dieser Unterschied unterliegt<br />

aber starken Schwankungen, die ab ungefähr σ = 25 im MAE deutlich ansteigen. Es wird<br />

daher empfohlen, für den MovieLens Datensatz e<strong>in</strong>en σ-Wert von kle<strong>in</strong>er als 25 zu wählen.<br />

FPS Strategie für IWO Der statistische Test sowie die e<strong>in</strong>zelnen MAE Werte zeigen <strong>in</strong> Abbildung<br />

5.26, dass die FPS-Strategie e<strong>in</strong>e signifikante negative Auswirkung auf den MAE hat.<br />

Dies liegt daran, dass durch die Fitness Proportional Selection gute Lösungen verloren gehen<br />

können.<br />

99


6 Diskussion der Ergebnisse<br />

6.5.6 Zusammenfassung der Experimente<br />

Die experimentelle Untersuchung hat ergeben, dass optimierte Gewichtsvektoren e<strong>in</strong>e signifikante<br />

Verbesserung der Empfehlungsqualität ergeben. Es kann jedoch ke<strong>in</strong> stabiler Gewichtsvektor<br />

für die e<strong>in</strong>zelnen Benutzer gef<strong>und</strong>en werden, jedoch s<strong>in</strong>d die zugehörigen MAE-Werte<br />

stabil.<br />

Für das PSOREC Verfahren hat sich das euklidische Maß als das schlechteste Maß herausgestellt.<br />

Die Verwendung von Velocity Clamp<strong>in</strong>g <strong>und</strong> Trägheitsgewichten ergeben e<strong>in</strong>e deutliche<br />

Verbesserung. Im GAREC Verfahren ist die Kos<strong>in</strong>usähnlichkeit vermutlich das beste, der<br />

Manhattan- <strong>und</strong> euklidische Abstand deutlich das schlechteste Maß. Die Verwendung von<br />

Fitness-Shar<strong>in</strong>g hat e<strong>in</strong>e signifikante Verbesserung der Empfehlungsqualität ergeben. Für das<br />

IWOREC Verfahren hat sich, wie bei PSOREC, das euklidische Maß als das e<strong>in</strong>deutig schlechteste<br />

Maß herausgestellt. IWOREC konnte bei der Hälfte der Benutzer die besten MAE Werte<br />

ermitteln.<br />

6.6 Weitere Erkenntnisse<br />

Spearman Rangkorrelationskoeffizient Durch Verwendung des Pearson Korrelationskoeffizienten<br />

stellt sich die Frage, ob nicht auch der Spearman Rankkorrelationskoeffizient verwendet<br />

werden kann, da dieser ke<strong>in</strong>e l<strong>in</strong>eare Beziehung zwischen zwei Variablen benötigt<br />

<strong>und</strong> stabil gegenüber Ausreißern ist. Die erste Eigenschaft würde auf die ganzzahlige Bewertungsskala<br />

von 1 bis 5 des MovieLens Datensatzes passen. Auch wäre e<strong>in</strong>e gewichtete<br />

Variante möglich, wie sie bei den anderen <strong>in</strong> dieser Arbeit verwendeten Abstandsmaßen e<strong>in</strong>gesetzt<br />

wurde.<br />

Jedoch stößt man durch die Verwendung der demografischen Informationen der Nutzer <strong>und</strong><br />

Genres der Items auf das Problem, dass man diese Werte nicht auf e<strong>in</strong>en Rang abbilden kann.<br />

So ist es z.B. nicht möglich, Features wie “Beruf” oder “Geschlecht” <strong>in</strong> e<strong>in</strong>e Rangreihenfolge<br />

zu br<strong>in</strong>genl, ausser man verwendet Ausnahmen für solche Features (z.b. Abstand 1 bei gleichem<br />

Wert, sonst 0). Wenn man jedoch, wie es <strong>in</strong> anderen Recommendersystem oft der Fall<br />

ist, nur die Bewertungen von Benutzern auf Items verwendet <strong>und</strong> ansonsten ke<strong>in</strong>e weiteren<br />

Informationen verwendet, könnte man den Rangkorrelationskoeffizient für die Bestimmung<br />

der Ähnlichkeit zweier Bewertungsvektoren verwenden.<br />

Multiobjective Optimisation Problems Die oft angesprochene multimodale Fitnesslandschaft,<br />

die aus dem Recommenderdatensatz entsteht, <strong>und</strong> die Beobachtung, dass ke<strong>in</strong> e<strong>in</strong>deutig<br />

festes Gewicht für e<strong>in</strong>en aktiven Benutzer gef<strong>und</strong>en werden kann, führt schnell zu der<br />

Annahme, dass es sich hier um e<strong>in</strong> multikriterielle Optimierungsproblem handelt. Bei solchen<br />

Problemen stehen sich zwei (oder mehr) Bed<strong>in</strong>gungen so gegenüber, dass sie sich gegenseitig<br />

beschränken (constra<strong>in</strong>ts). Das heißt, man kann nie beide Bed<strong>in</strong>gungen so belegen, dass e<strong>in</strong><br />

optimales Ergebnis erreicht wird.<br />

100


6.7 Ausblick<br />

Dies ist aber bei den Gewichtsvektoren, die die Präferenzen e<strong>in</strong>es Benutzers abbilden, nicht<br />

der Fall, da e<strong>in</strong> Benutzer durchaus alle Features maximal gewichtet (bzw. gleich) haben kann<br />

<strong>und</strong> daraus ke<strong>in</strong> Nachteil <strong>in</strong> der Empfehlungsqualität entsteht. Die e<strong>in</strong>zelnen Präferenzen<br />

s<strong>in</strong>d unabhängig vone<strong>in</strong>ander <strong>und</strong> bee<strong>in</strong>flussen daher die anderen Präferenzen nicht.<br />

6.7 Ausblick<br />

Im Laufe dieser Arbeit haben sich weitere <strong>in</strong>teressante Ansätze für die Verb<strong>in</strong>dung von Recommendersystemen<br />

<strong>und</strong> <strong>evolutionäre</strong>n <strong>Algorithmen</strong> sowie <strong>Schwarm<strong>in</strong>telligenz</strong> ergeben, die<br />

jedoch nicht <strong>in</strong> den Fokus dieser Arbeit gepasst haben.<br />

E<strong>in</strong> möglicher Ansatz wäre die Modellierung von Regelwerken, die beschreiben wie <strong>und</strong><br />

warum e<strong>in</strong> Benutzer e<strong>in</strong> Item so bewertet wie er es tut. Diese Regeln bzw. deren Syntax<br />

könnte man per Parse Tree beschreiben <strong>und</strong> mit e<strong>in</strong>em Genetic Programm<strong>in</strong>g [22]-Algorithmus<br />

mutieren, um nach <strong>und</strong> nach die Regeln so zu verfe<strong>in</strong>ern, dass sie die genauen Regeln wiedergeben,<br />

warum e<strong>in</strong> Benutzer e<strong>in</strong> Item hoch bewertet. Darüber h<strong>in</strong>aus wäre die Verwendung<br />

von Learn<strong>in</strong>g Classifier Systems an dieser Stelle e<strong>in</strong> zusätzlicher <strong>in</strong>teressanter Forschungsbereich.<br />

Die <strong>in</strong> Abschnitt 2.5.4 vorgestellten Latent Factor Models werden (unter anderem) mit e<strong>in</strong>em<br />

stochastischen Gradientenabstiegsverfahren tra<strong>in</strong>iert, um die Präferenzen der Benutzer zu<br />

lernen. Statt diesen Lernalgorithmen könnte man e<strong>in</strong>en <strong>evolutionäre</strong>n Algorithmus e<strong>in</strong>setzen,<br />

der die entsprechenden Präferenzvektoren als Individuen verwendet <strong>und</strong> diese Schritt für<br />

Schritt optimiert. Es würde sich hier die Frage stellen, welche der beiden Verfahren qualitativ<br />

bessere <strong>und</strong> schnellere Lösungen f<strong>in</strong>det.<br />

101


6 Diskussion der Ergebnisse<br />

102


7 Zusammenfassung der Hauptergebnisse<br />

Recommendersysteme analysieren das Verhalten von Benutzern e<strong>in</strong>es Informationssystems<br />

<strong>und</strong> bieten ihnen personalisierte Empfehlungen für bisher unbekannte Produkte an, die für<br />

sie relevant se<strong>in</strong> könnten. Der Internetversandhändler Amazon.com ist e<strong>in</strong> bekanntes Beispiel<br />

für die Umsetzung dieser Idee.<br />

Das Gr<strong>und</strong>problem für Recommendersysteme ist es, e<strong>in</strong>e Schätzung über die vermutliche<br />

Bewertung e<strong>in</strong>es Benutzers für e<strong>in</strong> Item (zum Beispiel e<strong>in</strong> Buch, e<strong>in</strong>en Film oder e<strong>in</strong> beliebig<br />

anderes, bewertbares Produkt) abzugeben. E<strong>in</strong>e Möglichkeit dieses Problem zu lösen ist,<br />

die e<strong>in</strong>zelnen Items durch verschiedene Eigenschaften zu charakterisieren <strong>und</strong> diese mit den<br />

Vorlieben des Benutzers zu vergleichen. E<strong>in</strong>e weitere Möglichkeit ist die Betrachtung von<br />

anderen Benutzern mit ähnlichem Geschmack. Anhand deren Bewertungen für e<strong>in</strong> bisher<br />

unbekanntes Item wird die Bewertung des Benutzers dafür geschätzt. Die qualitativ höchsten<br />

Bewertungen <strong>in</strong>nerhalb dieser Nachbarschaft werden dem Benutzer anschließend als Empfehlungen<br />

präsentiert. Die Schwierigkeit <strong>in</strong> e<strong>in</strong>em Recommendersystem besteht nun dar<strong>in</strong>,<br />

das Verhalten der Benutzer möglichst exakt abzubilden <strong>und</strong> e<strong>in</strong>e präzise Nachbarschaft der<br />

ähnlichsten Benutzer zu bilden. Je genauer diese Informationen s<strong>in</strong>d, desto bessere Empfehlungen<br />

für Items können erstellt werden.<br />

In dieser Arbeit wurden e<strong>in</strong> Verfahren entwickelt <strong>und</strong> um mehrere Varianten <strong>und</strong> Verbesserungen<br />

erweitert, das für die Berechnung der Nachbarschaft (k-nearest-neighbor) e<strong>in</strong>es Benutzers<br />

für diesen e<strong>in</strong>en persönlichen Gewichtsvektor erstellt. Dieser Vektor gewichtet die<br />

e<strong>in</strong>zelnen Features bei der Abstandsberechnung zwischen diesem Benutzer <strong>und</strong> allen anderen<br />

Benutzern des Systems entsprechend ihrer Vorlieben, die durch die Features der Vektoren<br />

beschrieben werden. Die algorithmische Bestimmung dieser Gewichte erfolgt über nichtstandard<br />

Optimierungsverfahren. Es wurden e<strong>in</strong> Particle Swarm Optimization Algorithmus<br />

(PSO), e<strong>in</strong> genetischer Algorithmus (GA) <strong>in</strong> zwei Varianten <strong>und</strong> e<strong>in</strong> Invasive Weed Optimization<br />

Algorithmus (IWO) angewandt. Die Fitnessfunktion der jeweiligen <strong>Algorithmen</strong> ist das<br />

entwickelte Recommendersystem, das als mögliche Lösung e<strong>in</strong>en Gewichtsvektor übergeben<br />

bekommt <strong>und</strong> für diesen die Qualität der daraus resultierenden Empfehlungen bestimmt. E<strong>in</strong><br />

möglicher Gewichtsvektor für e<strong>in</strong>en Benutzer wird so lange optimiert, bis die daraus resultierende<br />

Nachbarschaft e<strong>in</strong>en m<strong>in</strong>imalen Schätzungsfehler (mean absolute error, MAE) zwischen<br />

echten <strong>und</strong> vorhergesagten Bewertungen dieses Benutzers ergibt.<br />

Die experimentelle <strong>und</strong> statistische Untersuchung der Verfahren hat ergeben, dass optimierte<br />

Gewichtsvektoren zur Nachbarschaftsbestimmung e<strong>in</strong>e signifikante Verbesserung der Empfehlungsqualität<br />

ergeben. Es hat sich jedoch gezeigt, dass die Wahl der Abstandsfunktion<br />

ke<strong>in</strong>e signifikante Auswirkung auf die globale Qualität der Verfahren hat, jedoch für e<strong>in</strong>en<br />

e<strong>in</strong>zelnen Benutzer durchaus stark unterschiedlich se<strong>in</strong> kann. Durch die Erweiterung der Op-<br />

103


7 Zusammenfassung der Hauptergebnisse<br />

timierungsverfahren mit Velocity Clamp<strong>in</strong>g <strong>und</strong> Intertia Weights (PSO) sowie Fitness-Shar<strong>in</strong>g<br />

(GA), konnten Verbesserungen im MAE erreicht werden. Koren et al. [39] hat gezeigt, dass<br />

selbst kle<strong>in</strong>e Verbesserungen im MAE e<strong>in</strong>e deutliche Auswirkungen auf die K<strong>und</strong>enzufriedenheit<br />

hatten. Das IWOREC Verfahren hat sich bei 10 von 20 Fällen als das beste unter vier<br />

Verfahren herausgestellt. Es wurde durch die experimentelle Untersuchung die Erkenntnis erlangt,<br />

dass die entstehende Fitnesslandschaft stark multimodal ist. Es konnte für die meisten<br />

Benutzer ke<strong>in</strong> fester Gewichtsvektor für aufe<strong>in</strong>ander folgende, unabhängige Läufe des Algorithmus<br />

gef<strong>und</strong>en werden. Die verschiedenen Gewichte ergaben jedoch zuverlässig gleiche<br />

MAE Werte.<br />

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

robuste Infrastruktur für Mehrkern-Parallelisierung bietet. Dies ermöglichte es, die Berechnung<br />

der Fitnessfunktionen nebenläufig durchzuführen, was e<strong>in</strong>en großen E<strong>in</strong>fluss auf die<br />

Laufzeiten der Verfahren hatte. Es konnte e<strong>in</strong>e bis zu 6-fache Laufzeitverbesserung auf e<strong>in</strong>em<br />

8-Kern Rechner beobachtet werden.<br />

Zusammenfassend lässt sich sagen, dass die Verwendung e<strong>in</strong>es optimierten <strong>und</strong> personalisierten<br />

Gewichtsvektor für die Berechnung der Nachbarschaft e<strong>in</strong>e signifikante Auswirkung<br />

auf die Empfehlungsqualität des Recommendersystems hat. Erweiterungen der Optimierungsverfahren<br />

ergeben weitere Verbesserungen. Jedoch konnte ke<strong>in</strong> signifikanter Unterschied<br />

zwischen den verschiedenen Optimierungsverfahren gef<strong>und</strong>en werden.<br />

Für zukünftigen Arbeiten <strong>in</strong> diesem Bereich könnte die Abbildung des Benutzerverhaltens <strong>in</strong><br />

Regelwerke <strong>und</strong> anschließende Optimierung durch e<strong>in</strong>en Genetic Programm<strong>in</strong>g-Ansatz <strong>in</strong>teressant<br />

se<strong>in</strong>. Auch die Verb<strong>in</strong>dung von Latent Factor Models mit nicht-standard Optimierungsverfahren<br />

wurde bisher noch nicht untersucht.<br />

104


Literaturverzeichnis<br />

[1] Adomavicius, G. ; Tuzhil<strong>in</strong>, A.: Toward the next generation of recommender systems: a<br />

survey of the state-of-the-art and possible extensions. In: IEEE Transactions on Knowledge<br />

and Data Eng<strong>in</strong>eer<strong>in</strong>g 17 (2005), Nr. 6, S. 734–749<br />

[2] Aggarwal, C. C. ; Wolf, J. L. ; Wu, K. ; Yu, P. S.: Hort<strong>in</strong>g Hatches an Egg: A New Graph-<br />

Theoretic Approach to Collaborative Filter<strong>in</strong>g. In: Proceed<strong>in</strong>gs of the fifth ACM SIGKDD<br />

<strong>in</strong>ternational conference on Knowledge discovery and data m<strong>in</strong><strong>in</strong>g. San Diego, California,<br />

United States : ACM, 1999, S. 201–212<br />

[3] Anderson, C. ; Franks, N. R.: Teams <strong>in</strong> animal societies. In: Behavioral Ecology 12 (2001),<br />

September, Nr. 5, S. 534–540<br />

[4] Balabanović, M. ; Shoham, Y.: Fab: content-based, collaborative recommendation. In:<br />

Communications of the ACM 40 (1997), Nr. 3, S. 66–72<br />

[5] Basu, C. ; Hirsh, H. ; Cohen, W.: Recommendation as classification: Us<strong>in</strong>g social and<br />

content-based <strong>in</strong>formation <strong>in</strong> recommendation. In: Proceed<strong>in</strong>gs of the National Conference<br />

on Artificial Intelligence Bd. pp, John Wiley & Sons LTD, 1998, S. 714–720<br />

[6] Bedi, P. ; Sharma, R. ; Kaur, H.: Recommender System Based on Collaborative Behavior<br />

of Ants. In: Journal of Artificial Intelligence 2 (2009), Nr. 2, S. 40–55<br />

[7] Belk<strong>in</strong>, N. J. ; Croft, B.: Information Filter<strong>in</strong>g and Information Retrieval: Two Sides of<br />

the Same Co<strong>in</strong>? In: Communcations to the ACM 35 (1992), Nr. 12, S. 29–38<br />

[8] Bergh, F.: An analysis of particle swarm optimizers, University of Pretoria, PhD Thesis, 2001<br />

[9] Billsus, D. ; Pazzani, M. J.: Learn<strong>in</strong>g collaborative <strong>in</strong>formation filters. In: Shavlik,<br />

Jude W. (Hrsg.): Proceed<strong>in</strong>gs of the Fifteenth International Conference on Mach<strong>in</strong>e Learn<strong>in</strong>g<br />

Bd. 54, ACM, 1998, S. 46–54<br />

[10] Billsus, D. ; Pazzani, M. J.: User Model<strong>in</strong>g for Adaptive News Access. In: User Model<strong>in</strong>g<br />

and User-Adapted Interaction 10 (2000), Nr. 2-3, S. 147–180<br />

[11] Br<strong>in</strong>, S. ; Page, L.: The anatomy of a large-scale hypertextual Web search eng<strong>in</strong>e. In:<br />

Computer networks and ISDN systems 30 (1998), Nr. 1-7, S. 107–117<br />

[12] Burke, Rob<strong>in</strong> D.: A Case-Based Reason<strong>in</strong>g Approach to Collaborative Filter<strong>in</strong>g. In:<br />

Blanzieri, Enrico (Hrsg.) ; Port<strong>in</strong>ale, Luigi (Hrsg.): EWCBR Bd. 1898, Spr<strong>in</strong>ger, 2000<br />

(Lecture Notes <strong>in</strong> Computer Science). – ISBN 3–540–67933–2, S. 370–379<br />

[13] Canny, J. F.: Collaborative Filter<strong>in</strong>g with Privacy. In: Proceed<strong>in</strong>gs of the 2002 IEEE Symposium<br />

on Security and Privacy. Berkeley, CA, USA : IEEE, 2002, S. 45–57<br />

105


Literaturverzeichnis<br />

[14] Chicker<strong>in</strong>g, D.M. ; Heckerman, D. ; Meek, C.: A Bayesian approach to learn<strong>in</strong>g Bayesian<br />

networks with local structure. In: In Proceed<strong>in</strong>gs of Thirteenth Conference on Uncerta<strong>in</strong>ty<br />

<strong>in</strong> Artificial Intelligence, Morgan Kaufmann, 1997, S. 80–89<br />

[15] Claypool, M. ; Gokhale, A. ; Miranda, T. ; Murnikov, P. ; Netes, D. ; Sart<strong>in</strong>, M.:<br />

Comb<strong>in</strong><strong>in</strong>g Content-Based and Collaborative Filters <strong>in</strong> an Onl<strong>in</strong>e Newspaper. In: Proceed<strong>in</strong>gs<br />

of ACM SIGIR Workshop on Recommender Systems. Berkeley, CA, USA : ACM,<br />

August 1999, S. 40–48<br />

[16] Clerc, M.: The swarm and the queen: towards a determ<strong>in</strong>istic and adaptive particle<br />

swarm optimization. In: Proceed<strong>in</strong>gs of the 1999 Congress on Evolutionary Computation<br />

Bd. 3. Wash<strong>in</strong>gton, DC, USA : IEEE, 1999. – ISBN 0–7803–5536–9, S. 1951–1957<br />

[17] Computer Idustry Almanac: Worldwide Internet Users Top 1.5 Billion <strong>in</strong> 2008. http:<br />

//c-i-a.com/pr0509.htm. Version: 15.12.2010<br />

[18] Condliff, M. K. ; Lewis, D. D. ; Madigan, D. ; Posse, C. ; Talaria, I.: Bayesian mixedeffects<br />

models for recommender systems. In: Conference SIGIR-99 Workshop on Recommender<br />

Systems: Algorithms and Evaluation Bd. 99, ACM, 1999, S. 20–28<br />

[19] Crep<strong>in</strong>sek, M. ; Mernik, M. ; Zumer, V.: Us<strong>in</strong>g flocks for solv<strong>in</strong>g numerical optimization<br />

problems. In: Glav<strong>in</strong>ic, Vlado (Hrsg.) ; Dobric, Vesna H. (Hrsg.) ; Simic, Diana (Hrsg.):<br />

Proceed<strong>in</strong>gs of the 24th International Conference on Information Technology Interfaces. Cavtat,<br />

Croatia : SRCE University Comput<strong>in</strong>g Centre, University of Zagreb, 2002. – ISSN 1330–<br />

1012, S. 395–400<br />

[20] Deshpande, M. ; Karypis, G.: Item-based top-n recommendation algorithms. In: ACM<br />

Transactions on Information Systems 22 (2004), Nr. 1, S. 143–177<br />

[21] Eberhart, R.C. ; Shi, Y.: Particle swarm optimization: developments, applications and<br />

resources. In: Proceed<strong>in</strong>gs of the 2001 congress on evolutionary computation Bd. 1. Piscataway,<br />

NJ, USA : IEEE, 2001, S. 81–86<br />

[22] Eiben, A. E. ; Smith, J. E.: Introduction to evolutionary comput<strong>in</strong>g. Heidelberg : Spr<strong>in</strong>ger<br />

Verlag, 2003<br />

[23] Engelbrecht, A. P.: F<strong>und</strong>amentals of computational swarm <strong>in</strong>telligence. New York : Wiley,<br />

2005<br />

[24] Gansner, E. ; Hu, Y. ; Kobourov, S. ; Vol<strong>in</strong>sky, C.: Putt<strong>in</strong>g recommendations on the<br />

map: visualiz<strong>in</strong>g clusters and relations. In: Proceed<strong>in</strong>gs of the third ACM conference on<br />

Recommender systems. New York, NY, USA : ACM, 2009, S. 345–348<br />

[25] Gantz, J. F.: Das digitale Universum - Vielfalt <strong>und</strong> rasantes Wachstum. IDC Whitepaper,<br />

2008<br />

[26] Goldberg, D. ; Nichols, D. A. ; Oki, B. M. ; Terry, D. B.: Us<strong>in</strong>g Collaborative Filter<strong>in</strong>g<br />

to Weave an Information Tapestry. In: Communications of the ACM 35 (1992), Nr. 12, S.<br />

61–70<br />

[27] Goldberg, K. ; Roeder, T. ; Gupta, D. ; Perk<strong>in</strong>s, C.: Eigentaste: A constant time collaborative<br />

filter<strong>in</strong>g algorithm. In: Information Retrieval, Spr<strong>in</strong>ger LCS 4 (2001), Nr. 2, S.<br />

133–151<br />

106


Literaturverzeichnis<br />

[28] Good, N. ; Schafer, J. B. ; Konstan, J. A. ; Borchers, A. ; Sarwar, B. ; Herlocker,<br />

J. L. ; Riedl, J.: Comb<strong>in</strong><strong>in</strong>g collaborative filter<strong>in</strong>g with personal agents for better recommendations.<br />

In: Proceed<strong>in</strong>gs of the National Conference on Artificial Intelligence Bd. pp, John<br />

Wiley & Sons LTD, 1999, S. 439–446<br />

[29] Heckerman, D. ; Breese, J. S. ; Kadie, C.: Empirical analysis of predictive algorithms<br />

for collaborative filter<strong>in</strong>g. In: Proceed<strong>in</strong>gs of the 14th Conf. on Uncerta<strong>in</strong>ty <strong>in</strong> Artificial Intelligence.<br />

Madison, WI, USA : Morgan Kaufmann, 1998, S. 43–52<br />

[30] Heppner, F ; Grenander, U: A stochastic nonl<strong>in</strong>ear model for coord<strong>in</strong>ated bird flocks.<br />

In: Krasner, E (Hrsg.): The Ubiquity of Chaos, AAAS Publications, 1990, S. 233–238<br />

[31] Herlocker, J. L. ; Konstan, J. ; Terveen, L. G. ; Riedl, J.: Evaluat<strong>in</strong>g collaborative<br />

filter<strong>in</strong>g recommender systems. In: ACM Transactions on Information Systems 22 (2004),<br />

Januar, Nr. 1, S. 5–53<br />

[32] Hill, W. ; Stead, L. ; Rosenste<strong>in</strong>, M. ; Furnas, G.: Recommend<strong>in</strong>g and evaluat<strong>in</strong>g choices<br />

<strong>in</strong> a virtual community of use. In: Proceed<strong>in</strong>gs of the SIGCHI conference on Human factors<br />

<strong>in</strong> comput<strong>in</strong>g systems Bd. pp. Denver, Colorado, United States : ACM Press/Addison-<br />

Wesley Publish<strong>in</strong>g Co., 1995, S. 194–201<br />

[33] Hofmann, T.: Collaborative filter<strong>in</strong>g via gaussian probabilistic latent semantic analysis.<br />

In: International ACM SIGIR Conference on Research and Development <strong>in</strong> Information Retrieval.<br />

Toronto : ACM, 2003. – ISBN 1–58113–646–3, S. 259–266<br />

[34] Hofmann, T.: Latent semantic models for collaborative filter<strong>in</strong>g. In: ACM Transactions<br />

on Information Systems 22 (2004), Nr. 1, S. 89–115<br />

[35] Karimkashi, S. ; Kishk, A. A.: Antenna array synthesis us<strong>in</strong>g Invasive Weed Optimization:<br />

A new optimization technique <strong>in</strong> electromagnetics. In: 2009 IEEE Antennas and<br />

Propagation Society International Symposium. Charleston, SC , USA : IEEE, 2009. – ISBN<br />

978–1–4244–3647–7, S. 1–4<br />

[36] Kennedy, James ; Eberhart, Russell C.: Swarm <strong>in</strong>telligence. San Francisco, CA, USA :<br />

Morgan Kaufmann Publishers Inc., 2001. – ISBN 1–55860–595–9<br />

[37] Konstan, J. A. ; Miller, B. N. ; Maltz, D. ; Herlocker, J. L. ; Gordon, L. R. ; Riedl, J.:<br />

GroupLens: Apply<strong>in</strong>g Collaborative Filter<strong>in</strong>g to Usenet News. In: Communications of the<br />

ACM 40 (1997), Nr. 3, S. 77–87<br />

[38] Koren, Y.: The BellKor Solution to the Netflix Grand Prize. http://www.stat.osu.edu/<br />

~dmsl/GrandPrize2009_BPC_BellKor.pdf. Version: 15.04.2010<br />

[39] Koren, Y.: Factorization meets the neighborhood: a multifaceted collaborative filter<strong>in</strong>g<br />

model. In: Proceed<strong>in</strong>g of the 14th ACM SIGKDD <strong>in</strong>ternational conference on Knowledge discovery<br />

and data m<strong>in</strong><strong>in</strong>g. Las Vegas, Nevada, USA : ACM, 2008, S. 426–434<br />

[40] Koren, Y.: Collaborative filter<strong>in</strong>g with temporal dynamics. In: Proceed<strong>in</strong>gs of the 15th<br />

ACM SIGKDD <strong>in</strong>ternational conference on Knowledge discovery and data m<strong>in</strong><strong>in</strong>g. New York,<br />

New York, USA : ACM, 2009. – ISBN 9781605584959, S. 447–456<br />

[41] Koren, Y. ; Bell, R. ; Vol<strong>in</strong>sky, C.: Matrix factorization for Recommender Systems. In:<br />

IEEE Computer 42 (2009), Nr. 8, S. 30–37<br />

107


Literaturverzeichnis<br />

[42] Kraus, J. M. ; Kestler, H. A.: Multi-core parallelization <strong>in</strong> Clojure: a case study. In:<br />

Proceed<strong>in</strong>gs of the 6th European Lisp Workshop. Genova, Italy : ACM, 2009, S. 8–17<br />

[43] Kumar, R. ; Raghavan, P. ; Rajagopalan, S. ; Tomk<strong>in</strong>s, A.: Recommendation systems:<br />

A probabilistic analysis. In: Proceed<strong>in</strong>gs of the 39th Annual Symposium on Fo<strong>und</strong>ations of<br />

Computer Science 63 (1998), Nr. 1, S. 664–673<br />

[44] Lam, S. K. ; Frankowski, D. ; Riedl, J.: Do You Trust Your Recommendations? An Exploration<br />

of Security and Privacy Issues <strong>in</strong> Recommender Systems. In: Müller, Günter<br />

(Hrsg.): Emerg<strong>in</strong>g Trends <strong>in</strong> Information and Communication Security, International Conference.<br />

Freiburg, Germany : Spr<strong>in</strong>ger, 2006, S. 14–29<br />

[45] Lam, S. K. ; Riedl, J.: Shill<strong>in</strong>g recommender systems for fun and profit. In: Feldman,<br />

Stuart I. (Hrsg.) ; Uretsky, Mike (Hrsg.) ; Najork, Marc (Hrsg.) ; Wills, Craig E. (Hrsg.):<br />

Proceed<strong>in</strong>gs of the 13th <strong>in</strong>ternational conference on World Wide Web. New York, NY, USA :<br />

ACM, 2004. – ISBN 1–58113–844–X, S. 393–402<br />

[46] Lang, K.: Newsweeder: Learn<strong>in</strong>g to filter netnews. In: Prieditis, Armand (Hrsg.) ;<br />

Russell, Stuart J. (Hrsg.): In Proceed<strong>in</strong>gs of the Twelfth International Conference on Mach<strong>in</strong>e<br />

Learn<strong>in</strong>g. Tahoe City, California, USA : Morgan Kaufmann, 1995, S. 331–339<br />

[47] Littlestone, N. ; Warmuth, MK: The weighted majority algorithm. In: 30th Annual<br />

Symposium on Fo<strong>und</strong>ations of Computer Science, 1989 108 (1994), Nr. 2, S. 256–261<br />

[48] Lorenzi, F. ; Scherer Dos Santos, D. ; Bazzan, A. L. C.: Case-based recommender<br />

system <strong>in</strong>spired by social <strong>in</strong>sects. In: Proceed<strong>in</strong>g of the 15th Congresso da Sociedade Brasileira<br />

de Computação. Sao Leopoldo : Unis<strong>in</strong>os, 2005, S. 752–760<br />

[49] Marl<strong>in</strong>, B.: Model<strong>in</strong>g User Rat<strong>in</strong>g Profiles For Collaborative Filter<strong>in</strong>g. In: Thrun, Sebastian<br />

(Hrsg.) ; Saul, Lawrence K. (Hrsg.) ; Schölkopf, Bernhard (Hrsg.): Advances <strong>in</strong><br />

Neural Information Process<strong>in</strong>g Systems. Vancouver and Whistler, British Columbia : MIT<br />

Press, 2003. – ISBN 0–262–20152–6, S. 40–48<br />

[50] Matsumoto, M. ; Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed<br />

uniform pseudo-random number generator. In: ACM Transactions on Model<strong>in</strong>g and<br />

Computer Simulation 8 (1998), Januar, Nr. 1, S. 3–30. – ISSN 10493301<br />

[51] Mehrabian, A. ; Lucas, C.: A novel numerical optimization algorithm <strong>in</strong>spired from<br />

weed colonization. In: Ecological Informatics 1 (2006), Nr. 4, S. 355–366. – ISSN 15749541<br />

[52] Mehta, B. ; Hofmann, T. ; Nejdl, W.: Robust collaborative filter<strong>in</strong>g. In: Proceed<strong>in</strong>gs of the<br />

2007 ACM conference on Recommender systems. M<strong>in</strong>neapolis, MN, USA : ACM, 2007, S. 56<br />

[53] Miller, B. N. ; Konstan, J. A. ; Riedl, J.: Pocketlens: Toward a personal recommender<br />

system. In: ACM Transactions on Information Systems 22 (2004), Nr. 3, S. 437–476<br />

[54] Mooney, R. J. ; Roy, L.: Content-based book recommend<strong>in</strong>g us<strong>in</strong>g learn<strong>in</strong>g for text<br />

categorization. In: Proceed<strong>in</strong>gs of the fifth ACM conference on Digital libraries, ACM New<br />

York, NY, USA, 2000, S. 195–204<br />

[55] Pavlov, D. Y. ; Pennock, D. M.: A Maximum Entropy Approach To Collaborative Filter<strong>in</strong>g<br />

<strong>in</strong> Dynamic, Sparse, High-Dimensional Doma<strong>in</strong>s. In: Becker, Suzanna (Hrsg.)<br />

108


Literaturverzeichnis<br />

; Thrun, Sebastian (Hrsg.) ; Obermayer, Klaus (Hrsg.): Advances <strong>in</strong> Neural Information<br />

Process<strong>in</strong>g Systems. Vancouver, British Columbia : MIT Press, 2003, S. 1441–1448<br />

[56] Pazzani, M. J.: A Framework for Collaborative, Content-Based and Demographic Filter<strong>in</strong>g.<br />

In: Artificial Intelligence Review 13 (1999), Nr. 5-6, S. 393–408<br />

[57] Pazzani, M. J. ; Billsus, D.: Learn<strong>in</strong>g and Revis<strong>in</strong>g User Profiles: The Identification of<br />

Interest<strong>in</strong>g Web Sites. In: Mach<strong>in</strong>e Learn<strong>in</strong>g 27 (1997), Nr. 3, S. 313–331<br />

[58] Kapitel 10. In: Pazzani, M. J. ; Billsus, D.: Content-Based Recommendation Systems. Berl<strong>in</strong><br />

/ Heidelberg : Spr<strong>in</strong>ger, 2007. – ISBN 978–3–540–72078–2, S. 325 – 341<br />

[59] Resnick, P. ; Iacovou, N. ; Suchak, M. ; Bergstrom, P. ; Riedl, J.: GroupLens: An<br />

open architecture for collaborative filter<strong>in</strong>g of netnews. In: Proceed<strong>in</strong>gs of the 1994 ACM<br />

conference on Computer supported cooperative work Bd. pp. New York, NY, USA : ACM,<br />

1994, S. 175–186<br />

[60] Resnick, P. ; Varian, H. R.: Recommender systems. In: Communications of the ACM 40<br />

(1997), März, Nr. 3, S. 56–58<br />

[61] Reynolds, C.: Flocks, Herds, and Schools: A Distributed Behavioral Model. In: Stone,<br />

Maureen C. (Hrsg.): Proceed<strong>in</strong>gs of the 14th annual conference on Computer graphics and<br />

<strong>in</strong>teractive techniques. New York, NY, USA : ACM, 1987, S. 25–34<br />

[62] Kapitel 3. In: Rocchio, J. J.: Relevance feedback <strong>in</strong> <strong>in</strong>formation retrieval. Englewood, Cliffs,<br />

New Jersey : Prentice Hall, 1971, S. 313–323<br />

[63] Sahraei-Ardakani, M. ; Roshanaei, M. ; Rahimi-Kian, A. ; Lucas, C.: A study of<br />

electricity market dynamics us<strong>in</strong>g Invasive Weed Colonization Optimization. In: IEEE<br />

Symposium On Computational Intelligence and Games. Perth, Australia : IEEE Computer<br />

Society, 2008, S. 276–282<br />

[64] Saiwaki, Naoki ; Komatsu, Toshiaki ; Nishida, Shogo: Automatic Generation of Mov<strong>in</strong>g<br />

Crowds <strong>in</strong> the Virtual Environment. In: Nishio, Shojiro (Hrsg.) ; Kish<strong>in</strong>o, Fumio (Hrsg.):<br />

AMCP Bd. 1554, Spr<strong>in</strong>ger, 1998 (Lecture Notes <strong>in</strong> Computer Science). – ISBN 3–540–<br />

65762–2, S. 422–432<br />

[65] Salton, G.: Automatic Text Process<strong>in</strong>g: The Transformation, Analysis, and Retrieval of Information<br />

by Computer. Boston, MA, USA : Addison-Wesley, 1989. – 530 S. – ISBN<br />

0–201–12227–8<br />

[66] Sarwar, B. ; Karypis, G. ; Konstan, J. ; Reidl, J.: Item-based collaborative filter<strong>in</strong>g<br />

recommendation algorithms. In: Proceed<strong>in</strong>gs of the tenth <strong>in</strong>ternational conference on World<br />

Wide Web. New York, NY, USA : ACM Press, 2001, S. 285–295<br />

[67] Schwaighofer, A. ; Tresp, V. ; Kriegel, H.: Probabilistic memory-based collaborative<br />

filter<strong>in</strong>g. In: IEEE Transactions on Knowledge and Data Eng<strong>in</strong>eer<strong>in</strong>g 16 (2004), Januar, Nr. 1,<br />

S. 56–69. – ISSN 1041–4347<br />

[68] Segaran, T.: Programm<strong>in</strong>g collective <strong>in</strong>telligence. O’Reilly, 2007. – 368 S. – ISBN<br />

9780596529321<br />

109


Literaturverzeichnis<br />

[69] Sepehri Rad, H. ; Lucas, C.: A recommender system based on <strong>in</strong>vasive weed optimization<br />

algorithm. In: Proceed<strong>in</strong>gs of the IEEE Congress on Evolutionary Computation, S<strong>in</strong>gapore<br />

(2007), S. 4297–4304<br />

[70] Shani, G. ; Heckerman, D. ; Brafman, R.I.: An MDP-based recommender system. In:<br />

Journal of Mach<strong>in</strong>e Learn<strong>in</strong>g Research 6 (2006), Nr. 2, S. 1265<br />

[71] Shardanand, U. ; Maes, P.: Social <strong>in</strong>formation filter<strong>in</strong>g: algorithms for automat<strong>in</strong>g<br />

“word of mouth”. In: Proceed<strong>in</strong>gs of the SIGCHI conference on Human factors <strong>in</strong> comput<strong>in</strong>g<br />

systems, ACM Press/Addison-Wesley Publish<strong>in</strong>g Co., 1995, S. 210–217<br />

[72] Soboroff, I. M. ; Nicholas, C. K.: Comb<strong>in</strong><strong>in</strong>g content and collaboration <strong>in</strong> text filter<strong>in</strong>g.<br />

In: Proceed<strong>in</strong>gs of the IJCAI’99 Workshop on Mach<strong>in</strong>e Learn<strong>in</strong>g for Information Filter<strong>in</strong>g Bd. 99,<br />

1999, S. 86–91<br />

[73] Stephens, K. ; Pham, B. ; Wardhani, A.: Modell<strong>in</strong>g fish behaviour. In: Adcock, Matt<br />

(Hrsg.) ; Gwilt, Ian (Hrsg.) ; Tsui, Lee Y. (Hrsg.): Proceed<strong>in</strong>gs of the 1st <strong>in</strong>ternational conference<br />

on Computer graphics and <strong>in</strong>teractive techniques <strong>in</strong> Australasia and South East Asia. New<br />

York, NY, USA : ACM, 2003, S. 71–78<br />

[74] Ujj<strong>in</strong>, S. ; Bentley, P. J.: Learn<strong>in</strong>g User Preferences Us<strong>in</strong>g Evolution. In: Proceed<strong>in</strong>gs of<br />

the 4th Asia-Pacific Conference on Simulated Evolution And Learn<strong>in</strong>g (SEAL 2002). S<strong>in</strong>gapore<br />

: Spr<strong>in</strong>ger, 2002, S. 6–10<br />

[75] Ujj<strong>in</strong>, S. ; Bentley, P. J.: Particle swarm optimization recommender system. In: Shi, Yuhui<br />

(Hrsg.) ; Eberhart, Russell C. (Hrsg.): Proceed<strong>in</strong>gs of the 2003 IEEE Swarm Intelligence<br />

Symposium. SIS’03. Indianapolis, Indiana, USA : IEEE, 2003. – ISBN 0–7803–7914–4, S.<br />

124–131<br />

[76] Ungar, L. H. ; Foster, D. P.: Cluster<strong>in</strong>g methods for collaborative filter<strong>in</strong>g. In: AAAI<br />

Workshop on Recommendation Systems Bd. pp, AAAI Press, 1998, S. 112–125<br />

[77] Zafra, A. ; Romero, C. ; Ventura, S. ; Herrera-Viedma, E.: Multi-<strong>in</strong>stance genetic<br />

programm<strong>in</strong>g for web <strong>in</strong>dex recommendation. In: Expert Systems with Applications 36<br />

(2009), November, Nr. 9, S. 11470–11479. http://dx.doi.org/10.1016/j.eswa.<br />

2009.03.059. – DOI 10.1016/j.eswa.2009.03.059. – ISSN 09574174<br />

[78] Zaier, Z. ; God<strong>in</strong>, R. ; Faucher, L.: Recommendation Quality Evolution Based on Neighborhood<br />

Size. In: Third International Conference on Automated Production of Cross Media<br />

Content for Multi-Channel Distribution. AXMEDIS ’07. Barcelona, Spa<strong>in</strong> : IEEE Computer<br />

Society, 2007, S. 33–36<br />

[79] Zaier, Z. ; God<strong>in</strong>, R. ; Faucher, L.: Evaluat<strong>in</strong>g Recommender Systems. In: Nesi, Paolo<br />

(Hrsg.) ; Ng, Kia (Hrsg.) ; Delgado, Jaime (Hrsg.): International Conference on Automated<br />

Solutions for Cross Media Content and Multi-Channel Distribution. Florence, Italy : IEEE,<br />

2008, S. 211–217<br />

[80] Zhang, T. ; Iyengar, V. S.: Recommender Systems Us<strong>in</strong>g L<strong>in</strong>ear Classifier. In: Journal of<br />

Mach<strong>in</strong>e Learn<strong>in</strong>g Research 2 (2002), Nr. 1, S. 313–334<br />

[81] Zhang, X. ; Wang, Y. ; Cui, G.: SIWO: A Hybrid Algorithm Comb<strong>in</strong>ed with the Conventional<br />

SCE and Novel IWO. In: Journal of Computational and Theoretical Nanoscience 4<br />

(2007), Nr. 7-8, S. 1316–1323<br />

110


Name: Matthias Schneider Matrikelnummer: 517082<br />

Erklärung<br />

Ich erkläre, dass ich die Arbeit selbständig verfasst <strong>und</strong> ke<strong>in</strong>e anderen als die angegebenen<br />

Quellen <strong>und</strong> Hilfsmittel verwendet habe.<br />

Ulm, den . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

Matthias Schneider

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!