Visualisierung

Die nachfolgenden Grafiken zeigen auf, wie sich die Gewichte im Verlauf des Trainings anpassen und wie sich der Fehler verändert. Der Algorithmus wählt jeweils zufällig einen Film aus und passt die Gewichte bei einer falschen Zuordnung an. Über diesen Link kann eine interaktive Google-Tabelle zum Ausprobieren geöffnet werden.

Abb. 9: Visualisierung der Gewichte während des Trainings für Kim

Kim mag nur Filme, die Action oder Comedy enthalten.

Dem Perzeptron musste in diesem Trainingsbeispiel etwa 12 mal ein anderer Film gezeigt werden, bis es keine Fehler mehr bei der Zuordnung machte. In der Grafik links sieht man, wie der Bias zwei mal den Wert 1 einnimmt, um am Schluss wieder zurück zum Wert 0 zu finden, während beide Gewichte am Ende 1 betragen. Ab dieser Stelle verändern sich die Gewichte nicht mehr, da nun alle vier Filmvarianten richtig zugeordnet werden.

Abb. 10: Visualisierung der Gewichte während des Trainings für Maria

Maria mag lediglich Action-Komödien.

Diese Kombination ist für unser Perzeptron etwas schwieriger zu lernen. Nach etwa 22 Filmen macht es keine Fehler mehr bei der Zuordnung. Die Werte betragen ab diesem Zeitpunkt:

  • Gewicht 1: 1

  • Gewicht 2: 2

  • Bias: –2

Abb. 11: Visualisierung der Gewichte während des Trainings für Amir

Amir mag genau das Gegenteil von Kim. Filme, die lustig oder actionhaltig sind, haben bei ihm einen schweren Stand. Ob er Horrorfilme und Romanzen genauso mag, wissen wir leider aufgrund seiner Entscheidung nicht.

Wir sehen aber, dass unser Perzeptron seinen Geschmack bezüglich unserer Kriterien nach etwa 15 Filmen korrekt zuordnet. Damit bei allen vier Kategorien der Fehler 0 betragen kann, müssen für Amir beide Gewichte auf den Wert –1 und der Bias 1 eingestellt sein.

Abb. 12: Visualisierung der Gewichte während des Trainings für Sara

Sara hat einen ganz eigensinnigen Geschmack. Sie mag zwar reine Actionfilme oder reine Komödien. Actionkomödien sind ihr aber zuwider. Auch alle anderen Genres gefallen ihr nicht.

Dies ist nicht nur für uns schwer nachzuvollziehen. Auch das Perzeptron kann bei dieser Kombination keine korrekte Zuordnung vornehmen. Der Fehler schwankt immer zwischen –1 und 1 hin und her und verursacht eine nie endende Veränderung der Gewichte.

Abb. 13: Visualisierung der Gewichte während des Trainings für Anna

Anna mag keine actionhaltigen Filme.

Für diese Kombination benötigt das Perzeptron etwa 12 zufällig gewählte Filmbeispiele, bis es keine Fehler mehr bei den Zuordnungen macht.

Abb. 14: Visualisierung der Gewichte während des Trainings für Leon

Leon mag lustige Filme, also reine Komödien oder Action-Komödien.

Das Perzeptron benötigt auch für diese Kombination etwa 12 zufällig ausgewählte Filmbeispiele, bis es keine Fehler mehr bei den Zuordnungen macht.

Die Anzahl Filme, die gezeigt werden müssen, um die Gewichte so anzupassen, damit alle Filme korrekt zugeordnet werden, kann variieren, da die Auswahl der Filme in jeder Runde zufällig ist.

Zum Weiterdenken

Du hast nun gesehen, was mathematisch passiert, wenn ein Perzeptron trainiert wird. Für unsere Übung mussten wir allerdings einige Vereinfachungen in Kauf nehmen. Die grösste Vereinfachung betrifft die Anzahl Filmklassen. Damit wir unser Perzeptron von Hand trainieren konnten, reduzierten wir zu Beginn die Anzahl Filmeigenschaften auf die zwei Genres und wir legten fest, dass ein Film entweder 100% oder 0% in ein Genre passt.

Abb. 15: Visualisierung des Trainings mit drei Inputs

Abbildung 15 soll veranschaulichen, weshalb wir uns für diese starke Vereinfachung entschieden. Wenn wir die Gewichte von Hand verändern möchten, dann kann es sein, dass unser Perzeptron mit diesem Lernverfahren bereits 60 Gewichtsanpassungen braucht, um das Modell auf die Trainingsdaten anzupassen. Dafür hätten wir eine dritte Filmeigenschaft einbringen können, zum Beispiel

Filmalter < 10 Jahre

Ein weiteres Problem unserer Vereinfachung ist die Überanpassung. So wie wir unsere Filmeigenschaften vereinfachten, macht unser trainiertes Modell zwar keine Fehler mehr bei der Einordnung der Trainingsdaten. Wenn wir das Modell aber benutzen möchten, um uns Filme vorzuschlagen, kann es dies nur aufgrund der beiden Genre-Einteilungen Action und Comedy. Es gäbe jedoch tausende weitere Möglichkeiten, die Filme zu klassifizieren.

A12Welche Filmeigenschaften haben dir gefehlt bei der Klassifizierung? Wie würdest du die Filme klassifizieren, damit möglichst vielen Personen hauptsächlich jene Filme angezeigt werden, die ihnen gefallen?

Wie bereits erwähnt, basieren die Empfehlungen auf Netflix, Spotify oder TikTok nicht (nur) auf den Filmeigenschaften, sondern auf dem Klickverhalten anderer Benutzer*innen. Wenn du noch keine Inahlte konsumiert hast, wirst du in eine allgemeine Geschmackgruppe eingeteilt. Wenn du nun einen Film oder eine Serie anklickst, bzw. fertigschaust, wird dein Klickverhalten mit den tausenden anderen Gruppen verglichen und wenn der Algorithmus eine Gruppe findet, in welche du besser passt, wirst du in diese versetzt. Das heisst, dir werden beim nächsten Mal die Inhalte der neuen Gruppe angezeigt.

Streng genommen handelt es sich bei dem Verfahren, das wir hier kennenlernten gar nicht um maschinelles Lernen, da unser Modell nach der Trainingseinheit das Gelernte nicht verallgemeinern kann. Wenn wir die Anpassung der Gewichte dem Computer überlassen, können wir jedoch auch etwas komplexere Modelle trainieren. Zum Beispiel für die Bilderkennung.